【问题标题】:Solutions/features for editions of a commercial SharePoint product商业 SharePoint 产品版本的解决方案/功能
【发布时间】:2009-11-02 00:49:37
【问题描述】:

假设您正在为 SharePoint 创建一个商业产品。该产品将提供社区(免费)和企业(付费)版本。

社区版的代码库是一个子集,其中包含所有通过 (C#) #define 语句处理的次要增量。实际上,它是一个单一的代码库。构建过程构建两个解决方案(每个包含两个功能),每个版本一个。

应该不可能同时在场中安装两个版本。当前的商业模式仅为单服务器 SharePoint 场提供社区/免费版本。这旨在支持个人和开发方案。

解决方案包括各种功能元素,但目前没有 Web 部件。未来版本中可能会包含一个或多个 Web 部件。从长远来看,任何限制解决方案/功能内容的方法都可能不是最好的主意。

您会在多大程度上在各个版本中重复使用解决方案和/或功能 ID?为什么?

【问题讨论】:

    标签: sharepoint wsp


    【解决方案1】:

    我希望人们能够轻松地从免费升级到完整,如果他们选择这样做的话。

    想象一下 Web 部件的情况 - 如果您设置了几个版本的免费 Web 部件,然后卸载它并安装完整的 Web 部件,那么大多数人会希望所有现有实例在新的 Web 部件上继续工作

    我认为您需要保持 solutionId 相同才能使其正常工作。

    您还需要具有相同的完整程序集名称(文件版本可以不同)或设置绑定重定向。

    哦 - 当然,您的代码中没有重大更改。

    【讨论】:

    • 感谢您的回复。您关于所需升级行为的逻辑很有意义。您描述的解决方案的设计方式可以通过这两种方法来完成。还有其他理由选择一种方式吗?
    • 您确定如果 SolutionId 发生更改,SharePoint 将加载新的 Web 部件来代替用户已经设置的旧 Web 部件吗?我猜它不会,您会收到“缺少程序集”错误 - 但还没有时间检查。
    • 这是一个有趣的观点。 Web 部件绑定到强命名程序集。正如您所建议的,我必须检查是否在功能或解决方案级别有额外的绑定。
    【解决方案2】:

    我会使用相同的 ID 并提供一个额外的功能来解锁企业功能。 此功能包含解锁企业版所需的额外 dll、Web 部件、许可证密钥等。

    我会确保用户在升级后可以继续使用您的产品,而无需更改他们的自定义设置。

    【讨论】:

    • 在不“丢失”任何东西的情况下轻松升级是关键。通过附加功能进行升级的模型可能非常引人注目。例如,这对于 SharePoint 2007 中的标准与企业搜索控件非常有效。在其他情况下,例如事件接收器,这可能需要更多的工作。谢谢你的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多