如何在将新项目添加到列表之后基于模板创建新的SharePoint站点,例如我拥有共享点站点“A”,其中包含有关项目信息的列表,其想法是,在向该列表添加新项目之后,我需要为该项目自动创建一个新的SharePoint站点(团队空间)。如何在将新项目添加到列表之后基于模板创建新的SharePoint站点
另外我想知道是否有可能使用工作流创建此,或者如果我可以调用webservice(c#)与工作流。
如何在将新项目添加到列表之后基于模板创建新的SharePoint站点,例如我拥有共享点站点“A”,其中包含有关项目信息的列表,其想法是,在向该列表添加新项目之后,我需要为该项目自动创建一个新的SharePoint站点(团队空间)。如何在将新项目添加到列表之后基于模板创建新的SharePoint站点
另外我想知道是否有可能使用工作流创建此,或者如果我可以调用webservice(c#)与工作流。
玉以及首先你必须创建在有视觉工作室 SharePoint项目,你可以写C#
到C#创建一个站点
SPSite topLevelSite = new SPSite("http://localhost");
SPWeb spWebInstance = topLevelSite.OpenWeb();
String siteTemplate = spWebInstance.WebTemplate;
try
{
SharePointWebInstance.Webs.Add("the name", "name", "new site added", (UInt32)System.Globalization.CultureInfo.CurrentCulture.LCID, siteTemplate, false, false);
}
catch(Exception ex)
{
//...
}
finally
{
topLevelSite.Close();
SharePointWebInstance.Dispose();
}
只是为了让你开始,顺便说一句,你cannt如果你只使用sharepoint设计器,使用c#,c#使用visual studio。
从列表中获取的东西
using Microsoft.SharePoint;
class SPTest {
public void ReadList() {
// Use using to make sure resources are released properly
using(SPSite oSite = new SPSite(pathToSite)) {
using(SPWeb oWeb = oSite.AllWebs[nameOfWeb]) {
// Alternately you can use oSite.RootWeb if you want to access the main site
SPList oList = oWeb.Lists[listName]; // The display name, ie. "Calendar"
foreach(SPListItem oItem in oList.Items) {
// Access each item in the list...
DateTime startTime = (DateTime)oItem["Start Time"];
// etc....
}
}
}
}
}
只是为了让你开始,我会建议的YouTube看你如何使用SharePoint和Visual Studio还在一起,或更好地遵循微软官方课程10175A(我做) 上面的代码,从互联网上而不是从书中。
我不认为它可能做到这一点与正常的工作流程,或与JavaScript,尽管一些Java代码是与Ajax等verry强大。所以你应该花时间在Visual Studio中弄清楚这一点。(c#是不是很难看,请花时间)
哦,我看到你使用2007年,它不太友好的使用从编程的角度来看,如果这个代码不起作用它,我认为它仍然关闭它的方式完成后,只需检查对象和你对它做什么,它可能会略有不同。
你确定你想创建这么多的网站?它不是我会推荐的东西,我的意思是想到你在2年后进入自己的管理任务,这样的事情往往会变得疯狂。
我想你应该考虑1个网站,您的所有项目,如果可能的 你仍然可以用积极的一面权利等 调的东西,人们会发现它更容易内一般1个网站,找到的东西。
刚好我的几块钱,我不得不处理基于项目的坐,我发现它是一场噩梦。 但如果你喜欢我不会阻止你,但一定要你也想..
你也许能够做到这一点与工作流程,但我真的怀疑它,至少它不会特别简单。
我会建议在列表中添加一个事件接收器,这是我在几次需要遵循这个模型时所做的事情,并且它对我来说已经非常成功。
当一个项目被添加到列表中时,您可以附加一个ItemCreated(或ItemCreating,如果您愿意的话)处理程序到列表中以基于模板创建站点,并且它也是一个选项,用于执行新站点的任何配置(可能基于刚刚创建的列表项中的值)。您可以通过功能装订对其进行配置,但我发现不太方便,尤其是如果您需要查看新创建的项目的值。
如果编辑父列表上的项目需要影响子列表,您还可以处理ItemUpdated(或Updating)事件。你也可以处理ItemDeleted(或删除),如果删除它应该删除子网站。
我们在我们公司实际上有很多(也许是6+?)这样的网站。它通常被认为是一个相当合适的模型。通常这些子网站是“临时的”,变得过时,并且可能会在一段时间后被删除。当他们不能时,你是正确的,它开始占用大量的空间,这确实需要解决。另外,这不是真正的答案,这是一条评论。 – Servy
它的评论,尽管你通常使用它,我不会建议这样一个aprouch,公司sharepoint的力量通常是共享信息,而不是隐藏在网站。 得到我的shaperpoint书回来tomorow,如果别人不回答我可能然后。 – user613326
噢,我知道这不是最好的解决方案,我推荐你说的同样的解决方案(所有项目都有1个站点),但公司希望为每个项目创建一个新的站点(团队空间) m试图找到这个解决方案:( –