HowToDoThings.com — это сообщество, в котором люди обмениваются опытом по тем вопросам, в которых они разбираются. После 6 месяцев планирования, переноса данных, разработки модулей, темы и тестирования мы рады объявить о новой версии этого сайта на Друпале.
На нашем сайте можно найти более 3 500 уникальных статей в более чем 300 категориях. Когда мы запустили бета-версию сайта, мы также были одним из первых сайтов, на которых был внедрён Google AdSense API framework, благодаря которому мы делились 50% своих доходов в Google AdSense с авторами статей.
Когда мы начали рассматривать переход на Друпал, наш сайт работал на самописной CMS использовавшей технологии ASPX/MSSQL/IIS. Кроме этого, сайтом полностью занималась нанятая нами компания, которая определяла хостинг, базу данных, разработку и обслуживание сайта и сайт полностью зависел от предоставляемых ей ресурсов. Новый сайт должен был быть построен на новом месте, протестирован и развёрнут новым подрядчиком.
Так как сложившаяся ситуация препятствовала росту нашего сайта, оценка систем, составление требований (уточнение и расширение возможностей текущего сайта), тестирование модулей, разработка новых модулей, разработка темы и перенос содержания со старого сайта заняли у нас шесть месяцев. Изучая возможности Друпала в поте лица, мы заложили своими усилиями хороший фундамент для будущего роста и прибыль от использования решения на основе открытого кода. В процессе работы над сайтом, мы также поделились своим опытом и с сообществом.
При изучении стандартных возможностей Друпала, наши редакторы были приятно удивлены следующими вещами:
Эти возможности мы получили бесплатно, просто выбрав Друпал в качестве своей CMS и даже не размещали их в списке требований к сайту. С точки зрения разработчика, Друпал позволял нам делать следующие вещи:
Мы установили около 50 дополнительных модулей, которые занимались на сайте решением разнообразных задач. Из-за грамотного подхода к кодированию, наши редакторы были приятно удивлены быстродействием и возможностью расширения характеристик сайта. Удобная работа со статусами документов (для документооборота) и быстрое получение нужных списков статей позволяет быстро и эффективно управлять содержанием сайта. Время не тратится на разработку, нужно только научиться работать с панелью управления.
Нужно добавить текстовый редактор к какому-нибудь полю профиля? Просто добавьте новое правило для TinyMCE и всё. Хотите увидеть изменения между оригинальной статьёй и внесёнными автором правками? Просто установите и настройте модуль Diff. Нужно организовать центральный пункт из которого можно управлять всеми новыми статьями? Просто установите и настройте модуль Views или Panels.
Мы хотели начать компанию по вербовке блогеров, с понятной и удобной системой отслеживания привлечённых людей. Мы хотели узнать не просто количество зарегистрировавшихся пользователей, но также подсчитать количество написанных ими отзывов и опубликованных статей. Поэтому мы установили модуль Referral и сразу же начали отслеживать переходы. В дополнение к этому модулю, мы написали ещё один, который отслеживал компанию в целом и создали страницу отчёта, на которую выводилась дополнительная информация о пользователе (в том числе количество опубликованных им статей). Сейчас мы может отслеживать рефералов на новом уровне, а не только учитывать информацию о том, кто кого привёл.
Включение и настройка модуля Referral, добавление дополнительной таблицы с получением информации о ходе компании, добавление информации в отчёт заняло всего 6 часов, но благодаря этому мы получили возможность отслеживать компанию на всём проекте.
Для интеграции сайта с Google AdSense API мы написали специальный модуль, который управляет обработкой данных. Используя NuSOAP, мы предоставили возможность регистрации новых участников в AdSense и сохранения их ID в нашей системе. Затем мы установили модуль AdSense.
Наша система работы со статьями основана на модуле Taxonomy Access Control Lite. Если участник хочет написать статью в какую-либо категорию, мы просим его заполнить форму, которая просматривается нашими редакторами (используется модуль Workflow для отслеживания статуса документов). Если заявка одобрена, то участнику даётся доступ к тем категориям, в которые он хочет добавить статью.
Страницы категорий представляют из себя панели, а статьи расширены полями созданными при помощи модуля CCK. При выводе статей в панелях используется информация о просмотрах статей, виды и модуль Taxonomy context.
Мы также создали специальный модуль, который занимается вопросами входа в аккаунт, изменением информации в формах, дополнительных страницах, меню, блоках и запусках cron. Эти 1 500+ строк кода связывают разные части сайта и не дают ему развалиться.
Как мы уже сказали, мы рады переходу на Друпал. Используя Друпал, мы уверены в том, что если нам понадобиться расширить характеристика сайта или изменить дизайн, то мы сможем быстро внедрить наши желания.