Как я могу решить, следует ли мне выпускать собственное программное обеспечение или использовать упакованную CMS (и соответствующие плагины)?


Я инженер-программист с небольшим опытом работы в Интернете, в настоящее время я хочу на самом деле использовать свой веб-хост и доменное имя для чего-то другого, а не для свалки файлов для файлов, к которым мне нужно предоставить доступ другим людям. Мой план состоит в том, чтобы каким-то образом развернуть личный/профессиональный веб-сайт и блог, либо используя готовые продукты FOSS, пользовательское программное обеспечение, либо готовые компоненты с пользовательскими модулями/плагинами.

Мои требования являются:

  1. Семантический HTML (хорошо сформированный, правильное использование атрибутов, микроформаты, где это уместно, использование CSS для стиля и HTML для разметки)
  2. Проверка HTML и CSS (XHTML, HTML4, HTML5 все приемлемо - при условии, что он проверяется из коробки)
  3. Поддержка блога
  4. Поддержка редактирования и управления моим резюме в форме HTML, а также управления загруженными файлами в форматах PDF, ODT и DOC, которые я предоставляю для загрузки
  5. Написано на языке, который я знаю и мой хост поддерживает - предпочтительный PHP, так как это проще всего для моего хостинга, и я также знаком с ним
  6. Легко получить или написать тему для
  7. Поддержка статических страниц, которые редко меняются (обо мне), статических страниц, которые иногда меняются (списки проектов), динамических страниц (блог, комментарии) и форм (свяжитесь со мной)
  8. Хорошо сочетается с другими инструментами в той же среде - я использую Trac на том же хосте для управления проектами и могу развернуть другое программное обеспечение, такое как персональный Развертывание MediaWiki
  9. Легко интегрируется с другими социальными сетями (Twitter? Facebook? Пандора?) - не требуется, но было бы неплохо
  10. Создание и обслуживание карты сайта и/или robots.txt

Мои вопросы:

  • Какое решение FOSS, если таковое имеется, было бы подходящим для меня? В прошлом я играл с Drupal и WordPress - WordPress показался мне надежным инструментом, но в то время был очень ориентирован на блог (я понимаю, что в последнее время он изменился, чтобы быть более CMS-подобный).
  • Какие бесплатные (но не с открытым исходным кодом) решения могут подойти мне? Я бы предпочел иметь полный доступ к источнику, но это не является обязательным требованием.
  • Если я собираюсь свернуть свой собственный, с чего мне следует начать? Я бы предпочел не использовать свой собственный - мой опыт разработки программного обеспечения говорит мне, что мои требования должны быть общими, и я должен быть в состоянии найти некоторые существующие решения, которые я могу объединить, чтобы сделать эту работу.

Спасибо.

Author: Thomas Owens, 2010-07-20

8 answers

Вопрос о покупке и сборке является вечным. Я бы сказал, что WordPress и Drupal оба соответствуют вашим критериям. У меня больше опыта работы с WordPress, поэтому я бы сделал это в WordPress. Для удовлетворения ваших требований:

  1. Семантический HTML (хорошо сформированный, правильное использование атрибутов, микроформаты, где это уместно, использование CSS для стиля и HTML для разметки)

    Да, большинство тем для WordPress используют xhtml по умолчанию без проблем. Разметку, связанную с микроформатами, вам, вероятно, придется выполнять вручную в представлении html, хотя могут быть плагины, которые облегчают это.

  2. Проверка HTML и CSS (XHTML, HTML4, HTML5 все приемлемо - при условии, что он проверяется из коробки)

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

  3. Поддержка для блог

    Да, безусловно.

  4. Поддержка редактирования и управления моим резюме в форме HTML, а также управления загруженными файлами в форматах PDF, ODT и DOC, которые я предоставляю для загрузки

    Да, просто сделайте резюме статичной страницей и управляйте загруженными файлами с помощью собственного инструмента управления мультимедиа в WordPress.

  5. Написано на языке, который я знаю и который поддерживает мой хост - PHP предпочтительнее, так как это проще всего для моего хостинга, и я также знаком с ним

    Да, WordPress = PHP + MySQL + Apache лучше всего подходит для mod_rewrite

  6. Легко получить или написать темы для

    Да, см. Развитие темы

  7. Поддержка статических страниц, которые меняются нечасто (обо мне), статических страниц, которые иногда меняются (списки проектов), динамических страниц (блог, комментарии) и форм (контакты я)

    Да страницы управляются в WordPress в разделе Страницы интерфейса. Контактные формы хорошо работают с такими плагинами, как Контактная форма 7

  8. Хорошо сочетается с другими инструментами в той же среде - я использую Trac на том же хосте для управления проектами и могу развернуть другое программное обеспечение, такое как персональное развертывание MediaWiki

    Да, хотя вам может потребоваться добавить некоторые правила перезаписи, чтобы не все указывало в WordPress. Я запускаю WordPress в подкаталоге и обычно позволяю ему обрабатывать все. Возможно, вам потребуется добавить спецификатор, чтобы WordPress игнорировал элемент каталога MediaWiki.

  9. Легко интегрируется с другими социальными сетями (Twitter? Facebook? Пандора?) - не требуется, но было бы неплохо

    Да, через плагины. По умолчанию вы также можете вставлять RSS-каналы в боковые панели WordPress.

  10. Создание и поддержка карты сайта и/или robots.txt

    Да, Генератор карт сайта Google.

 6
