2009-06-09 89 views
1

有什么办法可以做WSS 3.0网站配置?我的客户的要求是将属性作为将以XML格式定义的变量:组织名称,标识,地址,用户和角色信息。客户端应该能够通过定义XML文件中的属性来将该Web应用程序安装到任何WSS生产服务器。WSS 3.0网站配置

是否有可能编写一个实用程序来解析定义好的XML并相应地配置网站?

回答

2

可以从对象模型中配置网站,但创建完全自定义的网站超出了单个问题的范围。为了让你开始,你应该看看SPWebCollection.Add以及SPSiteCollection.Add

要创建一个网站集和子网站的一些到你的Web应用程序之一,你可以使用这样的事情:

var farm = SPFarm.Local; 
var solution = farm.Solutions.GetValue<SPSolution>("YourSolution.wsp"); 
var application = solution.DeployedWebApplications.First(); 
var sites = application.Sites; 
using(var site = sites.Add("/", "Root Site", "Description", 1033, "YOURTEMPLATE#1", "YOURDOMAIN\SiteCollectionAdmin", "Site Collection Admin", "[email protected]")) { 

    using(var rootWeb = site.RootWeb) { 

     // Code customizing root site goes here 

     using (var subSite = rootWeb.Webs.Add("SubSite", "Sub Site", "Description", 1033, "YOURTEMPLATE#2", false, false)) { 

      // Code customizing sub site goes here 

     } 
    } 
} 
1

是的,有不止一个。

查看位于Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions的SharePoint Solution Generator。

您可以创建一个满足您所有要求的网站(网页,列表,文档库...),然后生成一个VS项目,该项目将为您的所有网站创建一个SharePoint功能。然后,您可以将该功能部署到任何WSS生产服务器。

您可能会改变VS项目以实现从额外的xml文件读取您的属性的逻辑。

如果您的网站的结构是纯文本的,或者您可以将其保存为模板,那么您也可以编写一个小型控制台应用程序来读取属性xml文件并创建该网站。

1

创建一个常规的解决方案,或者使用上述解决方案生成器生成.wsp文件。然后创建一个小的控制台应用程序,它需要你提到的变量作为参数。 使用上面列出的代码,从该解决方案中提供新的sitecollection,并将输入的参数(公司名称等)存储在列表中的站点中或SPSite.Properties属性包中,然后您可以从中自定义webparts等。