Советы по созданию распределенной CMS?


Я нахожусь в процессе разработки системы управления контентом на основе PHP для личного использования и в конечном итоге для распространения. Я знаю, что уже существует множество CMS, но я действительно не нашел ни одной, которая отвечала бы всем моим потребностям, и я также хотел бы получить опыт обучения. Большое внимание уделяется безопасности, а также расширяемости и простоте использования. Для тех из вас, кто создал свою собственную CMS, какой совет вы можете предложить? Какие функции необходимы для ядра? Что должны быть дополнения? Что бы вы хотели знать, прежде чем начать? Какое самое большое потенциальное препятствие/проблема? Любые советы приветствуются.

Редактировать: Любые советы по маркетингу, что делать и чего не делать, также будут оценены.

Author: VirtuosiMedia, 2008-09-17

8 answers

Ну, создание собственной CMS на самом деле подразумевает, что это не продукт корпоративного уровня. Это означает, что вы не сможете на самом деле реализовать все функции, которые делают пользователей CMS счастливыми. Даже не большинство функций. Я хочу уточнить, что под CMS я на самом деле подразумеваю платформу для создания веб-приложений или веб-сайтов, а не платформу для ведения блогов или уменьшенную версию. Из личного опыта я могу сказать вам, чего я больше всего хочу в CMS.
1. Расширяемый - обеспечивает чистую и надежный API, позволяющий программисту выполнять большинство задач с помощью кода, а не с помощью пользовательского интерфейса
2. Простое создание и редактирование страниц - используйте шаблоны, используйте несколько URL-адресов для одной страницы, предоставляйте опции для перезаписи URL-адресов
3. Сделайте его компонентным. Разрешить пользователям добавлять пользовательские функции. Сделайте так, чтобы кому-то было легко добавить свой код, чтобы что-то сделать
4. Сделайте его SEO-дружественным. Это включает в себя метаданные, переписывание URL-адресов, хорошую карту сайта и т. Д.

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

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

 4
Author: Slavo, 2008-09-17 08:17:13

При построении нескольких итераций CMSS некоторые ключевые моменты оказались следующими:

  • Имея хороший редактор форматированного текста - конечные пользователи действительно не хотят работать с HTML. Консенсус, похоже, заключается в том, что FCKeditor является лучшим - недавно здесь было несколько вопросов по этому поводу
  • Позволяет пользователям добавлять новые страницы и легко создавать структуру меню/вкладок или перекрестные ссылки между страницами
  • Определение того, как поместить контент в шаблон и/или разрешить пользователям разрабатывать сами шаблоны
  • Выяснение того, как (и нужно ли) позволять людям вставлять контент из Microsoft Word - преобразование волшебных кавычек, emdash и странного словесного HTML
  • Включая функцию проверки орфографии (хотя в Firefox есть что-то встроенное, и iespell может выполнить эту работу для IE)

Некоторые менее важные, но полезные возможности: - Возможность динамического создания удобочитаемых и удобных для SEO URL-адресов (способ StackOverflow неплох) - Возможность показывать более ранние версии содержимое после его изменения - Возможность иметь песочницу для контента, чтобы он был вычитан или проверен перед выпуском - Обработка нескольких языков и неанглийских/не-ASCII символов

 6
Author: Leigh Caldwell, 2008-09-16 20:49:06

Если вы спросите 100 разных пользователей CMS о самом важном в их CMS, вы, вероятно, получите более 80 разных ответов.

Самым большим препятствием, вероятно, будут люди, которые спросят вас, почему вы создали новую CMS с нуля. Если вы не знаете ответа на этот вопрос, я не совсем понимаю, почему вы идете по этому пути.

Следует иметь в виду, что для интернет-CMS людям понадобятся точки интеграции со многими "обычными" сервисами. Рычаг существующие сервисы, такие как сайты обмена фотографиями, Twitter, OpenID и тому подобное, прежде чем создавать собственные проприетарные решения.

 2
Author: ahockley, 2008-09-16 20:50:38

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

Но если бы я начал все сначала (и я мог бы), вот совет, который я бы дал себе:

  1. вычистить все все все, введенные пользователем
  2. администрирование пользователей является отличительным признаком продукта. бонусные баллы за то, что вы можете обрабатывать копирование/вставку из WORD.
  3. расширяемость. 90 % комментариев, которые я получаю, исходят от разработчиков, которые хотят использовать cms для размещения "некоторых" страниц сайта, но не других. или они хотят встроить свои пользовательские сценарии на страницу среди содержимого. моя следующая cms будет настолько модульной, насколько я смогу справиться.
  4. многие люди абсолютно фанатичны в отношении чистых URL-адресов.
 2
Author: Carl Camera, 2008-09-16 20:50:40

С точки зрения маркетинга:

1) Сделайте его шаблоном способным.

2) Сделайте CMS SEF и укажите URL-адреса для поиска.

 1
Author: Gaurav, 2008-09-17 00:09:24

Если вам нужно создать пользовательскую функциональность, в которой ваша CMS действительно является окном для остальных бизнес-уровней, используйте что-то вроде PyroCMS или FuelCMS, которые основаны на платформе CodeIgniter.

Разработчики обычно теряются в сорняках с Drupal и Joomla! /Wordpress со временем быстро превращается в приколы со спагетти-кодом. Это то, сколько вы уже выпили из чаши для пунша Kool-aid.

 1
Author: DLo, 2011-06-09 16:10:29

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

 0
Author: toluju, 2008-09-16 20:48:54

Просто используйте Drupal.

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

Его безопасный (его используют НАСА и Белый дом), модульный, с открытым исходным кодом, он хорошо поддерживается, имеет репутацию чистых API и имеет сотни модулей от SEO до Wysiwyg....

 -2
Author: Richard, 2010-08-31 10:32:08