Author: artlung, 2010-07-21 15:42:19

Я использовал Wordpress для создания нескольких сайтов, каждый с разными потребностями, и я думаю, что Wordpress также удовлетворит ваши потребности:

  • http://chaos.trader.name / - В основном информационный сайт, ориентированный на страницы, с некоторыми блогами.
  • http://ludus.unicornsrest.org / - В основном блог, но с глубоко вложенной структурой страниц. Я написал плагин для создания ссылок на страницы в сообщениях, позволяя мне переставлять страницы.
  • http://driia.com / -- Бизнес-сайт моей жены, как блог, так и сайт продаж. Я написал плагины, которые позволяют автоматически группировать сообщения на страницах на основе категорий и тегов и распознавать, что сообщения с определенным тегом представляют ювелирные изделия или произведения искусства, которые продаются. Цены продажи хранятся в виде метаданных в сообщениях.
  • http://barkingmad.org / -- Рекламный сайт некоммерческой развлекательной группы.

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

 2
Author: Craig Trader, 2010-07-21 16:15:48

Я не думаю, что вы найдете какой-либо проект FOSS, который делает то, что вы хотите, чтобы он делал OTB. WordPress надежен, но вам придется немного поработать, чтобы создать то, что вы хотите. Друпал может быть большей головной болью, чем кажется на первый взгляд. Я знаю, что людям это нравится, и я знаю, что пытался, но я бы предпочел не беспокоиться о необходимости поддерживать такое количество взломов между обновлениями версий.

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

Предостережение заключается в том, что с тех пор, как Мэтт Малленвег (генеральный директор Automattic, компании, стоящей за WordPress) начал натягивать Ричарда Столлмана на всех, он верит и выступает за то, что все темы (код темы, а не изображения/css) и плагины (код плагина) являются GPL в силу того, что они являются производной от WordPress в его (что я лично нахожу искаженным) представлении. Так что вы хороши, если делаете это для себя, но если у вас есть "дистрибутив", например, предоставьте плагины 2 люди, вы можете быть юридически обязаны сами их ОС, что вы можете или не хотите делать.

 1
Author: intlect, 2010-07-20 22:33:34

Это зависит от того, что вы хотите сделать, и как из этого выйти:

  1. Изучите технологический стек
    Я написал большую часть кода, который использует мой личный сайт в качестве учебного упражнения, чтобы быть в курсе последних изменений в технологии, с которой я работал, и изменил его по мере изменения моего фокуса - первоначально это был классический сайт ASP, затем он перешел на ASP.NET 1.1, затем до 2.0, и теперь работает на ASP.NET MVC 2.0 после недавнего обновления с ASP.NET MVC 1.0
  2. Просто запустите свой сайт
    Как на работе, так и для нескольких церковных сайтов, которые я запускаю в свободное время, я использовал пакетное программное обеспечение - на работе мы говорим о CMS "enterprise" (MOSS, Tridion), для церковных сайтов это FOSS (N2 CMS) - потому что они предлагали функции, выходящие за рамки тех, которые я был готов написать.

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


Отвечая на комментарий

Тогда я бы рекомендовал выбрать один из них с полки - я не могу предложить много рекомендаций в области PHP, так как, боюсь, это не моя специальность. Если вы можете справиться с некоторыми C#N2 CMS очень гибкая, но не имеет огромной базы плагинов/тем чего-то вроде WordPress, что, судя по звукам, вероятно, удовлетворит ваши потребности довольно хорошо...

 1
Author: Zhaph - Ben Duguid, 2010-07-20 22:49:15

Я зарабатываю на жизнь созданием CMS корпоративного уровня... и лично я НЕНАВИЖУ готовые системы, такие как Joomla, Wordpress и Drupal. Вот мои причины:

1) В местах, где я работал, эти (типы) пакетов использовались несколько раз, потому что мы недостаточно быстро их обновляли.... и в некоторых случаях обновления могут быть еженедельными. Как только вас взломают, вы серьезно зададитесь вопросом, зачем вы вообще пошли на это route...it ВОНЯЕТ.

2) Шаблоны Wordpress сводят с ума. У одного будет полнофункциональная административная область, в то время как в следующей ее нет, и она ожидает, что вы взломаете код. Где искать? ААААА!!! Я использовал их много, но каждый раз мне больно. На мой взгляд, Wordpress - это система блогов... используйте ее для того, для чего она предназначена.

3) На предыдущей работе я разместил сотни сайтов Joomla (и Мамбо). Даже когда вы узнаете, что делаете, удачи в попытках вырваться из этого типа "макет Joomla".... особенно если время не на вашей стороне. То же подходит для Wordpress...вы можете ОПРЕДЕЛИТЬ, когда находитесь на сайте Wordpress. Нет, спасибо...Мне платят за оригинальную работу.

4) Обучение. Попробуйте объяснить кому-нибудь администрирование Joomla или Drupal за 5 минут или меньше. CMS, которую я создал, можно обучить кого-то с помощью одного абзаца письменных инструкций (или меньше), потому что я создал ее, чтобы включать только инструменты, необходимые для каждого конкретного веб-сайта... в противном случае кнопка исчезнет. Я призываю вас попытаться обучить кого-то, у кого меньше телефона книга стоит инструкций, особенно если они технически не подкованы.

5) Соответствие стандартам...это то, в чем я лично не пойду на компромисс. Я контролирую все, что выводит моя CMS, и я построил ее таким образом, что примерно дюжина строк кода может быть вставлена в любой HTML-совместимый шаблон за считанные минуты, чтобы каждый раз создавать совместимый код. Wordpress в этом хорош, Joomla и Drupal не всегда так хороши.

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

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

Удачи.

 1
Author: bpeterson76, 2010-08-20 19:22:41

Похоже, что для вашего случая использования упакованная CMS, вероятно, является лучшим вариантом.

Прошло несколько лет с тех пор, как я в последний раз оценивал PHP CMS, и в то время моим главным требованием была чистая расширяемость. В то время Joomla была сильным соперником, и Xaraya выглядела интеллектуально интересной, хотя цикл разработки казался медленным.

Если вам интересно попробовать несколько из них, сайт OpenSourceCMS позволяет вам попробовать, фактически не устанавливая себя. В прошлый раз, когда я пробовал, это показалось мне гораздо менее навязчивым, но, думаю, вам придется оплачивать счета. Многие CMS также запускают свои собственные демонстрационные сайты (например, Демонстрация Joomla, Демонстрация Xaraya)

 0
Author: JasonBirch, 2010-07-21 03:05:57

Если у вас есть куча времени и зуд, который никуда не денется - да, сверните свой собственный. В противном случае установите WordPress (" знаменитая установка за 5 минут ") и дайте себе 2 часа... это все, что вам нужно, чтобы получить очень хорошую идею.

Я хотел опубликовать пару комментариев в ответ на предыдущие ответы - вы определенно можете создавать веб-сайты, которые являются "страницами" с WP, а не просто блогами (и это очень хорошо для создания веб-сайтов с интегрированными блогами), и согласиться с комментарием @intlect о темы. Может быть огромная разница в качестве некоторых тем (также хорошее место, чтобы узнать/посмотреть, как работает WP) - меня пару раз кусали, также обновляя WP, чтобы обнаружить, что тема несовместима с более новой версией (и тогда вы узнаете, насколько хороша поддержка разработчика).

 0
Author: , 2010-07-21 19:08:53

Конечно, есть и третий вариант, вы могли бы использовать менее "тяжелую" CMS, такую как MODX это позволило бы вам не изобретать заново колесо всех стандартных cms (управление пользователями, управление документами и т. Д.), Предоставляя вам легкую гибкую среду для создания собственного кода. Я использовал несколько CMS, и у всех них есть своя ниша, но если вы хотите что-то, для чего легко разрабатывать, и достаточно легкое, чтобы вы могли понять это без недель копания (некоторые из систем CMS - действительно мощные звери... то, что вам, вероятно, не нужно для личного веб-сайта). MODX в основном создан именно для того, что вы хотите сделать, он предоставляет вам основные функции, а затем вы добавляете в него свои собственные. Кроме того, люди делятся своим кодом, поэтому вы находите фрагменты, модули и т. Д., Которые использовали другие.

 0
Author: , 2010-07-22 13:42:11