Почему стоит выбрать установленную CMS, а не создавать ее с нуля?

13

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

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

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

SkonJeet
источник
1
Зачем вам хотеть пройти через всю боль разработки (дизайн, кодирование, отладка, тестирование), если кто-то уже сделал все это для вас?
PhilPursglove
5
Есть документ за документом и веб-сайт за веб-сайтом с инструкциями и учебными пособиями о том, как пройти обучение таким корпоративным CMS. Зачем мне хотеть пройти через все трудности обучения и привыкания к их реализации, хотя на самом деле я мог бы развивать свою собственную с нуля с полным контролем?
1
Самая большая причина, по которой вы проходите через трудности обучения, заключается в том, что вы также пропускаете боль поиска неисправностей (надеюсь, в любом случае). И, если вы находите документацию, надеюсь, это также означает, что когда вам нужно кого-то обучать, документации гораздо меньше.
Sclarson
Существует более новая технология из старого подхода к установке CMS, при которой вам не нужно ничего изучать и вы можете программировать на своем родном языке. Я создал его сам, потому что мне надоела эта проблема с установкой или я использовал какую-то удобную CMS, которая работает для дизайнеров. Мой профиль немного о том, как это сделать.
Джейсон Себринг
@ sparks, Устранение ошибок других людей в 100 раз более раздражает, чем устранение ошибок ваших собственных ошибок.
Pacerier

Ответы:

9

Вы используете существующую CMS, чтобы избавиться от веса функций, которые, вероятно, важны для пользователей, которых вы не хотите отслеживать.

EPiServer, Umbraco, Orchard и т. Д. Имеют встроенные опции для отслеживания таких вещей, как версии, с каким контентом связан другой контент, как создавать формы и т. Д. И помимо этого у них есть события, которые вы можете подключить, чтобы изменить их как вы считаете нужным.

У них, как правило, есть тысячи часов устранения неполадок, так что почему бы не воспользоваться ими. Особенно в бесплатных версиях или версиях с открытым исходным кодом, где вам буквально ничего не стоит, кроме времени на изучение их API, которое я почти гарантирую, - меньше времени, чем вы тратите на воссоздание этой функциональности.

Так что, если вам не нужно перестраивать функциональность, которую они предоставляют, почему бы не использовать что-то, что, как известно, работает хорошо?

Вот лишь краткий список существующих функций, которые вам не придется реализовывать самостоятельно:

  • управление версиями контента
  • рабочий процесс
  • отчеты о статусе ссылки на страницу
  • Настройка редактора wysiwyg
  • моделирование контента (типы страниц / типы документов)
  • API для поиска контента
  • документация / обучение для редакторов и разработчиков
  • стратегии кеширования объектов
  • системы запросов контента для поиска
  • структуры иерархии контента (в любом случае в CMS, где контент находится в древовидной форме)
  • редактор просмотров
  • взгляды администратора
  • контроль доступа
sclarson
источник
Я отметил это как ответ, так как это наиболее полный список преимуществ, которые я получил бы, выбрав одну из упомянутых CMS. Я думаю, что мне, вероятно, понадобится испачкать их руки, чтобы полностью оценить преимущества.
Настройка вашей собственной системы является только «статус-кво» для облачных систем, если вы не цените контроль над своими собственными данными, владение своими серверами или не понимаете различий между вашим программным обеспечением и программным обеспечением, которое вы арендуете. Эти скрытые рекламные объявления для вашего бизнеса звучат очень странно для меня. Если вы искренне думаете, что облачная SOS CMS является хорошим выбором для ситуации ОП, тогда ответьте на нее и пусть сообщество проголосует за нее.
CodexArcanum
@CodexArcanum - не принимайте всерьез изумрудный код. Они являются генеральным директором компании, которая предоставляет эти услуги. Так что в основном их аккаунт - это одно гигантское объявление.
Ramhound
4

Нет НЕТ однозначного ответа о том, какие из них лучше. Это зависит от ваших потребностей, структуры, стоимости, силы человека и ряда других факторов.

Готовая / установленная CMS

Pros

  1. Сохраняет МНОГО времени. Некоторые из CMS, которые существуют уже много лет, содержат много человеческих часов. Вам может не понадобиться 10% функций в готовой CMS, но, тем не менее, это экономит время, а время не является бесплатным!
  2. Сохраняет МНОГО денег.
  3. Как правило , имеет ОГРОМНОЕ количество функций , которые , вероятно , работать для ваших нужд.

