Feature per aggiungere una master page o una pagina
In SharePoint 2007 (WSS3 - MOSS) è possibile aggiungere delle master page tramite una feature.
Per farlo è sufficiente creare una cartella (ad esempio SgartMasterPage) sotto la directory ...\12\TEMPLATE\FEATURES e inserire questi tre file:
ovviamente il file deaultNew.master è solo un esempio ed andrà personalizzato.
Per installare la feature vedi la pagina Semplice Feature il file install.bat. Mentre per l'attivazione è sufficiente andare nei site setting della site collection.
Gli stessi file possono essere utilizzati per aggiungere una pagina aspx, modificando solo piccole cose e inserendoli in una cartella diversa ...\12\TEMPLATE\FEATURES \SgartPage:
dove è cambiato lo scope cha da Site passa a Web
dove la pagina non viene salvata in una library ma direttamente nella root del sito (proprietà Url vuota) ed è quindi stato eliminato l'attributo Type="GhostableInLibrary".
Per farlo è sufficiente creare una cartella (ad esempio SgartMasterPage) sotto la directory ...\12\TEMPLATE\FEATURES e inserire questi tre file:
XML: Feature.xml
<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
Id="17F88F65-744F-470f-9F05-2AD35F6A17F8"
Title="Sgart - Master Page new"
Description="Sgart - Master Page modificata"
Version="1.0.0.0"
Scope="Site"
Hidden="FALSE"
DefaultResourceFile="core"
ActivateOnDefault="TRUE"
>
<ElementManifests>
<ElementManifest Location="elements.xml"/>
<ElementFile Location="DefaultNew.master"/>
</ElementManifests>
</Feature>
XML: elements.xml
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="SgartDefaultNew" Url="_catalogs/masterpage" Path="" RootWebOnly="TRUE" >
<File Url="DefaultNew.master" Type="GhostableInLibrary" IgnoreIfAlreadyExists="True">
<Property Name="MasterPageDescription" Value="Sgart.it master page" />
</File>
</Module>
</Elements>
XML: deaultNew.master
<%@ Master Language="C#" %>
<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
<%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages"
Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="wssuc" TagName="Welcome" Src="~/_controltemplates/Welcome.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="DesignModeConsole" Src="~/_controltemplates/DesignModeConsole.ascx" %>
<html dir="<%$Resources:wss,multipages_direction_dir_value%>" runat="server" xmlns:o="urn:schemas-microsoft-com:office:office">
<head runat="server">
<meta name="GENERATOR" content="Microsoft SharePoint">
<meta name="progid" content="SharePoint.WebPartPage.Document">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Expires" content="0">
<SharePoint:RobotsMetaTag runat="server" />
<title id="onetidTitle">
<asp:contentplaceholder id="PlaceHolderPageTitle" runat="server" />
</title>
<SharePoint:CssLink runat="server" />
<SharePoint:Theme runat="server" />
<SharePoint:ScriptLink Language="javascript" Name="core.js" Defer="true" runat="server" />
<SharePoint:CustomJSUrl runat="server" />
<SharePoint:SoapDiscoveryLink runat="server" />
<asp:contentplaceholder id="PlaceHolderAdditionalPageHead" runat="server" />
<SharePoint:DelegateControl runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true" />
</head>
<body scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">
<form runat="server" onsubmit="return _spFormOnSubmitWrapper();">
<WebPartPages:SPWebPartManager ID="m" runat="Server" />
<table class="ms-main" cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
<tr>
<td>
<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigation" runat="server">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td colspan="4" class="ms-globalbreadcrumb">
<span id="TurnOnAccessibility" style="display: none"><a href="#" class="ms-skip"
onclick="SetIsAccessibilityFeatureEnabled(true);UpdateAccessibilityUI();return false;">
<SharePoint:EncodedLiteral runat="server" Text="<%$Resources:wss,master_turnonaccessibility%>"
EncodeMethod="HtmlEncode" /></a> </span><a href="javascript:;" onclick="javascript:this.href='#mainContent';"
class="ms-skip" accesskey="<%$Resources:wss,maincontent_accesskey%>" runat="server">
<SharePoint:EncodedLiteral runat="server" Text="<%$Resources:wss,mainContentLink%>"
EncodeMethod="HtmlEncode" /></a>
<table cellpadding="0" cellspacing="0" height="100%" class="ms-globalleft">
<tr>
<td class="ms-globallinks" style="padding-top: 2px;" height="100%" valign="middle">
<div>
<span id="TurnOffAccessibility" style="display: none"><a href="#" class="ms-acclink"
onclick="SetIsAccessibilityFeatureEnabled(false);UpdateAccessibilityUI();return false;">
<SharePoint:EncodedLiteral runat="server" Text="<%$Resources:wss,master_turnoffaccessibility%>"
EncodeMethod="HtmlEncode" /></a> </span>
<asp:ContentPlaceHolder ID="PlaceHolderGlobalNavigationSiteMap" runat="server">
<asp:SiteMapPath SiteMapProvider="SPSiteMapProvider" ID="GlobalNavigationSiteMap"
RenderCurrentNodeAsLink="true" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional"
runat="server" />
</asp:ContentPlaceHolder>
</div>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" height="100%" class="ms-globalright">
<tr>
<td valign="middle" class="ms-globallinks" style="padding-left: 3px; padding-right: 6px;">
<SharePoint:DelegateControl runat="server" ControlId="GlobalSiteLink0" />
</td>
<td valign="middle" class="ms-globallinks">
<wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false">
</wssuc:Welcome>
</td>
<td style="padding-left: 1px; padding-right: 3px;" class="ms-globallinks">
|</td>
<td valign="middle" class="ms-globallinks">
<table cellspacing="0" cellpadding="0">
<tr>
<td class="ms-globallinks">
<SharePoint:DelegateControl ControlId="GlobalSiteLink1" Scope="Farm" runat="server" />
</td>
<td class="ms-globallinks">
<SharePoint:DelegateControl ControlId="GlobalSiteLink2" Scope="Farm" runat="server" />
</td>
</tr>
</table>
</td>
<td valign="middle" class="ms-globallinks">
<a href="javascript:TopHelpButtonClick('NavBarHelpHome')" accesskey="<%$Resources:wss,multipages_helplink_accesskey%>"
id="TopHelpLink" title="<%$Resources:wss,multipages_helplinkalt_text%>" runat="server">
<img align='absmiddle' border="0" src="/_layouts/images/helpicon.gif" alt="<%$Resources:wss,multipages_helplinkalt_text%>"
runat="server" /></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td class="ms-globalTitleArea">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="GlobalTitleAreaImage" class="ms-titleimagearea">
<SharePoint:SiteLogoImage ID="onetidHeadbnnr0" LogoImageUrl="/_layouts/images/titlegraphic.gif"
runat="server" /></td>
<td class="ms-sitetitle" width="100%">
<asp:ContentPlaceHolder ID="PlaceHolderSiteName" runat="server">
<h1 class="ms-sitetitle">
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" ID="onetidProjectPropertyTitle">
<SharePoint:ProjectProperty Property="Title" runat="server" />
</SharePoint:SPLinkButton>
</h1>
</asp:ContentPlaceHolder>
</td>
<td style="padding-top: 8px;" valign="top">
<asp:ContentPlaceHolder ID="PlaceHolderSearchArea" runat="server">
<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox" />
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td id="onetIdTopNavBarContainer" width="100%" class="ms-bannerContainer">
<asp:ContentPlaceHolder ID="PlaceHolderTopNavBar" runat="server">
<table class="ms-bannerframe" border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td nowrap valign="middle">
</td>
<td class="ms-banner" width="99%" nowrap id="HBN100">
<asp:ContentPlaceHolder ID="PlaceHolderHorizontalNav" runat="server">
<SharePoint:AspMenu ID="TopNavigationMenu" runat="server" DataSourceID="topSiteMap"
EnableViewState="false" AccessKey="<%$Resources:wss,navigation_accesskey%>" Orientation="Horizontal"
StaticDisplayLevels="2" MaximumDynamicDisplayLevels="1" DynamicHorizontalOffset="0"
StaticPopOutImageUrl="/_layouts/images/menudark.gif" StaticPopOutImageTextFormatString=""
DynamicHoverStyle-BackColor="#CBE3F0" SkipLinkText="" StaticSubMenuIndent="0" CssClass="ms-topNavContainer">
<StaticMenuStyle />
<StaticMenuItemStyle CssClass="ms-topnav" ItemSpacing="0px" />
<StaticSelectedStyle CssClass="ms-topnavselected" />
<StaticHoverStyle CssClass="ms-topNavHover" />
<DynamicMenuStyle BackColor="#F2F3F4" BorderColor="#A7B4CE" BorderWidth="1px" />
<DynamicMenuItemStyle CssClass="ms-topNavFlyOuts" />
<DynamicHoverStyle CssClass="ms-topNavFlyOutsHover" />
<DynamicSelectedStyle CssClass="ms-topNavFlyOutsSelected" />
</SharePoint:AspMenu>
<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource">
<Template_Controls>
<asp:SiteMapDataSource ShowStartingNode="False" SiteMapProvider="SPNavigationProvider"
ID="topSiteMap" runat="server" StartingNodeUrl="sid:1002" />
</Template_Controls>
</SharePoint:DelegateControl>
</asp:ContentPlaceHolder>
</td>
<td class="ms-banner">
</td>
<td valign="bottom" align="right" style="position: relative; bottom: 0; left: 0;">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<table height="100%" class="ms-siteaction" cellpadding="0" cellspacing="0">
<tr>
<td class="ms-siteactionsmenu" id="siteactiontd">
<SharePoint:SiteActions runat="server" AccessKey="<%$Resources:wss,tb_SiteActions_AK%>"
ID="SiteActionsMenuMain" PrefixHtml="<div><div>" SuffixHtml="</div></div>"
MenuNotVisibleHtml=" ">
<CustomTemplate>
<SharePoint:FeatureMenuTemplate runat="server" FeatureScope="Site" Location="Microsoft.SharePoint.StandardMenu"
GroupId="SiteActions" UseShortId="true">
<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_Create" Text="<%$Resources:wss,viewlsts_pagetitle_create%>"
Description="<%$Resources:wss,siteactions_createdescription%>" ImageUrl="/_layouts/images/Actionscreate.gif"
MenuGroupId="100" Sequence="100" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/create.aspx"
PermissionsString="ManageLists, ManageSubwebs" PermissionMode="Any" />
<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_EditPage" Text="<%$Resources:wss,siteactions_editpage%>"
Description="<%$Resources:wss,siteactions_editpagedescription%>" ImageUrl="/_layouts/images/ActionsEditPage.gif"
MenuGroupId="100" Sequence="200" ClientOnClickNavigateUrl="javascript:MSOLayout_ChangeLayoutMode(false);" />
<SharePoint:MenuItemTemplate runat="server" ID="MenuItem_Settings" Text="<%$Resources:wss,settings_pagetitle%>"
Description="<%$Resources:wss,siteactions_sitesettingsdescription%>" ImageUrl="/_layouts/images/ActionsSettings.gif"
MenuGroupId="100" Sequence="300" UseShortId="true" ClientOnClickNavigateUrl="~site/_layouts/settings.aspx"
PermissionsString="EnumeratePermissions,ManageWeb,ManageSubwebs,AddAndCustomizePages,ApplyThemeAndBorder,ManageAlerts,ManageLists,ViewUsageData"
PermissionMode="Any" />
</SharePoint:FeatureMenuTemplate>
</CustomTemplate>
</SharePoint:SiteActions>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:ContentPlaceHolder>
</td>
</tr>
<asp:ContentPlaceHolder ID="WSSDesignConsole" runat="server">
<wssuc:DesignModeConsole id="IdDesignModeConsole" runat="server" />
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="SPNavigation" runat="server">
<SharePoint:DelegateControl runat="server" ControlId="PublishingConsole" PrefixHtml="<tr><td colspan="4" id="mpdmconsole" class="ms-consolemptablerow">"
SuffixHtml="</td></tr>">
</SharePoint:DelegateControl>
</asp:ContentPlaceHolder>
<tr height="100%">
<td>
<table width="100%" height="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="ms-titlearealeft" id="TitleAreaImageCell" valign="middle" nowrap>
<div style="height: 100%" class="ms-titleareaframe">
<asp:ContentPlaceHolder ID="PlaceHolderPageImage" runat="server" />
</div>
</td>
<td class="ms-titleareaframe" id="TitleAreaFrameClass">
<asp:ContentPlaceHolder ID="PlaceHolderTitleLeftBorder" runat="server">
<div class="ms-titleareaframe">
<img src="/_layouts/images/blank.gif" width="1" height="100%" alt="" /></div>
</asp:ContentPlaceHolder>
</td>
<td valign="top" id="onetidPageTitleAreaFrame" class='ms-pagetitleareaframe' nowrap>
<table id="onetidPageTitleAreaTable" cellpadding="0" cellspacing="0" width="100%"
border="0">
<tr>
<td valign="top" class="ms-titlearea">
<asp:ContentPlaceHolder ID="PlaceHolderTitleBreadcrumb" runat="server">
<asp:SiteMapPath SiteMapProvider="SPContentMapProvider" ID="ContentMap" SkipLinkText=""
NodeStyle-CssClass="ms-sitemapdirectional" runat="server" />
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td height="100%" valign="top" id="onetidPageTitle" class="ms-pagetitle">
<h2 class="ms-pagetitle">
<asp:ContentPlaceHolder ID="PlaceHolderPageTitleInTitleArea" runat="server" />
</h2>
</td>
</tr>
</table>
<SharePoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl1" runat="server" PermissionsString="ManageWeb">
<div class="ms-quicklaunchheader">
<SharePoint:SPLinkButton ID="idNavLinkViewAll" runat="server" NavigateUrl="~site/_layouts/viewlsts.aspx"
Text="<%$Resources:wss,quiklnch_allcontent%>" AccessKey="<%$Resources:wss,quiklnch_allcontent_AK%>" />
</div>
</SharePoint:SPSecurityTrimmedControl>
</td>
<td class="ms-titlearearight">
<asp:ContentPlaceHolder ID="PlaceHolderMiniConsole" runat="server" />
<asp:ContentPlaceHolder ID="PlaceHolderTitleRightMargin" runat="server">
<div class="ms-titleareaframe" style='height: 100%'>
<img src="/_layouts/images/blank.gif" width="1" height="1" alt="" /></div>
</asp:ContentPlaceHolder>
</td>
</tr>
<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaSeparator" runat="server" />
<tr>
<!--
<td class="ms-leftareacell" valign="top" height="100%" id="LeftNavigationAreaCell">
<table class="ms-nav" width="100%" height="100%" cellpadding="0" cellspacing="0"
border="1">
<tr>
<td>
aa
<table height="100%" class="ms-navframe" cellpadding="0" cellspacing="0" border="0">
<tr valign="top">
<td width="4px">
bb
<img src="/_layouts/images/blank.gif" width="4" height="1" alt="" /></td>
<td valign="top" width="100%">
<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarDataSource" runat="server" Visible="false" />
<asp:ContentPlaceHolder ID="PlaceHolderCalendarNavigator" runat="server" Visible="false" />
<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarTop" runat="server" Visible="false" />
<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBar" runat="server" Visible="false">
<div class="ms-quicklaunchouter">
<div class="ms-quickLaunch" style="width: 100%">
<h3 class="ms-standardheader">
<label class="ms-hidden">
<SharePoint:EncodedLiteral runat="server" Text="<%$Resources:wss,quiklnch_pagetitle%>"
EncodeMethod="HtmlEncode" />
</label>
</h3>
<SharePoint:SPNavigationManager ID="QuickLaunchNavigationManager" runat="server"
QuickLaunchControlId="QuickLaunchMenu" ContainedControl="QuickLaunch" EnableViewState="false">
<div>
<SharePoint:DelegateControl runat="server" ControlId="QuickLaunchDataSource">
<Template_Controls>
<asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider" ShowStartingNode="False"
ID="QuickLaunchSiteMap" StartingNodeUrl="sid:1025" runat="server" />
</Template_Controls>
</SharePoint:DelegateControl>
<SharePoint:AspMenu ID="QuickLaunchMenu" DataSourceID="QuickLaunchSiteMap" runat="server"
Orientation="Vertical" StaticDisplayLevels="2" ItemWrap="true" MaximumDynamicDisplayLevels="0"
StaticSubMenuIndent="0" SkipLinkText="">
<LevelMenuItemStyles>
<asp:MenuItemStyle CssClass="ms-navheader" />
<asp:MenuItemStyle CssClass="ms-navitem" />
</LevelMenuItemStyles>
<LevelSubMenuStyles>
<asp:SubMenuStyle CssClass="ms-navSubMenu1" />
<asp:SubMenuStyle CssClass="ms-navSubMenu2" />
</LevelSubMenuStyles>
<LevelSelectedStyles>
<asp:MenuItemStyle CssClass="ms-selectednavheader" />
<asp:MenuItemStyle CssClass="ms-selectednav" />
</LevelSelectedStyles>
</SharePoint:AspMenu>
</div>
</SharePoint:SPNavigationManager>
<SharePoint:SPNavigationManager ID="TreeViewNavigationManager" runat="server" ContainedControl="TreeView">
<table class="ms-navSubMenu1" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<table class="ms-navheader" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap id="idSiteHierarchy">
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/viewlsts.aspx"
ID="idNavLinkSiteHierarchy" Text="<%$Resources:wss,treeview_header%>" AccessKey="<%$Resources:wss,quiklnch_allcontent_AK%>" />
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="ms-treeviewouter">
<SharePoint:SPHierarchyDataSourceControl runat="server" ID="TreeViewDataSource" RootContextObject="Web"
IncludeDiscussionFolders="true" />
<SharePoint:SPRememberScroll runat="server" ID="TreeViewRememberScroll" onscroll="javascript:_spRecordScrollPositions(this);"
Style="overflow: auto; height: 400px; width: 150px;">
<SharePoint:SPTreeView ID="WebTreeView" runat="server" ShowLines="false" DataSourceID="TreeViewDataSource"
ExpandDepth="0" SelectedNodeStyle-CssClass="ms-tvselected" NodeStyle-CssClass="ms-navitem"
NodeStyle-HorizontalPadding="2" SkipLinkText="" NodeIndent="12" ExpandImageUrl="/_layouts/images/tvplus.gif"
CollapseImageUrl="/_layouts/images/tvminus.gif" NoExpandImageUrl="/_layouts/images/tvblank.gif">
</SharePoint:SPTreeView>
</SharePoint:SPRememberScroll>
</div>
</SharePoint:SPNavigationManager>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<table class="ms-recyclebin" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap>
<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/recyclebin.aspx"
ID="idNavLinkRecycleBin" ImageUrl="/_layouts/images/recycbin.gif" Text="<%$Resources:wss,StsDefault_RecycleBin%>"
PermissionsString="DeleteListItems" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="PlaceHolderLeftActions" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td colspan="2">
<asp:ContentPlaceHolder ID="PlaceHolderNavSpacer" runat="server">
<img src="/_layouts/images/blank.gif" width="138" height="1" alt="" /></asp:ContentPlaceHolder>
</td>
</tr>
</table>
bb</td>
<td>
ff
<asp:ContentPlaceHolder ID="PlaceHolderLeftNavBarBorder" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</td>
-->
<td colspan="2">
<asp:ContentPlaceHolder ID="PlaceHolderBodyLeftBorder" runat="server">
<div class="ms-pagemargin">
<img src="/_layouts/images/blank.gif" width="10" height="1" alt="" /></div>
</asp:ContentPlaceHolder>
</td>
<td class='ms-bodyareacell' valign="top">
<placeholder id="MSO_ContentDiv" runat="server">
<table id="MSO_ContentTable" width=100% height="100%" border="0" cellspacing="0" cellpadding="0" class="ms-propertysheet">
<tr>
<td class='ms-bodyareaframe' valign="top" height="100%">
<A name="mainContent"></A>
<asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat="server"/>
<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</placeholder>
</td>
<td class="ms-rightareacell">
<asp:ContentPlaceHolder ID="PlaceHolderBodyRightMargin" runat="server">
<div class="ms-pagemargin">
<img src="/_layouts/images/blank.gif" width="10" height="1" alt="" /></div>
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td class="ms-pagebottommarginleft">
<img src="/_layouts/images/blank.gif" width="1" height="10" alt="" /></td>
<td class="ms-pagebottommargin">
<img src="/_layouts/images/blank.gif" width="1" height="10" alt="" /></td>
<td class="ms-bodyareapagemargin">
<img src="/_layouts/images/blank.gif" width="1" height="10" alt="" /></td>
<td class="ms-pagebottommarginright">
<img src="/_layouts/images/blank.gif" width="1" height="10" alt="" /></td>
</tr>
</table>
</td>
</tr>
</table>
<asp:ContentPlaceHolder ID="PlaceHolderFormDigest" runat="server">
<SharePoint:FormDigest runat="server" />
</asp:ContentPlaceHolder>
<input type="text" name="__spDummyText1" style="display: none;" size="1" />
<input type="text" name="__spDummyText2" style="display: none;" size="1" />
</form>
<asp:ContentPlaceHolder ID="PlaceHolderUtilityContent" runat="server" />
<asp:ContentPlaceHolder ID="PlaceHolderBodyAreaClass" runat="server" />
<asp:ContentPlaceHolder ID="PlaceHolderTitleAreaClass" runat="server" />
</body>
</html>
ovviamente il file deaultNew.master è solo un esempio ed andrà personalizzato.
Assegnate un Id (Guid) diverso e univoco alle vostre feature
Per installare la feature vedi la pagina Semplice Feature il file install.bat. Mentre per l'attivazione è sufficiente andare nei site setting della site collection.
Gli stessi file possono essere utilizzati per aggiungere una pagina aspx, modificando solo piccole cose e inserendoli in una cartella diversa ...\12\TEMPLATE\FEATURES \SgartPage:
XML: Feature.xml
<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
Id="91160705-26BF-43b8-85D2-1AE8E191FA25"
Title="Sgart - Pagina"
Description="Sgart - Pagina aspx"
Version="1.0.0.0"
Scope="Web"
Hidden="FALSE"
>
<ElementManifests>
<ElementManifest Location="elements.xml"/>
<ElementFile Location="pagina.aspx"/>
</ElementManifests>
</Feature>
XML: elements.xml
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="SgartPageNew" Url="" Path="" >
<File Url="pagina.aspx" IgnoreIfAlreadyExists="True">
</File>
</Module>
</Elements>