Компания Dahon, главный офис которой находится в Лос-Анджелесе, является всемирно известным производителем складных велосипедов. Производственная деятельность компании распространяется на США, Тайвань и Китай, а велосипеды продаются более чем в 30 странах. Недавно, Dahon перезапустила свой сайт, заказав новый у Zivtech. Эта статья представляет небольшой обзор того, как Zivtech разрабатывала этот сайт на Друпале.
Перед тем, как сайт был запущен на Друпале, он состоял из статических HTML-страниц на английском языке. Этот основной сайт был окружён другими такими же статическими сайтами на других языках, которые использовались для рекламы и продаж продукции в разных странах. Сайт был красиво сделан, но многие его элементы не были связаны друг с другом, что делало сложным обновление содержания редакторами (из-за статичности данных), а пользователям затрудняло навигацию по сайту (из-за возникавших отличий на разных страницах, опять же из-за его статичности).
Так как компания занимается складными велосипедами, то основной характеристикой сайта было описание отдельных моделей этих велосипедов. Каждый велосипед был связан с определённым набором принадлежностей, дополнительных частей, новостями, обзорами и так далее, эта информация нуждалась в добавлении или обновлении сотрудником компании. Это создавало проблемы и делало сайт негибким, приводило к противоречиям с различными типами содержания и со временем данная проблема только расширялась вместе с ассортиментом компании. Подобные обновления скоро стали тяжёлым грузом для сайта такого размера, а решение с динамическим обновлением данных, которое позволяет связывать различные части вместе, значительно бы повысило удобство и эффективность управления содержанием.
У Dahon есть продавцы, которые расположены в разных странах. У компании не было сайта, который позволял бы эффективно заниматься переводом статей на разные языки, обновлением содержания и предоставлением информации, которая специфична для той или иной страны. Существовали статические сайты для разных языков на которых делать всё это было затруднительно. Одной из задач для нового сайта было объединение этих разных сайтов одним интерфейсом, позволив делать переводы документов и их обновления, а также предоставление информации специфической для какой-либо страны простым занятием.
Для решения этой задачи мы использовали модули Domain Access и Internationalization. Эти модули позволили Dahon иметь один центральный сайт, с которого документы могут быть распространены на неограниченное количество региональных сайтов на разных языках. Развивая сайт в этом направлении, мы добавили модуль Translation Overview, который позволил создать таблицу, со списком документов сайта и показывать переводы этих документов на каждый язык. Это позволило Dahon быстро получать информацию о необходимости перевода на тот или иной язык, наладить документооборот и эффективно назначать задачи по переводу документов переводчикам. Для сотрудников компании доступен модуль Localization Client, который позволяет делать переводы используя интерфейс сайта.
У Dahon есть обширный список представителей по всему миру. Пользователи должны иметь возможность находить представителя компании в своей стране. Кроме того, система работы с представителями должна быть достаточно гибкой для того, чтобы справляться с обработкой новых представителей и определять местоположение пользователя.
Для того, чтобы выполнить это требование, мы разработали специальный модуль, который позволяет пользователям искать представителей компании в своей стране поблизости к своему почтовому индексу. При запуске сайта этот модуль позволял искать только небольшое число представителей. Однако в дальнейшем, мы предоставили возможность представителям регистрироваться на сайте и обновлять информацию о себе самостоятельно. Модуль использует основные хуки Друпала, включая node_api(), menu_alter(), form_alter() и некоторые функции Views API, которые позволяют внедрить регистрацию представителя в дальнейшем без переработки кода модуля.
Сложность типа документов «Велосипед» заключалась в том, что этот тип использовал 112 полей созданных с помощью CCK. Это связано с тем, что каждый велосипед может иметь связанный с ним набор возможностей, принадлежностей, дополнительной информации и обзоров, и все эти связанные материалы должны быть легко доступны пользователю. Эти поля связаны с другими частями системы и нуждаются в переводе и системе документооборота.
Из-за сложности типа документов «Велосипед» и громадного количества разнообразных характеристик и дополнительной информации связанной с велосипедом, Dahon требовалась эффективная система поиска, которая позволяла бы уточнять результаты по этим характеристикам. К сожалению, стандартная система поиска Друпала не предоставляет таких обширных возможностей, поэтому мы воспользовались системой Apache Solr Search, платформой для поиска с открытым кодом, которая предоставляет обширный список настраиваемых параметров. Для интеграции этой системы с Друпалом мы воспользовались модулем Apache Solr Search Integration.
Одна из отличных вещей в Друпале — это то, что он позволяет настроить детальный документооборот. При этом командам работающим над документами, не требуется обучение и они могут сразу приступить к работе с документами прямо на сайте. Простота и очевидность этих действий был очень важны для Dahon в связи с международной деятельностью этой компании и распределённостью этих команд.
Dahon нуждалась в настраиваемом документообороте, который позволял бы создавать и редактировать документы в удобном и интуитивно понятном потоке. Чтобы реализовать это, мы воспользовались модулями Workflow и Scheduler. Ключевой особенностью документооборота является возможность отправки оповещений пользователям определённых ролей, когда у документа меняется статус. Например, когда документ добавлен редактором и поставлена отметка о необходимости перевода, система документооборота информирует об этом переводчиков. После внесения соответствующих изменений, документ возвращается обратно для его одобрения редактором. Все версии документов сохраняются, поэтому если внесённые изменения неприемлемы, то редактор может отменить правку и вернуться к предыдущей версии документа. Если всё в порядке, то редактор может опубликовать документ немедленно или указать дату, в которую документ будет опубликован автоматически. Модуль Diff позволяет очень удобно просматривать сделанные изменения.
Dahon находится на первых местах в Google по запросам о складных велосипедах. Это то, что мы разумеется хотели оставить как есть при переходе на Друпал. Как знает большинство пользователей Друпала, эта система отлично справляется с поисковой оптимизацией сайта, даже без дополнительных модулей. Таким образом было бы достаточно просто использовать чистые адреса и соответствующее содержание, чтобы сайт был хорошо проиндексирован и получил высокие места в поисковой выдаче. Но для Dahon мы дополнительно установили модули Page Title и XML Sitemap (с помощью Дэйва Рейда), чтобы получить отдельную карту сайта для каждого домена и информировать поисковые системы о новом содержании сайта.
У Dahon уже был хороший дизайн, поэтому здесь наша работа свелась к созданию темы совместимой с Друпалом. В качестве основы мы использовали тему Zen. Мы хотели бы отдельно отметить следующие возможности темы.
Для разработки сайтов наших клиентов, мы используем модель Rapid Prototyping (быстрого прототипирования). Этот подход позволяет нашим клиентам оставлять свои отзывы к нашим действиям прямо в процессе разработки. Таким образом мы можем быстро реагировать и легко вносить изменения в работу. Для улучшения этого процесса, мы разработали модуль Unfuddle Feedback, который выводит для наших клиентов ссылку на каждой странице тестового сайта. Unfuddle Feedback связан с нашей системой Unfuddle ticketing, позволяя клиентам отправлять запросы при просмотре сайта, прямо с той страницы, на которой они находятся. В конечном счёте, это гарантирует понимание того, что мы говорим с клиентом об одной и той же странице сайта.
Использование модуля Unfuddle Feedback на разрабатываемом сайте, обеспечивает непрерывную связь с клиентом в процессе всей разработки, позволяя:
Комментарии
Спасибо за информацию. Очень полезный материал. Очень мало информации по работе над серьезными проектами на Drupal. Перевод тоже отличный, самому как-то было лень вникать. Еще раз спасибо за вкусности...
В который раз убеждаюсь, что на сегодняшний день, пожалуй, нет платформы для сайтов лучше, чем Drupal. Этот сайт о "лисапедах" тому подтверждение:)
trance
У вас не работают ссылки... Пример: ользовали модули Domain Access идем на http_//content-management-systems.info/drupal/project/domain видим: Доступ запрещён
У вас нет прав для доступа к этой странице.
Со временем заработают. Прав нет, потому что страница есть, но не опубликована, так как пока на английском. В очереди на перевод стоит.
Спасибо за оперативный ответ. Честно говоря, не ожилад такой скорости! Будем ожидать перевода. Спасибо еще раз!
112 сск полей! Аааа мой моск взорван))