2014-05-13 40 views
1

我们有一个使用SharePoint Foundation 2010开发的产品。我们托管在端口80上,这是独立安装的MSF 2010.现在我需要在不同客户端的不同端口上部署相同的产品在农场环境。现在我面临一些挑战如下:Sharepoint WSP解决方案管理

我们有映射到14个蜂巢文件夹的css,图像,jquery文件。由于我们在独立环境中进行部署,因此整个14个蜂巢文件夹服务于一个客户端。现在的挑战是,如何在不同的客户端(不同的Web应用程序)中管理这14个配置单元文件夹中的css,jquery,images文件夹。如果我为一个特定的文件在一个js文件(test.js)中做了小改动,它应该会影响该客户端本身。它不应该影响其他客户端的js(test.js)文件。 由于我们只有一个wsp解决方案,因此我们需要将其添加到解决方案存储库。由于sharepoint只允许名称和GUID唯一的解决方案。所以,如果我在某个特定客户端的解决方案中做了一些更改,当我将其上传到解决方案存储库时,它不会允许,因为旧的wsp已经存在。那么,如何管理wsp来为多个客户端服务呢? 。如果我为一个客户进行更改,它不应该影响其他客户。 请让我知道这方面的最佳做法。

回答

0

将解决方案部署到SharePoint 2010时,它们通常打包为WSP,通常将其命名为业务区域。

如果您使用的是Visual Studio,请打开“查看 - >其他窗口 - >包资源管理器”来浏览WSP的内容。

因此,如果您的客户有不同的html,css,javascript,请考虑将它们打包在不同的WSP中。 每个客户端一个解决方案

这种方式在14个配置单元下,每个解决方案(WSP)项目将包含在其各自的文件夹中,这意味着一个解决方案的css更改不会影响其他解决方案。

如果你有应用程序页面,他们可以去: 14个\ TEMPLATE \ LAYOUTS \的Client_1 \ 14 \ TEMPLATE \ LAYOUTS \的Client_1 \ CSS 14 \ TEMPLATE \ LAYOUTS \的Client_1 \ JavaScript的

14 \ TEMPLATE \ LAYOUTS \的Client_2 \ 14 \ TEMPLATE \ LAYOUTS \的Client_2 \ CSS 14 \ TEMPLATE \ LAYOUTS \的Client_2 \的javascript

14 \ TEMPLATE \ LAYOUTS \ Client_3 \ 14 \ TEMPLATE \ LAYOUTS \ Client_3 \ CSS 14 \ TEMPLATE \ LAYOUTS \ Client_3 \ javascript

如果有客户特定的webpart,他们可以去:

14 \ TEMPLATE \ CONTROLTEMPLATES \的Client_1 \ Webpart1 14 \ TEMPLATE \ CONTROLTEMPLATES \ Client_2的\ Webpart1 14 \ TEMPLATE \ CONTROLTEMPLATES \ Client_3 \ Webpart1

您所需要的只是在您的WSP中创建明确定义的目录结构。

+0

嗨,我用同样的方式分析过。这是最佳实践吗? –

+0

嗨。包名称和ID将相同。现在的情况是可以根据客户更改OSlution名称和GUID吗?这是一个好方法吗? –

+0

是的,这是最佳做法。 – ukhardy

1

鉴于可以在SPSite或SPWeb级别激活和取消激活功能,可能会有更优雅的解决方案来解决这种情况。

而不是打包您的图像,CSS和JS文件以部署到14 Hive,实际上可以将它们部署到您的功能在SPSite/SPWeb中创建的新文档库中,当您的功能被激活时。您还可以配置您的WSP,以便将JS,CSS和图像文件上载到创建的文档库中。

这样你的一个问题就解决了,你可以直接通过文档库手动修改一个客户端的文件,而且不会影响其他网站/客户端。

此外,在此配置中,您的单个WSP将足够且不应冲突,因为当您仅为一个客户端更改某些代码时,您不会部署全新的WSP。

我发现我这篇文章将告诉您如何实现上述:http://jcapka.blogspot.com/2011/05/deploying-document-library-including.html

我也建议这个系列更多地了解您的WSP封装事物有不同的选择:http://blogit.create.pt/blogs/andrevala/archive/2007/12/02/SharePoint-2007-Deployment_3A00_-Overview.aspx

它的SharePoint写但大部分在2010年没有变化。

如果上述方法存在任何问题,您可以找到解决方法。