Monday 18 October 2010

Building a Document Management System with Sharepoint 2010 - Part 4 - User Interfaces for DMS-Clients ( Menu Items )

In a Document Management System the client-side is one of the cores of the infrastructure. We want the users to perform operations in our system, but that is not an easy task. We have to be aware that some users are  qualify when they use new technologies, but another ones do not really care about or simply they do not have time to learn it. For this reason we have to find the right approach for every single user profile, at the end of the day, if users are happy with the system and they find it quick and easy to use, we have the job almost done.

In this chapter I am going to talk about how to define, program and deploy "Menu Items" in Sharepoint 2010. Menu Items are custom actions incorporated into the built-in Sharepoint 2010 user interface. As examples, the Site actions menu is built from a number of built-in, context-sensitive actions that appear as menu item links.

Sample of Menu Items:

A menu item is a basic XML document inside of the XML element file. This is attached into a feature and it can be deployed with Visual Studio 2010. 

Sample of an elements.xml (Click in the code to make it bigger)


As you can see the element "CustomAction" is the one who takes control of the Menu Item, so It is very important to understand what we can do with it before going to the our little example. This is how basically we can extend our menu item:


  RequiredAdmin = "Delegated | Farm | Machine"
  ControlAssembly = "Text"
  ControlClass = "Text"
  ControlSrc = "Text"
  Description = "Text"
  FeatureId = "Text"
  GroupId = "Text"
  Id = "Text"
  ImageUrl = "Text"
  Location = "Text"
  RegistrationId = "Text"
  RegistrationType = "Text"
  RequireSiteAdministrator = "TRUE" | "FALSE"
  Rights = "Text"
  RootWebOnly = "TRUE" | "FALSE"
  ScriptSrc = "Text"
  ScriptBlock = "Text"
  Sequence = "Integer"
  ShowInLists = "TRUE" | "FALSE"
  ShowInReadOnlyContentTypes = "TRUE" | "FALSE"
  ShowInSealedContentTypes = "TRUE" | "FALSE"
  Title = "Text"
  UIVersion = "Integer">

For more information about every single CustomAction field, go to the Microsoft Website , Click here.

Let's go to start building a Menu Item. This Menu Item will be displayed under "Site Actions" and the main mission of this link will be related with the use of the current DMS site. It will basically display the list of the Top users who have been using our DMS site. This information will be very useful for secretaries who are dealing with documents all the time and need to know who has been accessing to the DMS, date + time.

The new menu it should look like this, as you can see there is a new item called "Top DMS Users":

When you click on "Top DMS Users" this screen should be displayed:


1- Open Visual Studio 2010.

2- File -> New -> Project -> Sharepoint -> 2010 -> Empty Project.

3- On the name text box type TopDMSUsers and click enter.

4- Deploy as a farm solution, and point the new project where you want to add the menu item.

5- On teh emty project Add->New Item->Empty Element and call it TopDMSUsers_Feature.

6- On the project, go to Elements.xml and add this code. (Click in the image if you can not see it properly)

8- This is how the Solution Explorer should look like:


9- Build and Deploy.

10- If you go to "Site Actions" you should be able to see the new Item.

Tips
Menu Items are deployed with features, so as soon as you deactivate the feature the Menu Item will disappear from the menu.

Conclusion
This small exercise has showed us how far we can go with the Sharepoint User Interface customization. In the next chapter we will learn how to interact with another members of the user interface.

18 comments:

Anonymous said...

This design is wicked! You most certainly know how to keep a reader
amused. Between your wit and your videos, I was almost moved to start my own blog (well,
almost...HaHa!) Fantastic job. I really enjoyed what you had to
say, and more than that, how you presented it. Too cool!

my blog; build my muscle now

Anonymous said...

I'm gone to tell my little brother, that he should also pay a visit this blog on regular basis to obtain updated from most recent reports.

Feel free to surf to my site ... sytropin reviews

Anonymous said...

