初探SharePoint部署 – WSS Solution Package

Feature.xml (Defines the feature and specifies the location of assemblies, files, dependencies, or properties that support the Feature.)

Feature.xml是很常见的配置文件,用来指定所安装的Feature中要包含的DLL,以及其详细配置文件Elements.xml的路径。Feature.xml我们可以认为是单个Feature的入口点,大多数时间之需要指明Elements.xml的路径,而无需将具体操作置入Feature.xml。这样做是为了让我们的配置文件更结构化,功能化。

Elements.xml (Element manifest file containing definitions to the feature’s elements.)

Elements.xml文件是最终这个Feature所要做的动作的具体描述。在这里可以应用诸如CustomAction, Module, ModuleGroup, Assemblies, ActivationDependencies, Recievers等扩展标记来告诉Package在部署时要做的动作。

Package.ddf(Package.ddf is a MakeCab diamond directive file used to define the structure and contents of the solution package.)

.ddf文件指定了将来生成的.CAB文件或.WSP文件包含的内容。这里定义了所有需要部署的文件结构信息。需要注意的是,目录结构的变化需要用.SET DESTINATIONDIR=’’ 来显式指定。

Package.Target(Custom the MSBuild project used to create the WSS Solution Package for deployment of the feature. Basically, it changes the defaultTargets to the custom target which calls MakeCab.exe to produce the expected .wsp file.)

因为我们需要创建一个MSBuild项目,但最终生成.WSP文件或者.CAB文件的任务是由MAKECAB.EXE完成的。我们需要给MsBuild项目创建一个任务单,来告诉它去执行MAKECAB并根据设定来创建.WSP文件。因为MSBuild项目的默认构建动作是Build,我们需要变更项目的默认构建动作为指定的DDF,并通过更改Import Project将其要完成的任务交给MsBuild项目去做–这些任务是在Package.Target中完成的。

Elements.xml 解析:

创建Elements.xml来定义Feature的操作。

在Elements.xml中,Module是个经常被用到标记。MSDN给出的解释是(具体的解释参考MSDN)Specifies files with which to provision SharePoint Web sites within an element manifest. 它和File标记联合使用,其实它本质上是按照Module和File指定的路径将文件拷贝到服务器,而这里你还可以通过Properties比较来对这些文件添加一些属性。

<?xml version=”1.0″ encoding=”utf-8″?>

<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”&gt;

<Module Name=”MasterPages”

Url=”_catalogs/masterpage”

Path=”MasterPages”

RootWebOnly=”TRUE”>

<File Url=”CustomPageLayouts.master”

Type=”GhostableInLibrary”>

 

<Property Name=”ContentType”

Value=”$Resources:cmscore,contenttype_masterpage_name;” />

<Property Name=”PublishingPreviewImage”

Value=”~SiteCollection/_catalogs/masterpage/Preview Images/CustomPageLayouts.jpeg, ~SiteCollection/_catalogs/masterpagePreview Images/CustomPageLayouts.jpeg” />

<Property Name=”Title”

Value=”Allan’s custom master page.” />

 

</File>

</Module>

 

<Module Name=”PreviewImages”

Url=”_catalogs/masterpage/Preview Images”

Path=”MasterPages”

RootWebOnly=”TRUE”>

<File Url=”CustomPageLayouts.jpeg”

Name=”CustomPageLayouts.jpeg”

Type=”GhostableInLibrary”/>

</Module>

 

</Elements>

http://msdn.microsoft.com/en-us/library/ms414322

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s