Решения/функции для выпусков коммерческого продукта SharePoint

StackOverflow https://stackoverflow.com/questions/1658946

  •  11-09-2019
  •  | 
  •  

Вопрос

Предположим на мгновение, что вы создаете коммерческий продукт для SharePoint.Этот продукт будет предлагаться в версиях Community (бесплатная) и Enterprise (платная).

База кода для версии Community представляет собой подмножество с незначительными изменениями, которые обрабатываются с помощью операторов #define (C#).По сути, это единая база кода.В процессе сборки создаются два решения (каждое содержит две функции), по одному для каждой редакции.

Невозможно установить обе версии в ферме одновременно.Текущая бизнес-модель предлагает общественную/бесплатную версию только для ферм SharePoint с одним сервером.Это предназначено для поддержки отдельных лиц и сценариев развития.

Решения включают в себя множество функциональных элементов, но в настоящее время не содержат веб-частей.Возможно, в будущий выпуск будут включены одна или несколько веб-частей.Любой подход, ограничивающий содержание решений/функций, вероятно, не является лучшей идеей в долгосрочной перспективе.

В какой степени вы бы повторно использовали идентификаторы решений и/или функций в разных выпусках?Почему?

Это было полезно?

Решение

Я бы хотел, чтобы люди могли легко перейти с бесплатной на полную версию, если они захотят это сделать.

Представьте себе случай веб-части: если вы настроили несколько версий бесплатной веб-части, затем удалили ее и установили полную веб-часть, тогда большинство людей захотят, чтобы все существующие экземпляры продолжали работать, но в новой веб-части.

Я думаю, вам нужно будет оставить идентификатор решения одинаковым, чтобы это работало.

Вам также потребуется иметь одинаковое полное имя сборки (версия файла может быть другой) или настроить перенаправление привязки.

Да, и, конечно же, никаких критических изменений в вашем коде.

Другие советы

Я бы использовал тот же идентификатор и предоставил дополнительную функцию для разблокировки корпоративных функций.Эта функция содержит дополнительные библиотеки DLL, веб-части, лицензионные ключи...необходимо, чтобы разблокировать Enterprise Edition.

Я бы позаботился о том, чтобы пользователи могли продолжать использовать ваш продукт после обновления без необходимости менять свои настройки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top