I am really enjoying the theme/design of your site.
Do you ever run into any internet browser compatibility problems?
A handful of my blog audience have complained about my site not operating correctly in Explorer but looks great in Opera.
Do you have any advice to help fix this problem?

Look at my blog post - Lean muscle x review

Anonymous said...

Hi! Quick question that's entirely off topic. Do you know how to make your site mobile friendly? My web site looks weird when viewing from my iphone. I'm trying to find a template or plugin that might be able to fix
this problem. If you have any suggestions,
please share. Thank you!

My web site: top stinger design partners

Anonymous said...

This piece of writing will assist the internet people for setting
up new webpage or even a weblog from start to end.



my page - Dermajuvinate review

Anonymous said...

Wow! Finally I got a weblog from where I be able
to really obtain valuable information concerning my study and knowledge.


Also visit my blog post ... TruVisage Reviews

Anonymous said...

Hello, Neat post. There is a problem with your site in
internet explorer, would test this? IE nonetheless
is the market leader and a large component of people will leave out your wonderful writing because of this problem.



my blog post :: Rvtl Skin Care

Anonymous said...

fantastic post, very informative. I'm wondering why the opposite specialists of this sector don't
realize this. You must continue your writing.

I am sure, you have a great readers' base already!

Also visit my blog post Anatomy X5

Anonymous said...

Keep on writing, great job!

my weblog: http://mitoslimblog.net/

Anonymous said...

Appreciation to my father who informed me concerning this webpage,
this webpage is really remarkable.

Also visit my website: payday loans 1000

Anonymous said...

Hello just wanted to give you a quick heads up and let you know a few of the pictures
aren't loading correctly. I'm not sure why but I think its
a linking issue. I've tried it in two different web browsers and both show the same results.

my blog :: 1285muscle review

Anonymous said...

Definitely believe that which you said. Your favorite
reason appeared to be on the web the simplest thing to be aware of.

I say to you, I definitely get irked while people think about worries that they plainly don't know about. You managed to hit the nail upon the top and defined out the whole thing without having side-effects , people could take a signal. Will probably be back to get more. Thanks

Feel free to visit my web site; golf digest subscription service

Unknown said...



Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.








Document Management System

Anonymous said...

You're so interesting! I don't believe I've truly read through a
single thing like that before. So wonderful
to find somebody with unique thoughts on this issue. Seriously..

thanks for starting this up. This web site is one thing that is needed on the internet, someone with
a bit of originality!

my webpage: Christian Louboutin Discount

Anonymous said...

Amazing issues here. I am very glad to look your article.
Thank you a lot and I am having a look ahead to touch you.
Will you please drop me a mail?

Feel free to visit my web site GHD Straightener

Anonymous said...

Pretty! This has been an extremely wonderful article. Thank you for providing these details.


Take a look at my homepage :: muscle building workout schedule

Anonymous said...

Do you have a spam issue on this blog; I also am a blogger, and I was curious about your situation;
many of us have created some nice methods and we are looking to trade strategies with other
folks, why not shoot me an e-mail if interested.



Look into my web blog film semi korea

Unknown said...

longchamp, iphone 5s cases, hollister, ferragamo shoes, herve leger, jimmy choo shoes, giuseppe zanotti, north face outlet, vans shoes, mont blanc, nike huarache, celine handbags, iphone cases, iphone 6s cases, nike trainers, lululemon, louboutin, ralph lauren, iphone 6 cases, babyliss, s5 cases, hollister, north face outlet, nfl jerseys, bottega veneta, soccer shoes, oakley, baseball bats, abercrombie and fitch, ghd, chi flat iron, valentino shoes, beats by dre, asics running shoes, wedding dresses, reebok shoes, timberland boots, ipad cases, mac cosmetics, mcm handbags, nike roshe, nike air max, insanity workout, iphone 6s plus cases, birkin bag, p90x workout, hollister, instyler, iphone 6 plus cases, soccer jerseys, new balance