Разверните свою собственную или используйте существующую CMS (возможно, Drupal?)

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

Большая часть веб-сайта, по сути, будет служить интерфейсом для базы данных. Нам нужно, чтобы несколько человек вводили данные в формы. Затем мы хотим иметь возможность отображать разные представления всех этих данных, включая выполнение небольших запросов (например, сколько ресурсов у нас есть с атрибутом 'X'). Как это обычно бывает, нам нужно регулярно настраивать пользовательский интерфейс.

Фактический дизайн данных - это не простое отображение ресурса на запись 1: 1. Например, мы можем отслеживать несколько атрибутов для одного элемента как «базовый набор данных» для этого элемента. Тогда у нас может быть несколько дополнительных наборов данных.

Представьте себе рецепт приложения. У вас может быть рецепт на стартер. Затем на это можно ссылаться в нескольких других рецептах, которым нужна такая же информация.

Мне кажется, что это лучше всего подходит для общей структуры (Ruby on Rails, Django и т. Д.), Но мне интересно, может ли это быть хорошо для «традиционной» платформы CMS, такой как Drupal? Я специально упоминаю Drupal, поскольку люди, которые его разработали, обладают наибольшими знаниями в области php и MySql.

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

Вы бы порекомендовали написать наш собственный или использовать существующий фреймворк? Если бы вы предложили использовать что-то существующее, что бы вы порекомендовали?

Вы считаете, что это лучше всего подходит для простого фреймворка или для простой CMS?

Спасибо!


person Hortitude    schedule 24.11.2008    source источник
comment
Не могли бы вы немного рассказать о том, что вы хотите делать с этими данными, когда они появятся в системе? Кроме того, если честно, насколько хороши ваши разработчики? Можно добиться успеха, используя существующую кодовую базу (будь то Drupal или плоская структура), но 3-5 недель может быть недостаточно для того, чтобы действительно изучить структуру, достаточно, чтобы увидеть чистую выгоду.   -  person Sean McSomething    schedule 04.05.2009


Ответы (6)


Возможно, Drupal станет для вас хорошим решением, хотя вам, вероятно, понадобится несколько ключевых дополнительных модулей, таких как «Content Creation Kit» (CCK) и «Views».

В отличие от других веб-систем CMS (WordPress, Exponent, phpNuke), Drupal рассматривает ваши записи как «пул» контента, из которого вы извлекаете различные подмножества для различных областей вашего сайта.

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

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

И последнее замечание: написав свою собственную CMS с нуля, от которой я отказался в пользу Drupal, я бы предположил, что ваша оценка за 3-5 недель, вероятно, будет невысокой.

person Bevan    schedule 25.11.2008
comment
Я также написал с нуля свою собственную CMS и отказался от нее в пользу Drupal. Использование Drupal (или другой подобной системы) избавляет вас от головной боли, гораздо проще передать другому разработчику и хорошо смотрится в вашем резюме. К CCK и представлениям Drupal нужно немного привыкнуть, но то же самое с любым фреймворком. Это все еще проще, чем DIY! Я также хотел бы указать вам на таблицы стилей blueprint, которые довольно легко настроить и выглядят великолепно. - person CJBrew; 31.01.2012
comment
Что касается 3-5 недель, это зависит от того, чем вы собираетесь заниматься. Я думаю, что это немного легче, если вы только начинаете работать с Drupal. В Drupal есть несколько досадных причуд, которые сведут вас с ума, пока вы не поймете, ПОЧЕМУ он так поступает. Мне потребовалось несколько месяцев (хотя я работал над этим всего пару вечеров в неделю), чтобы заставить сайт, который я создавал, представлять данные так, как я хотел. По мере того, как я узнал больше, я обнаружил, что большинство сделанных мною настроек не нужны из-за умного использования правильных модулей плагинов. - person CJBrew; 31.01.2012

Держитесь подальше от Drupal для любых сайтов, требующих настраиваемой функциональности. Недавно я использовал Drupal для веб-сайта на работе, и было ОЧЕНЬ сложно понять, как заставить его делать то, что я хочу. Существует много документации, но все она бесполезна - она ​​отвечает на очень конкретные вопросы по конкретным проблемам, но не дает никакого контекста относительно того, как вы подойдете к созданию сайта в целом. Если вы программист, использование более общей структуры, вероятно, будет работать лучше, поскольку CMS предназначены для определенного типа сайта, и если вы хотите, чтобы ваш сайт имел нестандартную функциональность, вы будете бороться с системой вместо работаю с ним. Если ваши разработчики наиболее опытны в PHP, попробуйте одну из фреймворков PHP, имитирующую архитектуру Rails, например cakePHP или CodeIgniter.

person Community    schedule 25.11.2008
comment
Так обстоит дело с большинством CMS. Им нужно время, чтобы научиться ... почти столько же, сколько иногда кажется программированию. - person dtc; 25.11.2008

CMS обычно имеют смысл, когда у вас есть широкий и потенциально расширяющийся набор различных типов и режимов контента, с которыми вам нужно работать. В Drupal их буквально десятки. Учитывая, что вы упомянули RoR, похоже, что вам нужна скорее структура стиля MVC. Возможно, это похоже на то, с чем был построен stackoverflow. .NET проблема для вас?

Однако, если вы действительно ограничены 3-5 неделями, я думаю, что стратегия на основе Rails имеет смысл, поэтому используйте RoR или CodeIgniter.

person Scott Evernden    schedule 25.11.2008

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

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

person dtc    schedule 25.11.2008

Забавно, что вы спросите ... Я только что наткнулся на это сегодня днем ​​в Linkpalooza SD Time:

Десять мощных бесплатных систем управления контентом…

В комментариях к этому посту упомянуто как минимум 4 человека.

Кажется, не имеет смысла разрабатывать новую, так много из чего выбирать!

Кстати, это не рекомендация и не одобрение какой-либо конкретной CMS.

person Ken Gentle    schedule 25.11.2008

Рассматривайте Drupal как фреймворк. Основные модули + CCK + Просмотры - хорошее начало для дальнейшего развития.

Если вы делаете что-то, что, возможно, хотите предоставить другим приложениям, рассмотрите модуль Services. Было сделано много интересного с подключенными гибкими интерфейсами для запуска служб drupal с помощью amfphp.

person Community    schedule 02.05.2009