Cons

  1. Лицензия . Вам необходимо соблюдать лицензию на готовую CMS, которую вы используете. Это может не иметь большого значения, но, возможно, вы захотите изменить что-то, запрещенное лицензией, или вам будет запрещено использовать это в производственной среде.
  2. Тяжелый . Поскольку CMS, скорее всего, будет приспособлен для охвата как можно большего числа аудиторий. Возможно, у вас есть ограничение сервера или вы не хотите загружать лишние сценарии для базового управления контентом.
  3. Возможно написано немодульным способом . Допустим, вы внедрили заранее созданную CMS, и веб-сайт готов к тому, что клиент выйдет из системы и скажет: давайте развернем! Затем вы снимаете это на своего клиента, и они говорят: «О, я хочу добавить эту функцию в CMS!» Затем, если вы выбрали CMS, которая является очень сложной или не очень модульной, у вас могут возникнуть проблемы с реализацией их запроса функций, или это может занять слишком много времени.
  4. Унаследовать свои ошибки . Вы унаследуете все существующие ошибки в CMS. Это не проблема, поскольку их обычно легко обновить, но что если вы сильно изменили его части, чтобы добавить функцию?

Домашняя / изготовленная на заказ CMS

Pros

  1. С учетом ваших потребностей . Вы сможете интегрировать ТОЛЬКО то, что вам нужно, и сохранить высокую мобильность.
  2. Написано на вашем языке . Возможно, у вас есть веб-сайт ASP.net MVC и все CMS там написаны на PHP, но вам нужен тот, который написан на C # с использованием MVC и механизма просмотра бритвы (случайный пример idk). Гораздо проще поддерживать веб-страницу, которая является однородной и не имеет огромного PHP / JS / и т. Д. CMS посреди всего кода C #.
  3. Ваша / ваша компания владеет им на 100%, вы можете использовать его в любом количестве приложений без покупки дополнительных лицензий и т. Д.

Cons

  1. Трудоемко , поэтому дорого . Вы можете потратить любое количество времени на работу с CMS в течение нескольких десятков дней, в зависимости от того, сколько времени у вас занято, опыта и т. Д. И т. Д.

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


источник
2
Когда вы убираете время и деньги в качестве ограничений, редко есть причина не делать что-либо.
Sclarson
1
Реальные проекты @sparks ВСЕГДА имеют эти ограничения;)
1
Вроде того, что я говорил с моим комментарием. Скажем, минусы «трудоемкого» вида сахара покрывают объем работы, связанной с написанием с нуля. Вы пишете код, затем должны документировать / обучать, и у вас есть все время отладки / устранения неполадок для каждой написанной вами функции.
Sclarson
2

Возможно, вы захотите добавить веб-безопасность к обсуждению. Если вы создаете CMS с нуля, скорее всего, у вас будут уязвимости к ряду атак (см., Например, https://www.owasp.org/index.php/Top_10_2010-Main ). Если вы, с другой стороны, используете существующую CMS, она, как правило, будет более безопасной, но, с другой стороны, ее уязвимости будут более распространенными.

Так что это немного компромисс с точки зрения безопасности, но я бы сказал, что хорошо обновленная «стандартная» CMS более безопасна, чем домашняя, но в некоторой степени зависит, какую из стандартных вы выберете.

Однако, если вы используете «стандартную» CMS и делаете много изменений, вы можете нарушить путь обновления и в конечном итоге не сможете обновить вашу CMS, и, таким образом, вы уязвимы.


источник
1

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

Если это простой веб-сайт или у вас мало времени, CMS звучит великолепно!


источник
1

Причина номер один для создания собственной CMS - возможность со временем добавлять в нее свои собственные функции. С готовой CMS вы привязаны к архитектуре и технологии третьей стороны, которая ее создала.

Примеры:

  • Umbraco - использование XSLT для разметки - #fail

  • Orchard - изощренная и обучающая кривая для разработчиков Web Forms

...и т.д.

IrishChieftain
источник
1
Umbraco не требует XSLT, но это вариант.
Sclarson
Вы имеете в виду, что вы можете использовать исключительно CSS? Это был Umbraco, который также имел свой собственный язык разметки? Как и SkonJeet, мне также пришлось исследовать это на одном этапе.
IrishChieftain
2
У Umbraco есть веб-формы и опция mvc. Он никогда не требовал от вас использования собственного проприетарного языка. Вы всегда были на asp.net и всегда имели возможность запросить их хранилище данных и написать элементы управления для него, если хотите.
Sclarson
1
Другой CMS, которую я использовал, был N2, в котором был действительно элегантный код, настолько, что вы не могли его понять. По их мнению, этот код должен документировать сам себя, что представляет собой полный текст Ess.
IrishChieftain
1
Я сделал несколько сайтов в Umbraco и никогда не использовал XSLT. Насколько я знаю, в новой версии это даже не встроенная опция. Тем не менее, XSLT, по-видимому, чрезвычайно мощный (для 6 человек, которые могут это понять!).
EJ Brennan
1

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

Даниэль Оваска
источник
«Ваше внимание будет сосредоточено на другом месте» - лол
Тим Абелл