有什麼辦法可以做WSS 3.0網站配置?我的客戶的要求是將屬性作爲將以XML格式定義的變量:組織名稱,標識,地址,用戶和角色信息。客戶端應該能夠通過定義XML文件中的屬性來將該Web應用程序安裝到任何WSS生產服務器。WSS 3.0網站配置
是否有可能編寫一個實用程序來解析定義好的XML並相應地配置網站?
有什麼辦法可以做WSS 3.0網站配置?我的客戶的要求是將屬性作爲將以XML格式定義的變量:組織名稱,標識,地址,用戶和角色信息。客戶端應該能夠通過定義XML文件中的屬性來將該Web應用程序安裝到任何WSS生產服務器。WSS 3.0網站配置
是否有可能編寫一個實用程序來解析定義好的XML並相應地配置網站?
可以從對象模型中配置網站,但創建完全自定義的網站超出了單個問題的範圍。爲了讓你開始,你應該看看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
}
}
}
是的,有不止一個。
查看位於Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions的SharePoint Solution Generator。
您可以創建一個滿足您所有要求的網站(網頁,列表,文檔庫...),然後生成一個VS項目,該項目將爲您的所有網站創建一個SharePoint功能。然後,您可以將該功能部署到任何WSS生產服務器。
您可能會改變VS項目以實現從額外的xml文件讀取您的屬性的邏輯。
如果您的網站的結構是純文本的,或者您可以將其保存爲模板,那麼您也可以編寫一個小型控制檯應用程序來讀取屬性xml文件並創建該網站。
創建一個常規的解決方案,或者使用上述解決方案生成器生成.wsp文件。然後創建一個小的控制檯應用程序,它需要你提到的變量作爲參數。 使用上面列出的代碼,從該解決方案中提供新的sitecollection,並將輸入的參數(公司名稱等)存儲在列表中的站點中或SPSite.Properties屬性包中,然後您可以從中自定義webparts等。
CodePlex上提供的SharePoint Data Population Tool允許您使用XML定義站點。