Выбор CMS по сравнению с порталом по сравнению с MVC+Components?

Я нуждаюсь в некоторой помощи, выясняющей, было ли это хорошей идеей использовать CMS или портала решение для моего последнего проекта, который является (в настоящее время) приложением MVC ASP.NET, которое должно обслужить несколько клиентов (являющийся компанией или некоторым другим объектом со списком пользователей) от единственной установки (то есть, решение для SaaS).

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

По существу я ищу некоторое руководство, чтобы помочь мне отбросить тупиковые опции (продукт не отвечает требованиям, вводит слишком много ограничений, не является сформировавшимся, и т.д.), и найдите неизведанные опции прежде, чем добраться слишком далеко впереди с проектом.

Мои требования для архитектуры включают:

  • Многоузловая поддержка (использующий единственный домен для хостинга)
    • Водонепроницаемое разделение содержания между клиентами
  • Полная интеграция через компоненты/функции
    • SSO (единая точка входа)
    • Опыт единственного сайта (совместно использованный заголовок/нижний колонтитул, объединенная навигация, объединил теги, и т.д.),
  • Простота разработки и развертывания
    • Пользовательская логика будет записана с помощью C# и ASP.NET, MVC и любые продукты должны поддерживать это
  • Я хочу остаться в управлении
    • Решение должно предложить функции, но иначе остаться вне пути (например, не вызвать глупые идиомы на мне, как настаивание на GUID для первичных ключей),
  • Сообщество активной разработки
    • Никакие усилия холостяка
    • Недавнее действие управления исходным кодом
    • Разумные уровни документации и зрелости
    • Не должен быть открытый исходный код

Я потратил изрядное количество продуктов оценки времени и компонентов, которые я кратко совместно использую здесь:

  • Umbraco
    • Не поддерживает ASP.NET MVC (все же, поскольку кто-то обязан иначе прокомментировать),
    • Большая общественная поддержка, активная разработка
    • Кажется, большая работа для начала работы
  • Kooboo
    • Никакое исходное действие (никакие обновления в течение почти двух месяцев)
    • GPL лицензируется? (нужно что-то, что допускает приложения с закрытым исходным кодом),
  • N2CMS
    • Частичный ASP.NET поддержка MVC
    • У каждого клиента должен быть отдельный домен
    • Ограниченное исходное действие (не мертвый, но не вибрирующий любой)
  • Сад
    • Спонсируемый Microsoft (что означает, что это, вероятно, будет сверхспроектировано, чрезмерно увеличено в размере кодом и замедлится, хотя это действительно имеет некоторых известных и уважаемых участников/приводить),
    • Созданное использование ASP.NET MVC
    • Взгляды, обещающие мудрый функцией (но вряд ли будет стабильно на данном этапе),
  • AtomSite
    • Чувствует себя довольно сформировавшимся и имеет достойную документацию, хотя с дырами
    • Созданное использование ASP.NET MVC
    • Ограниченное исходное действие, единственный разработчик
  • MojoPortal
    • Взгляды, хорошие для портала, но вероятно, требует, чтобы пользовательская логика была создана как модули вокруг продукта (я надеялся избежать такой привязки если возможный),
  • DotNetNuke (DNN), CommunityServer и Microsoft Office SharePoint Server (MOSS)
    • Определенно не моя чашка чая ;)
  • BlogEngine.NET
    • Сформировавшийся и полный функцией
    • Никакая поддержка MVC ASP.NET
    • Возможная интеграция, но не без большого количества вуду Web.config
    • Не уверенный, если это поддерживает клиентское разделение

Учитывая список выше я склоняюсь к AtomSite, N2CMS, Саду или BlogEngine.NET. Если я пойду с последним, то я буду использовать jitbit AspNetForum, который является большим соответствием для моих потребностей.

Я, вероятно, предпочел бы использовать пользовательский ASP.NET решение MVC и отдельные компоненты, поскольку это, вероятно, даст мне самый большой объем управления, но с другой стороны, это сделает сайт theming и интеграцию тяжелее. Какие комбинации Вы попробовали, что работало хорошо и что не сделало? Что-либо важное я упускаю из своей оценки? Соответствующий совет?

Я ценил бы его, если бы ответы не были просто подтверждениями Вашего любимого продукта или способа сделать вещи, но что-то, что помогло бы мне выбрать или устранить кандидатов решения, учитывая требования, обрисованные в общих чертах выше.

15
задан Peter Mortensen 27 October 2013 в 10:49
поделиться

3 ответа

