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, которая всем понравилась. Ниже вы можете увидеть оформление, которое мы сделали на основе этой темы.

Tech Theme
DATC Theme

Мы разработали 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... победил Друпал!