Wednesday, February 18, 2015

Better SharePoint Content Authoring:: Improving Navigation To Lists/Libraries

Once again, I’ll start with a Picture that represents the purpose of this Post. As you can imagine, I try to make it easy for my content authors to Navigate to different lists and libraries where the user is supposed to navigate to manage the content.

image

Sure you can ask the users to go to “View All Site Content” or access some of these links for “Site Settings” but you are able to save thousands of clicks over a period of time by making these links available in “Site Actions” menu. They don’t have to remember to go to “All Site Content” to manage lists and “Site Settings” to manage the term store or the navigation. That’s very inconvenient for my content authors.

Doing this is actual simple. All you need to do is:

1. Understand that the Site Actions can be extended programmatically and declaratively. I’ll talk about declarative extension in this post. You can get a fair idea about what you can do by observing how SharePoint is doing it. And those customizations can be found here

image

2. You can have your own customizations by putting your entries into Master Page Gallery –> Editing Menu –> CustomSiteAction.xml

For some of above customizations, the content of CustomSiteAction.xml in master page gallery would look like this:

<?xml version="1.0" encoding="utf-8" ?>
<Console>
  <references>
    <reference TagPrefix="cms"
      assembly="Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
      namespace="Microsoft.SharePoint.Publishing.WebControls.EditingMenuActions" />
 
  </references>
  <structure>
 
   
 
    <ConsoleNode
       DisplayText="Ashish's Extended Menu"
       Description="Helps you navigate to different areas of the site."
       UseResourceFile="false"
       MenuGroupId="310"
       Sequence="211"
       ImageUrl="/_layouts/images/ActionsSettings.gif"
       UserRights="BrowseDirectories|ManagePermissions|ManageWeb|ManageSubwebs|AddAndCustomizePages|ApplyThemeAndBorder|ManageAlerts|ManageLists|ViewUsageData"
       RequiredRightsMode="Any"
       PermissionContext="CurrentSite"
       NavigateUrl="javascript:"
       UIVersion="4"
       ID="ASHISH_Manage">
      <ConsoleNode NavigateUrl="_layouts/AreaNavigationSettings.aspx"
           DisplayText="Quick Launch Links"
           Description="Manage Quick Launch Area Links"
           PermissionContext="CurrentSite"
           UseResourceFile="false"
           IsSiteRelative="true"
           ImageUrl="/_layouts/images/ActionsSettings.gif"
           ID="NavSettings"
           MenuGroupId="310"
           Sequence="101"
           UserRights="ManagePermissions|ManageWeb|ManageSubwebs|AddAndCustomizePages|ApplyThemeAndBorder|ManageAlerts|ManageLists|ViewUsageData"
           RequiredRightsMode="Any"/>
      <ConsoleNode NavigateUrl="PublishingImages/Forms/Thumbnails.aspx"
          DisplayText="Images"
          Description="Takes you to images library"
          PermissionContext="CurrentSite"
          UseResourceFile="false"
          IsSiteRelative="true"
          ImageUrl="/_layouts/images/ital.png"
          ID="BrowseImages"
          MenuGroupId="310"
          Sequence="102"
          UserRights="AddListItems|EditListItems"
          RequiredRightsMode="Any"/>
      <ConsoleNode NavigateUrl="Lists/faqs"
             DisplayText="Frequently Asked Querstions"
             Description="Manage FAQs displayed on the site."
             PermissionContext="CurrentSite"
             UseResourceFile="false"
             IsSiteRelative="true"
             ImageUrl="/_layouts/images/itgen.png"
             ID="BrowseFAQS"
             MenuGroupId="310"
             Sequence="103"
             UserRights="AddListItems|EditListItems"
             RequiredRightsMode="Any"/>
      <ConsoleNode NavigateUrl="Lists/Announcements"
         DisplayText="Announcements"
         Description="Manage Announcements Displayed on the site."
         PermissionContext="CurrentSite"
         UseResourceFile="false"
         IsSiteRelative="true"
         ImageUrl="/_layouts/images/announce.gif"
         ID="BrowseAnnouncements"
         MenuGroupId="310"
         Sequence="104"
         UserRights="AddListItems|EditListItems"
         RequiredRightsMode="Any"/>
      
      <ConsoleNode NavigateUrl="Pages/Forms/AllItems.aspx"
            DisplayText="Pages"
            Description="Takes you to pages library"
            PermissionContext="CurrentSite"
            UseResourceFile="false"
            IsSiteRelative="true"
            ImageUrl="/_layouts/images/itdl.png"
            ID="BrowsePages"
            MenuGroupId="310"
            Sequence="106"
            UserRights="AddListItems|EditListItems"
            RequiredRightsMode="Any"/>
 
 
    </ConsoleNode>
 
  </structure>
 
</Console>




Note that you can show/hide these links based on the permissions. I think this is a great way to make a difference in life of your SharePoint content authors.




No comments:

Post a Comment