Davis Applied Technology College
Davis Applied Technology College расположен в Кайсвилле. Программа колледжа делится на следующие направления: бизнес и информация, строительство, медицина, промышленность, обслуживание и транспорт. DACT предлагает также индивидуальное обучение и подготовительные курсы. Девизом учебного заведения является фраза: «Мы изменяем жизнь».
Веб-команда
У нас не было недостатка в людях, которые желали высказаться о новом сайте. Поэтому мы решили собрать команду с 10 факультетов из учащихся и сотрудников, которые регулярно обсуждали план создания сайта. Эта команда сделала многие полезные приготовления к началу разработки сайта, потому что мы были в состоянии посмотреть на сайт с разных углов. Это помогло нам комфортно чувствовать себя при принятии решений и в конечном итоге получить более хороший результат.
Колледж нанял «веб-мастера», который являлся ответственным лицом за разработку сайта. До этого он имел опыт только по работе с HTML-кодом и отдельными PHP-сниппетами. Он не занимался кодированием на PHP и в его обязанности входило изучение параметров различных CMS, создание понятного сайта и дальнейшее управление содержанием. Разработка заняла около года (вместе с другими проектами, которые разрабатывались одновременно с сайтом). Полное время затраченное на сайт составляло около 8-9 месяцев (по 40 часов в неделю).
Выбор CMS
После месяца исследований, установки и опробования разных CMS, мы значительно сузили наш список. Мы провели две или три встречи, чтобы решить, какие параметры необходимы колледжу. На последнем собрании мы взвесили все за и против и победил Drupal, из-за своей гибкости и простого интерфейса. Старый сайт работал на DotNetNuke и имел большое количество проблем, поэтому нам было не сложно убедить сотрудников колледжа в отказе от DNN.
Вскоре после принятия этого решения стало очевидно, что Drupal был действительно отличным выбором. Мы стали просматривать форумы на drupal.org и раздел модулей и открыли для себя, что сообщество Drupal значительно больше и активнее, чем мы думали ранее. Больше всего нас порадовали в Drupal следующие вещи:
- Большое сообщество (активное и дружелюбное)
- Дополнительная коммерческая поддержка (Acquia и др.)
- Отличная настраиваемость (выяснили в процессе)
- Мультисайтинг (очень просто сделать)
- Удобное управление сайтом
- Огромное количество дополнительных модулей
Сервер
Когда мы выбирали программное обеспечение для сервера, мы остановились на Линус-системе. Железо мы выбрали ещё до начала работы с дизайном и остановились на сервере Dell с SUSE 10. Не знаю о специфических возможностях сервера, но он справляется со всем, что нам нужно. Вообще, у нас есть своя серверная с более двадцатью серверами, поэтому этот решение о сервере было для нас не самым важным.
Дизайн
Одной из вещей, которую мы проверяли с каждой CMS, была работа с шаблонами оформления. Работа с шаблонами в Plone нас просто возмутила, в основном из-за того, что эта CMS использует Zope Framework. Следующей была Magnolia, в которой работа с шаблонами была проще, но общее впечатление всё равно было не очень. А вот работа в Joomla и Drupal нам понравилась, и здесь в итоге победил Drupal.
Мы просмотрели темы для Drupal и в итоге взяли за основу тему Tech, которая всем понравилась. Ниже вы можете увидеть оформление, которое мы сделали на основе этой темы.
Мы разработали 3 или 4 версии перед тем, как сделать окончательный выбор.
Разработка
Главной вещью на разработке которой сосредоточилась веб-команда, были наши программы обучения. Это большая часть нашего сайта. Изначально, это было тем, где мы проводили большую часть времени разработки. Большую часть заняла работа над созданием документов и их выводом. Нам было нужно вывести некоторые поля CCK в блоке и остальные в основной части страницы.
Кроме создания и настройки страниц для наших программ, остальное время разработки было потрачено на решение следующих задач:
- Настройке новой «доски работ» с использованием CCK и Contemplate
- Настройке Magic Tabs в блоках навигации, чтобы чтобы показывать деревья меню для вошедших в аккаунты пользователей
- Интеграция сайта с нашим LDAP-сервером для простой идентификации
- Связывание LDAP Groups и Drupal Roles, чтобы сделать интеграцию более ясной
- Настройка путей, которыми пользователи могли бы добавлять сообщения об ошибках на сайте
- Миграция содержания со старого сайта
- Разработка модуля для Webform, чтобы автоматически собирать информацию в нашу CRM-систему
- ...
Дополнительные модули
- Actions — выполнение действий при возникновении определённых событий
- Administration menu — быстрая навигация по меню управления
- Advanced Contact — дополнительные возможности для модуля Contact
- CAPTCHA — тест на спам
- CCK — создание и управление дополнительными полями
- Click HeatMap — генерация карты кликов мышкой
- Computed Field — создание вычисляемых полей
- Content Templates (Contemplate) — создание и управление шаблонами страниц и полей
- Editview — создание видов с редактируемыми прямо в них документами
- Event — отслеживание событий по календарю
- External Links — подсветка внешних и почтовых ссылок
- FileField — тип поля — файл
- FileField Upload Limit — ограничение максимального размера загружаемого файла
- Google Analytics — использование на сайте сервиса статистики Google
- Iconizer — добавление значков на страницы управления
- IMCE — управление файлами
- Javascript Tools — набор яваскрипт-утилит
- Job Search — добавление анкет о поиске работы и поиск сотрудников по анкетам
- LDAP integration — интеграция с LDAP
- Login Destination — перенаправление после входа в аккаунт
- Magic Tabs — вкладки для переключения между страницами
- Matrix field — дополнительное поле для создания таблиц
- Menu Trails — привязка документов к пунктам меню на основе их типа или используемого термина
- Meta tags — управление мета-тегами страниц
- Node Auto Term [NAT] — создание термина (с таким же заголовком, как и у документа) при создании документа
- Node Profile — создание и управление документами-профилями пользователей
- Path Redirect — перенаправление с одного УРЛ на другой
- Prepopulate — заполнение форм из параметров УРЛ
- Private Upload — ограничение доступа к файлам загруженным через модуль Upload
- Remove Non-viewable Menu Items — проверка прав пользователя на доступ к пунктам меню
- Salesforce Webform Integration — интеграция модулей Webform и SalesForce API
- Scheduler — публикация документов по расписанию
- Search config — расширенная настройка поиска
- SMTP Authentication Support — Работа с СМТП-сервером
- Table Manager — менеджер таблиц
- TinyMCE — текстовый редактор
- Update Status — статус обновления проектов
- Views — создание и управление списками содержания
- Views Fast Search — более быстрый эквивалент фильтру видов Search: Index
- Webform — конструктор форм
- Workflow — документооборот
- Workflow-ng — документооборот
- XML Sitemap — создание карты сайта в соответствии с протоколом Sitemap
Первая страница
Много времени ушло на разработку первой страницы сайта. Мы плотно работали с группой маркетологов, чтобы убедиться в том, что мы вывели на ней то, что нам нужно, самым простым и профессиональным способом. Наш старый сайт имел ротатор изображений, которое изменялось при каждой загрузке. На новом сайте такого больше не происходит. Мы изучили много разных параметров и наконец нашли понравившуюся нам маленькую библиотеку на JavaScript, которая называется Smooth Slideshow. Мы добавили её код в шаблон page-front.tpl.php и нашли, что она очень ловко управляется с картинками. Всем, кто видел её работу она понравилась. Нам очень понравился такой способ показа различных событий и программ.
Типы документов
- Board Book: в документах этого типа используется только заголовок и дополнительное поле Filefield для загрузки PDF-файлов
- Job (External): этот тип используется для нашей внешней работы и документы добавляются одним из наших подразделений и внешними сотрудниками
- Job (Internal): похож на тип описанный выше, но используется для внутренних работ. Workflow используется для документооборота и оповещения все участников о новой работе
- News Item: используется для пресс-релизов и новостей. Мы используем в нём поле Node reference для добавления ссылок на пункты календаря
- Program Page: это самый сложный тип документов, который используется для публикации наших программ
- Program Sub-Page: он ещё разрабатывается. Он будет использоваться как дополнительных тип для документов Program Page, с помощью которого можно будет опубликовать дополнительную информацию
- Resume: анонимные и зарегистрированные пользователи могут создавать с помощью этих документов своё резюме и ссылаться на него при поиске работы
Заключение
Сейчас мы думаем, что лучшем нашим решением было решение о выборе Друпала в качестве системы управлением содержания нашего сайта. В конце работы Друпал превзошёл все наши ожидания. Колледжу потребовалось заплатить только одному разработчику, который написал нам специальный модуль, а всё остальное мы решили сами с помощью сообщества. Это очень много говорит о сообществе Друпала. Отличная платформа, великое сообщество и простая настройка системы. В войне CMS... победил Друпал!