С учетом указанного вами уровня требований мне лично придется склоняйтесь к индивидуальному подходу. Вы можете нанять кого-то, кто будет заниматься дизайном (просмотром) сайта за вас, или вы можете купить тему в Интернете у дизайнеров сайта и настроить ее по своему вкусу. (Иногда для настройки среднего уровня достаточно просто иметь место для начала).

  • Поддержка нескольких сайтов (с использованием одного домена для хостинга)

    • Вы, вероятно, захотите контролировать свою среду хостинга, используя VPS (виртуальный частный сервер) или выделенный сервер. Это все еще возможно на виртуальном хостинге, но не рекомендуется.
  • Водонепроницаемое разделение контента между клиентами

    • Вам, вероятно, придется создать уникальный пул приложений для каждого клиента с собственным пользователем услуг для 100% разделения.
  • Полная интеграция между компонентами / функциями / SSO (единый вход) / Работа на одном сайте (общий верхний / нижний колонтитул, унифицированная навигация, унифицированные теги и т. Д.)

    • Это будет сложная часть. Этот пример может дать вам некоторую полезную информацию в процессе разработки, но вам понадобится единая служба входа в систему, и все сайты будут ее использовать или ссылаться на нее.
  • Простота разработки и развертывания
    • Вот тут-то и возникают сложности. Думаю, легкость в развитии исходит от вашего опыта. MVC определенно является правильным выбором в этом отношении, так как знание правильных способов создания сайта в MVC поможет в этом процессе. Будьте в курсе последних событий, читая блоги сообщества и слушая подкасты, такие как Hanselminutes или DotNetRocks , которые помогут вам оставаться на связи с новейшими и лучшими инструментами / технологиями, которые помогут вашему сайту начать работу. быстро и эффективно.
    • Развертывание - сложное место. MSDeploy все еще не совсем готов. Но если вы можете, вы, вероятно, захотите придумать структуру публикации Dev -> Staging -> Release, чтобы вы могли протестировать свой код в промежуточной (имитированной производственной) среде.
  • Пользовательская логика будет написана с использованием C # и MVC, и любые продукты должны это поддерживать. Я хочу оставаться под контролем
    • Если вы разрабатываете сайт в ASP.NET-MVC, вы сможете создавать общие библиотеки, которые можно будет использовать не только на своем сайте, но и в собственных инструментах. Это значительно сократит дублирование кода и поможет обеспечить операционное единство . (Все так же работает).
  • Решение должно предлагать функции, но в остальном не мешать (например,не навязывайте мне глупые идиомы, например, настаивая на GUID для первичных ключей)
    • Хотя вы будете иметь контроль в этой ситуации, я бы настоятельно рекомендовал использовать первичные ключи GUID. Это позволяет использовать репликацию слиянием , которая может помочь вам легко восстанавливать резервные копии или использовать серверы БД с переключением при отказе, когда что-то идет не так.
  • Активное сообщество разработчиков
    • .NET имеет отличное сообщество (включая это), и вы должны получить большую поддержку, если попросите об этом вежливо.
  • Никаких усилий одного человека
    • Не уверен, что вы здесь имеете в виду. Вы были бы Одиноким человеком, если не наняли помощника, но даже два человека могут сделать великие дела, если потратите немного времени. Даже один человек может делать великие дела, но фреймворк, на котором вы здесь работаете, поддерживается огромной командой, финансируемой из коммерческих источников.
  • Последние действия в системе управления версиями
    • На самом деле не применимы к .NET, но многие библиотеки, которые вы можете использовать (NHibernate, MVC Contrib, AutoFac и т. Д.), Будут активно работать и постоянно улучшен.
  • Разумный уровень документации и зрелости.
    • .NET и большинство библиотек производственного уровня, разработанных для .NET (упомянутых выше), на самом деле имеют довольно хороший уровень документации. Существует несколько платных и неоплачиваемых источников информации только для .NET, а также большинство библиотек (хорошо поддерживаемых сообществом и известных в StackOverflow)
  • Не обязательно быть открытым исходным кодом
    • Ищите библиотеки поддержки, которые являются LGPL (т.е. вы можете использовать его в коммерческом программном обеспечении, но если вы измените библиотеку, вам придется выпустить новый код библиотеки, если вы выпустите двоичный файл.Здесь вы в безопасности, ваш сайт не обязательно должен иметь открытый исходный код, если вы используете эти библиотеки для поддержки своего развития.

Ну, это мои 2 цента. Описанный вами проект - непростая задача, вам предстоит проделать значительный объем работы, даже если у вас есть предварительная подготовка.встроенное решение (в основном его взлом, чтобы он работал так, как вы хотите). Я полагаю, что ваши самые большие проблемы будут связаны с SSO и безопасностью для готовых решений. Нельзя сказать, что это невозможно, просто сложно, и конечный результат может оказаться не совсем тем, что вы ищете.

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

5
ответ дан 1 December 2019 в 05:26
поделиться

Еще раз взгляните на MojoPortal. CMS отличная, а главный разработчик, Джо Одетт, очень отзывчивый. У меня есть несколько установок CMS, работающих на одном и нескольких сайтах.

0
ответ дан 1 December 2019 в 05:26
поделиться

Недавно я наткнулся на phpFox , который представляет собой социальную сеть / форумы / сайт сообщества CMS . Это может быть полезно для вас и стоит довольно недорого.

-1
ответ дан 1 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: