Search This Blog

Thursday, October 16, 2014

SharePoint Master page

  1. v4.master - This is default master page
  2. Default. Master - this is used to support the 2007 user interface
  3. Minimal. Master
  4. Simple. Master- it is used for accessdenied.aspx, confirmation.aspx, error.aspx, login.aspx, reqacc.aspx, signout.aspx & webdeleted.aspx pages
V4.master
1.     Default master page for most non-publishing sites in SharePoint 2010.
2.     Also Default Master page SharePoint Foundation and SharePoint Server.
Default.master: Helpful from upgrading MOSS 2007 sites to SharePoint 2010 sites.
Minimal.master: page is best suited for pages with minimal branding and navigation. The minimal.master is used with search pages and Office web applications.
Simple.master: Master page used for error and login pages. It lives in the fi le system and is not available in the master page gallery.
MWSDefaultv4.master: Found in the master page gallery of meeting workspace sites.
Nightandday.master: page contains controls specialized for publishing web content management.

V4.master:
Default. Master: 
1.     Default team site master page. Provides ribbon bar and other UI changes.
1.     Sites upgraded from SharePoint 2007 use this unless they are changed to use a v4 version.
2.     Site actions are updated for 2010 and appear on left.
  1. Site actions on right side and are same as SharePoint 2007 version.
  1. Ribbon bar is available
  1. No ribbon bar

1.     Page layout dictates the overall look and feel of a web page.
2.     A page layout relies on a content type to determine the kind of content that can be stored on pages.
3.     Page layout contains field controls and web part.

Master pages and page layouts dictate the overall look and feel of your SharePoint site.
Differences
1.    Master pages contain controls that are shared across multiple page layouts, such as navigation, search, or language-preference for multilingual sites.
·        Page layouts contain field controls and Web Parts
2.    Master pages can be used by all page instances in a site.

·        Page layouts can be used by all page instances that are based on that page layout.
Site navigation provides the primary interface for site users to move around on the sites and pages on the site. 

1.            Navigation controls on master pages
1.            Top link bar navigation
2.            Quick Launch navigation
3.            Breadcrumb navigation
4.            Tree view navigation
5.            Metadata navigation
2.            Navigation controls on page layouts
1.            Summary Links
2.            Table of Contents
3.            Content Query
3.            Navigation Web Parts
1.            Categories
2.            Site Aggregator
3.            Site in Category
4.            Tag Cloud
1.     Ribbon Interface act as the UI enhancement in the product.
2.     It provides the commands to be executed in the form of Icons and tabs.
1-   Select Empty Sharepoint template as a project template and select the module        
       item for master page and css
<Module Name="CustomMaster" Url="_catalogs/masterpage">  <File Path="CustomMaster\custommaster.master" Url="custommaster.master" Type="GhostableInLibrary" />
"Url="_catalogs/masterpage""
                        .Means this will be deployed to the master page library in SharePoint.
<Module Name="CustomCSS" Url="Style Library"><File Path="CustomCSS\DAVCSS.css"  Url="CustomCSS/yourfile.css" Type="GhostableInLibrary" />
"Url="Style Library""

Means this will be deployed to the style library in SharePoint.
2-   Now add the following code in the feature receiver class file that contains above modules. Right click on the feature and click "Add Event Receiver"
public override void featureactivated(spfeaturereceiverproperties properties)
  {
      spsite currsite = (spsite)properties.feature.parent;
      spweb curweb = currsite.rootweb;
     uri masteruri = new uri(curweb.url + "/_catalogs/masterpage/custommaster.master");
     curweb.masterurl = masteruri.absolutepath;
     curweb.custommasterurl = masteruri.absolutepath;curweb.update();
   }
This will apply the master page on activation of the feature.
  public override void featuredeactivating(spfeaturereceiverproperties properties)
  {
       spsite currsite = (spsite)properties.feature.parent;
       spweb curweb = currsite.rootweb;
       uri masteruri = new uri(curweb.url + "/_catalogs/masterpage/v4.master");
       curweb.masterurl = masteruri.absolutepath;       curweb.custommasterurl =
masteruri.absolutepath;       curweb.update();
    }

3 steps involved to add the user control
1.     Create and deploy user control
2.     Register user control in the target

<%@ Register TagPrefix="MyUserControl"  TagName="UserName" Src="~/_controltemplates/MyUserControl/MyUserControl.ascx" %>
3.   Insert the user control wherever required.
<MyUserControl:UserName id="MyUserControl1" runat="server" />
    Note: For webpart (Page.LoadControl method)

Use SharePoint designer. Register the namespace of the web part class using <% Register directive. Then use the specified tag prefix from "Register" directive to add the instance of Web part class. Web parts outside the web part zones are referred as static web parts and behave as normal web control.
Register the custom css file as below .
<SharePoint:CssRegistration name="<% $SPUrl:~SiteCollection/Style Library/Custom/styles.css %>" After="corev4.css" runat="server"/>
In CSS, we can wirtie the style for attaching image
background:url(../images/mainBG.jpg)
·        With the help of delegate control, we can take any OOB control of SharePoint and replace with our custom control without any modification in the SharePoint page. So that new custom control overrides the existing one.
·        So the delegate control provide one of the option to add control (either server control or user control) on a SharePoint page

For example : In master page SearchBox control is included as  
<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox" />
This delegate control object uses features to locate the control which is specified in ControlId.We can overwrite the above delegate control by presenting the below code in Element file of feature  

<Control Id = "GlobalNavigation" Sequence="90" ControlSrc="~/_ControlTemplates/ucGlobNavDelegateControl.ascx" />

1.    AdditionalPageHead,  
2.    GlobalSiteLink(),
3.    GlobalSiteLink1,
4.    GlobalSiteLink2,
5.    SmallSearcgInputBox,
6.    TopNavigationDataSource,
7.    PublicConsole,
8.    QuickLaunchDatasource
Searching through the main master page, Seattle.master, I’ve found these three new

1.    DelegateControls:
2.    PromotedActions
3.    SuiteBarBrandingDelegate
4.    SuiteLinksDelegate

You can enable a Web Provisioned event receiver
using (SPWeb childSite = properties.Web)
 {  
 using (SPWeb topSite = childSite.Site.RootWeb)
 
 {    childSite.MasterUrl = topSite.MasterUrl;
      
 childSite.CustomMasterUrl = topSite.CustomMasterUrl;
     
 childSite.Update();
  
 }
 }
Using the SharePoint web interface or SharePoint Designer 2010
Using a master page
Using a page layout
Using a Content Editor Web Part
This has to be done in the site definition file system. I don't think there is an Interface for that, but it can be via SPD though.
List Attribute Id= 116

Changes in topnavigation control in  master page.

No comments:

Post a Comment