Как насчет использования программы с открытым исходным кодом? : -)
Сегодня единственными причинами для разработки новой CMS являются:
1) необычные требования (смертельно редкие)
2) Вам просто нравится кодировать «свою собственную CMS» (c)
Если нет, возьмите проект с открытым исходным кодом.
Лично у меня есть собственная CMS для всех моих личных и коммерческих целей, но в основном это было просто для удовольствия от программирования. Если вам нужно доставить, вы должны использовать существующие продукты.
Что ж, я могу создать простую CMS менее чем за день (и каждый может сделать это с любой хорошей веб-структурой). Так что это зависит от того, насколько это сложно и насколько решения с открытым исходным кодом могут делать то, что вы хотите, чтобы ваша CMS выполняла. Я обычно избегаю использования CMS с открытым исходным кодом, потому что это обычно перебор по сравнению с потребностями моего обычного клиента, но это я. Большинство CMS с открытым исходным кодом (drupal, joomla, wordpress) имеют множество функций, которые большинству людей просто не интересны, и они загромождают свой пользовательский интерфейс, поэтому я предпочитаю создавать свои собственные, насколько это просто, вместо того, чтобы использовать открытый исходный код и бороться чтобы добавить новую функцию и сделать ее масштабируемой.
Как дизайнерское агентство, предположительно с рядом клиентов с действующими веб-сайтами, которые постоянно нуждаются в изменениях, что отвлекает персонал от новых проектов,
Мой первый вопрос: собираюсь ли я перенести моих существующих клиентов на версию их сайта на основе CMS
Затем, каковы общие черты / различия в сайтах ваших клиентов?
Если есть много общего (во внутреннем коде, в отличие от внешнего интерфейса design), тогда, может быть, все, что вам нужно, - это интеграция базового редактора статей?
Посмотрите, как CMS повлияет на ваш процесс проектирования. Тогда ваши проекты будут «Темами» CMS, это будет кривая обучения.
Я не пытаюсь отговорить вас от покупки или создания CMS, но решение будет полностью зависеть от ситуации в вашей компании.
Лично я использую Joomla и DotNetNuke. Я разработчик, а не дизайнер, поэтому покупаю готовые темы и модифицирую их. Когда я только начинал, у меня не было клиентов. Я решил использовать CMS специально, потому что я мог покупать темы, а во-вторых, это был заказчик, изменявший статьи.
Не изобретайте велосипед. На создание CMS уходит действительно много времени и денег.
На вашем месте я бы выбрал CMS с открытым исходным кодом, начал бы создавать собственные вещи и вносить свой вклад в то, что вы можете (так работает компания там, где я работаю).
Я выбрал Drupal из-за богатого набора вкладов, отличной гибкости / расширяемости и хорошей безопасности.
Это сильно зависит от того, что вам нужно, но многие CMS представляют собой платформу, на которой вы можете строить, используя лучшее из обоих миров.
Wordpress имеет очень богатую структуру плагинов.
Если вас устраивают серверы Windows, SharePoint имеет обширную архитектуру подключаемых модулей / расширений.
Я не думаю, что есть смысл создавать с нуля, если вы не планируете конкурировать на рынке CMS.
Можете ли вы разработать новую CMS так же хорошо, как некоторые другие, которые существуют уже много лет, и над ее разработкой работали сотни людей?
Это вопрос, который я всегда задаю себе в начале каждого проекта по созданию веб-сайтов. Несомненно, существует хорошая платформа с открытым исходным кодом, которая отвечает вашим требованиям и которую вы можете улучшить.
Я предлагаю следующее:
Liferay : для крупных организаций и продвинутых проектов он написан на java. Мне лично нравится эта CMS. Его используют в крупных организациях, таких как НАСА, и моя компания использовала его для проекта, это было здорово.
Plone : то же, что и выше - language = Python
EZPublish для крупных организаций, но не такой продвинутый, как Liferay - language = PHP
Joomla и drupal для обычных веб-сайтов.
Очень важная причина, по которой вы можете захотеть выбрать что-то уже созданное (FOSS или коммерческое), заключается в том, что кто-то другой может его поддержать.
PS
Я использовал CMSMS в различных проектах. У него достаточно пользовательского контроля, чтобы позволить им редактировать, но не возиться с макетом и прочим.
Я думаю, это зависит от того, сколько клиентов должны использовать CMS.
У нас есть только один клиент, и мы создали проприетарную CMS, которую мы тщательно настраиваем в соответствии с конкретными потребностями клиента. Это также дает нам стратегическое преимущество, так как этот клиент вряд ли сможет сейчас перенести свои веб-сайты в другую компанию.
Если у вас есть пара (> 2) клиентов, которые должны использовать CMS, ИМХО CMS с открытым исходным кодом будет лучшим выбором.
Я не могу представить CMS с открытым исходным кодом, которая не предоставляет все, что нужно большинству компаний. вы получаете преимущества исправления ошибок, небольшого времени развертывания и простоты документации. При выборе CMS старайтесь использовать не слишком громоздкую и не слишком популярную. большинство CMS допускают легкое расширение, поэтому, если у клиента есть особые потребности, легко добавить функциональность.
Компания, в которой я работаю, недавно боролась с тем же вопросом. Это во многом зависит от опыта и потребностей вашего клиента. Как правило, не рекомендуется создавать собственную CMS, если вы не используете ее для предложения чего-то очень нового.
В Drupal доступно множество подключаемых модулей, обеспечивающих широкие возможности настройки. Это удобно так же, как и большинство CMS, поскольку вы можете использовать файлы PHP в качестве шаблонов и кодировать их вне CMS.
У Wordpress лучший пользовательский интерфейс из всех CMS, которыми я пользовался (Drupal, EE, Wordpress, Joomla). Если вам нужно программировать плагины, они также очень хорошо документированы и (когда плагин готов) предоставляет интерфейс перетаскивания для клиента, чтобы легко вносить изменения на свой собственный веб-сайт.
В настоящее время я переношу наш сайт с EE на WP.
Во-первых, чтобы ответить на ваши вопросы о сборке или покупке - вы были бы сумасшедшим, если бы собирали. Ресурсы, необходимые для поддержки кода, который вы пишете по мере его изменения для удовлетворения потребностей каждого клиента, в конечном итоге обойдутся вам в целое состояние в долгосрочной перспективе. Трудно превзойти ресурсы тысяч разработчиков, которыми располагают многие крупные проекты. Есть ли в вашей фирме специалист по безопасности? Как насчет команды контроля качества, которая постоянно ищет и устраняет ошибки? Если вы не пытаетесь создать узкоспециализированное приложение, выберите CMS и работайте с ней.
Далее, возможность внедрить CMS на многие типы сайтов полностью зависит от разработчиков вашей фирмы. Если ваш разработчик знает XYZ CMS, то он сможет взять любой дизайн и заставить его работать на CMS. В любой хорошей CMS слой дизайна полностью отделен от контента и кода, поэтому дизайн никоим образом не должен ограничиваться CMS. Это просто вопрос изучения конкретной системы шаблонов, используемой выбранной вами CMS.
Наконец, я удивлен, что никто не упомянул решение вашего желания ограничить степень контроля ваших клиентов над своими сайтами. Как уже упоминалось, вы можете пойти по маршруту SaaS и никогда не предоставлять клиенту доступ к административной части сайта. Любой из хороших проектов CMS предлагает редактирование внешнего интерфейса. Это позволит вашему клиенту добавлять/удалять/редактировать контент на сайте, не предоставляя им доступ к чему-либо, связанному со структурой или дизайном.Вы можете полностью контролировать администрирование, макет и функциональность, в то время как клиент просто контролирует только контент, что похоже на то, чего вы пытаетесь достичь.