Мне нужна помощь, чтобы выяснить, будет ли хорошей идеей использовать CMS или решение для портала для моего последнего проекта, который (в настоящее время) является приложением ASP.NET MVC, которое должно обслуживать нескольких клиентов (будь то компания или какой-то другой объект со списком пользователей) из одной установки (то есть решение SaaS ).
В дополнение к основной функциональности, которая включает управление документами / публикацию, мне также необходимо предоставить основные социальные функции (такие как блог, форум, галерея, опросы и т. Д.). Тем не менее, крайне важно, чтобы контент был виден только для клиента, которому он принадлежит, и моя оценка группы решений CMS и порталов не пролила свет на то, поддерживают ли они это. Они в основном ориентированы на однопользовательскую установку, а документация по интеграции с существующим решением MVC довольно тонкая.
По сути, я ищу несколько советов, которые помогут мне отказаться от тупиковых вариантов (продукт не соответствует требованиям, накладывает слишком много ограничений, не вступил в силу и т. Д.) И найти неисследованные варианты, прежде чем слишком далеко опередить проект.
Мои требования к архитектуре включают:
- Поддержка нескольких сайтов (использование одного домена для хостинга)
- Водонепроницаемое разделение контента между клиентами
- Полная интеграция между компонентами / функциями
- SSO (единый вход)
- Работа на одном сайте (общий колонтитул, унифицированная навигация, унифицированные теги и т. Д.)
- Простота разработки и развертывания
- Пользовательская логика будет написана с использованием C # и ASP.NET MVC, и все продукты должны поддерживать это
- Я хочу сохранить контроль
- Решение должно предлагать функции, но в остальном не мешать (например, не навязывать мне глупые идиомы, например, настаивать на GUID для первичных ключей)
- Активное сообщество разработчиков
- Нет одиночных усилий
- Последние действия по управлению источниками
- Разумные уровни документации и зрелости
- Не обязательно должен быть открытым исходным кодом
Я потратил немало времени на оценку продуктов и компонентов, которыми кратко поделюсь здесь:
- Umbraco
- Не поддерживает ASP.NET MVC (пока кто-то обязан комментировать в противном случае)
- Отличная поддержка сообщества, активное развитие
- Кажется, много работы для начала
- Kooboo
- Нет активности источника (нет обновлений в течение почти двух месяцев)
- Лицензия GPL? (нужно что-то, что учитывает приложения с закрытым исходным кодом)
- N2CMS
- Частичная поддержка ASP.NET MVC
- У каждого клиента должен быть отдельный домен
- Ограниченная активность источника (не мертвая, но и не живая)
- Orchard
- Спонсируемый Microsoft (это означает, что он, вероятно, будет чрезмерно спроектирован, раздуван и медленно работает, хотя у него есть некоторые хорошо известные и уважаемые участники / лидеры)
- Построен с использованием ASP.NET MVC
- С точки зрения функциональности выглядит многообещающе (но вряд ли будет стабильным на данном этапе)
- AtomSite
- чувствует себя достаточно зрелым и имеет приличную документацию, хотя и с дырками
- Построен с использованием ASP.NET MVC
- Ограниченная исходная деятельность, один разработчик
- MojoPortal
- Выглядит хорошо для портала, но, вероятно, требует сборки собственной логики в виде модулей вокруг продукта (я надеялся избежать такой блокировки, если это возможно)
- DotNetNuke (DNN), CommunityServer и Microsoft Office SharePoint Server (MOSS)
- Определенно не моя чашка чая;)
- BlogEngine.NET
- Зрелый и полнофункциональный
- Нет поддержки ASP.NET MVC
- Возможна интеграция, но не без большого количества Web.config voodoo
- Не уверен, поддерживает ли он разделение на клиентов
Учитывая приведенный выше список, я склоняюсь к AtomSite, N2CMS, Orchard или BlogEngine.NET.Если я остановлюсь на последнем, я буду использовать jitbit AspNetForum, который отлично подходит для моих нужд.
Я, вероятно, предпочел бы использовать собственное решение ASP.NET MVC и отдельные компоненты, так как это вероятночтобы дать мне максимальный контроль, но, с другой стороны, это усложнит тематику сайта и интеграцию.Какие комбинации вы пробовали, что работало хорошо, а что нет?Что-то важное, что я оставляю вне своей оценки?Любой другой соответствующий совет?
Я был бы признателен, если бы ответы были не просто одобрения вашего любимого продукта или способа ведения дел, но что-то, что помогло бы мне выбрать или устранить кандидатов на решение с учетом требований, изложенных выше.