Существует некоторый сайт Х-conference на Drupal, которому необходима система регистрации участников на конференцию. Наиболее прямым казался способ использовать модуль WebForm, который собственно, и предназначен для сбора всяких контактных данных с клиентов, приема заказов и пр. Первый вариант регистрации и был основан на WebForm. К сожаленью при реализации данного проекта его ограничения не позволили реализовать всю требуемую функциональность проекта.
Проблема заключалась в том, что необходимо было вывести на сайт список всех зарегистрированных участников вместе с указанными ими данными. Кроме того желательно было иметь возможность настроить отображение данных. Модуль WebForm позволяет вывести полную статистику(во всяком случае наиболее полную с точки зрения разработчиков модуля). Можно дать возможность наблюдать данную статистику как админам сайта, так и рядовым, в том числе и неавторизированным пользователям. К сожаленью, более гибко настроить отображение данных полученных из форм не удалось. Модуль позволяет только или видеть всё или не видеть ничего.
Из-за этого ограничения и возникла необходимость поискать другие возможности реализации данной функциональности. После обдумываний решено было попробовать комбинацию CCK&Views.
Небольшая историческая справка про эти модули.
Итак после установки данных модулей был создан новый тип контента – аппликационная форма. В ней было несколько текстовых полей специфичных для регистрации, также присутствовал выбор текстовых вариантов из списка. Небольшим препятствием показалось сперва то, что Drupal насильно вставляет в данный тип контента два поля: Title и Body. И их присутствие в форме регистрации выглядело слишком чужеродно и было бы сложно пояснить это участникам конференции. Но путем просмотра подсказок к этим полям удалось выяснить что поле Body можно удалить из состава стерев его текстовое описание в свойствах данного типа. Поле Title было переименовано и цензурно вписалось в данные, которые надо спросить у учасника. Дополнительным преимуществом по сравнению с WebForm также была возможность с помощью модуля гибко настраивать доступ к определенным полям. Так были созданы поля, которые заполнялись модераторами после просмотра присланных. У пользователей естественно возможности их править не было и они лишь могли узнать в какой стадии рассмотрения находится их заявка.
Таким образом, первый этап замены WebForm был пройден – был создан новый тип контента, создавая его пользователь фактически вводит свои регистрационные данные. Второй этап был изящно решен с помощью модуля Views. Описывать создание странички-отчета в нем не вижу смысла. В интернете уже есть фундаментальные его описания и ничего специфичного при создании списка участников на конференции не было найдено.
Перспективы роста: данная схема кроме прочего предполагает последующую возможность правки введенных данных, как администраторам так и авторизированным пользователям, что также может быть полезным.
P.S. вариант с расширением стандартных профилей пользователей не рассматривался. Варианты внешних опросников типа Google Forms тоже не применялся в данном случае, так как желательно было все данные иметь в одном месте и не разбрасывать в «облака».
Краткое резюме: WebForm замечательный модуль, но если требуется гибкое отражение полученных данных – он малоприменим. Комбинация CCK&Views – это уже оружие убойной силы и его применение в данном случае очень удобно, хоть и повозиться надо несколько больше чем с WebForm. Но это повозится как раз и следует идеологии ”Drupal-way” в отличии от “Joomla-way” с помощью WebForm. И никаких холиваров!
Комментарии
Добавьте Auto NodeTitle и не придется ничего цензурно вписывать.
xtfkpi, ведь получается, для того чтобы пользователь мог создать новую заявку он должен создать новый тип материалов? а как же создать красивую и необходимую форму для новой заявки? такую как если бы применялся WebForm?
Вообще, как я понял, автор попытался найти универсальный модуль для решения его частной задачи. Очень жаль, что некоторые решения из разряда "готовых" его не устроили (я имею ввиду в т.ч. "комбинацию CCK&Views"). Тем не менее автор вольно или невольно провел аналогию с "Joomla-way", которая здесь не уместна. Писать пост о своих неудачах - право любого. Описывать проблемы и пути решения - респект автору. Говорить о том, что Joomla круче - кощунство.
Попытка найти то, что удовлетворило бы потребности без программирования не удалась. Вроде все хорошо, но это "все" лишь 10% необходимого.
Вот как раз последней фразой автор и сказал: Победа в этой войне за Joomla. Господа, просьба автору поставить на вид за столь поспешные выводы и приговоры. Ибо не столь тривиальные задачи решались Друпалом. А руками работать и программировать не грязное дело, а нужное. Нужное для достижения цели. Ибо кто, если не мы?