Знакомство с drupal
Жисть заставила меня взяться за изучение друпала (Привет, Георгию :). Получаемый жизненный опыт выложу тут. И сам буду приходить почитать, чтобы потом воспроизвести и мот кому другому пригодится.
Предыдущее знакомство с drupal'ом состоялось около года назад, когда я занимался обзором различных CMS для применения в производстве. От друпала тогда отказался из-за невозможности его работы на шильных пятибаксовых хостингах.
Итак. Понеслась.
Вступление.
Изучение я начал с втыкания в статью, посвященную созданию корпоративного сайта на друпале (читать дальше без хотя бы беглого просмотра статьи смысла нет).
После краткого ознакомления, приступил к скачиванию друпала и сбору всех необходимых модулей для повторения эксперимента. Подключение к Active Directory за неимением оного я решил выкинуть. Поиск модулей на самом друпале работает отвратительно. Пришлось использовать метод доставания модуля по названию (http://drupal.org/project/название_модуля_вместо_пробелов_подчёрки), который почти со 100% вероятностью приводит к нужному результату.
Успешно добытые модули (как оказалось, часть из перечисленных в статье модулей идут в комплекте с другими):
- cck
- fckeditor
- filefield
- imageapi
- imagecache
- imagefield
- imce
- panels
- token
- views
- и тема оформления pixture_reloaded
Установка.
После настройки локального сервера под новый проект, приступил к установке. Создал www-root, куда закинул всё содержимое drupal-6.8.tar.gz. Потом воткнул в INSTALL.txt из которого следовало что для установки нового друпала нужно установить права доступа на некоторые папки (я это успешно пропустил, ибо у меня винда), создать базу данных в MySQL и постараться не забыть пароль до начала установки и скопировать файл /sites/default/default.settings.php в /sites/default/settings.php. Что и было успешно выполнено.
Затем начал установку. Прошло без проблем. Единственное, на что ругнулось, так это на невозможность отправить мне письмо об успешной установке. Ну да и ладно - я пароль вроде как запомнил.
Теперь пытаюсь поставить модули и тему.
Добытые модули распаковал в /modules/, а тему - в /themes/ (не забываем распаковывать их вместе с папками, иначе кирдык всему будет).
Теперь попытаюсь это дело включить.
Захожу в Administer -> Site Building -> Modules и втыкаю. Обнаруживаю, что потерян модуль getid3 (друпал ругнулся что он missing). Докачиваю, распаковываю. Вроде все мисинги исчезли. Буду включать модули по мере необходимости.
Теперь начинаю настраивать по бумажке.
Первым делом добавлю новые типы контента "Отдел" и "Сотрудник" (Administer -> Content management -> Content types-> Add content type). Пока всё работает.
Затем, судя по инструкции, есть жизненная необходимость включить некоторые дополнительные модули для добавления различных полей в вышесозданные типы контента. Походу это будет модуль Content, который по зависимостям тянет весь раздел CCK и ещё пару штук. Была попытка установить их автоматически, но в модуле getid3() друпал автоматом не смог его поставить. Чего-то нехватило. Панель настройки модуля предложила сходить за либой на сайт разработчика. Качаю по ссылке из друпала зип, заодно тамже забираю и поддержку этого безобразия под свой windows. Тестю. Работает, тока ругается на несекюрную папку с демой. Но поскольку я мучаю локальный сервер, мне это пока по барабану.
Зато на странице с типами контента появилась ссылка на manage fields (или я её раньше тупо не заметил). Жмём и пытаемся добавить нужные дополнительные поля.
Для отдела это: начальник отдела (ссылка на сотрудника), телефоны ответственных лиц (я выбрал многострочную textarea) и картинка (зачем нужна - пока вопрос, ну раз автор желает - пущай будет).
Для сотрудника добавляю: имя, фамилия, отчество, мобилу, рабочий телефон, ссылку на отдел, в котором он работает, и фотку.
Так. Кажись всё вбито и работает.
Чё там дальше... Вроде нужно поковырять в настройках ImageCache дабы автоматом ресайзить фотки сотрудников для вывода их одной кучей. Идём в Administer -> Site building -> ImageCache и втыкаем. Правда предварительно входим в настройки модулей и там включаем чего нам нужно в разделе ImageCache. У меня это ImageAPI GD2, ImageCache и ImageCache UI. ImageAPI был включен ранее. И пытаемся создать новый preset. Методом научного тыка создаю пресет small_worker_photo который ресайзит фотку до 100х100 пикселей и потом кропает ей до такого-же размера. Осталось попробовать это где-нить применить.
Теперь займёмся правами доступа, группами aka ролями. Для этого идём в Administer -> User management -> Roles и добавляем новую роль Редактор. Затем идём в Administer -> User management -> Permissions и расставляем галочки в соответствии с пожеланиями автора статьи, предварительно включив модули Blog и Blog API в разделе Core и всё в разделах Panels и Views.
Готово. И кажись опять без ошибок.
Теперь займусь настройкой модуля Pathauto, который я успешно забыл скачать. Качаю версию 6.x-1.1. Распаковываю. Включаю Path, Token, Token actions и Pathauto. Тут-же наткнулся на грабли в виде Fatal error: Maximum execution time of 30 seconds exceeded in E:\drupal\www-root\includes\common.inc on line 510, друпалу тупо нехватило мощи моего бука. Но модули включил он таки включил, но чё-то они не поднялись. Перевключаю: вначале Path и Token, затем Token actions и Pathauto.
Захожу в настройки Administer -> Site building -> URL Aliases. Клацаю на Automated alias settings и настраиваю в соответствии со статьёй. Заодно включаю транслитерацию, скопировав файлик i18n-ascii.example.txt в папке модуля Pathauto в i18n-ascii.txt и поставив галку Transliterate prior to creating alias в разделе General settings модуля URL aliases.
Набиваю свеженастроенный корпоративный сайт тестовым контентом.
Теперь можно начать набивать сайт тестовыми юзерами и контентом. Я думаю это особых проблем не вызовет. Только нужно включить модули FCKeditor и IMCE хотябы для ознакомления с их возможностями. Да и писать голым html'ем и гонять файлы на сервер альтернативными методами типа ftp/ssh как-то влом. Да, для тех, кто ещё не догадался - контент набивается в разделе Create conten. Редактировать набранное можно в разделе Administer -> Content management -> Content.
В процессе наполнения повылазила пара мелких багов с моей стороны типа нельзя создать отдел пока у него нет начальника, а сотрудника нельзя создать, пока у него нет отдела :), и со стороны друпала постоянно лезет варнинг: user warning: Field 'fid' doesn't have a default value query: INSERT INTO filefield_meta (width, height) VALUES (0, 0) in E:\drupal\www-root\includes\common.inc on line 3418., скорее всего связанный с свежайшей версией моего MySQL - они там чего-то поменяли по отношении к предыдущей в области дефолтных значений в полях таблиц. Или тупо криво создана таблица/написан код/у меня кривые руки.
Настраиваю внешний вид сайта.
После вбивания пары-тройки тестовых юзеров и отделов стало абсолютно понятно, что единой лентой всё это безобразие выглядит отвратительно. Читаем статью дальше и идйм в Administer -> Site building -> Views и клацаем Add и настраиваем отображение для Сотрудника отдела. Тут я слегка начал глючить, поэтому пришлось сходить за дополнительной помощью. Долго втыкал откуда набралась куча дупов и понял, что для контента, где возможно более одного значения, нужно обязательно в разделе Fields ставить галочку Group multiple values. Затем слегка тупил, как это просто вывести на сайт - оказалось достаточно добавить display типа Page и затем в разделе Page settings настроить path и menu.
Вот что у меня получилось:
Теперь читаем статью дальше. Заходим в Administer -> Panels -> Mini panels и настраиваем.
Потом идём в Administer -> Site building -> Blocks и приспосабливаем нашу мини-панель к выводу. Для этого назначаем её к показу в разделе Content и настраиваем вывод только в отделе.
Урра! Вот что получилось:
По аналогии добавляю views для списка отделов, новостей и всего, чего душа пожелает и, как желает автор статить, складирую всё полученное в новую panel и втыкаю.
Чё-то получилось, но осталось какая-то недосказанность:
Буду изучать дальше.
Итого:
Неспеша, в посленовогоднее время за пару-тройку дней, попивая пиво при этом, задней левой попытался понять чего-же такое друпал.
Идея вроде как ничего, но чем больше на него вешаешь модулей, тем больше всё это тормозит и иногда падает (Но это явно проблемы моего недобитого бука и ненастроенного под тяжёлые проекты сервера). Пятибаксовый хостинг не пройдёт, а для более серьёзных проектов - как нечего делать. Возможностей друпал представляет кучу. Плюс ко всему всё это с открытым кодом (и хочется надется с коментами) и я пока в эти самые открытые коду ни разу не сходил с ломом (это радует).
Явного отвращения не вызвало. Буду потиху ковырять, пока праздники не кончились.
Продолжение: пытаюсь понять идею drupal.







Обзор AgeStar NSB3AS1T NAS для 3.5" SATA HDD
Комментариев и оценок: 183
Обзор AgeStar NSB3AS1T NAS для 3.5" SATA HDD - сетевого хранилища на базе 3.5" SATA HDD с возможностью подключения по USB. 10/100 Mbit, SATA 3.5"
AgeStar FUBCP USB2.0 to IDE/SATA Adapter
Комментариев и оценок: 93
AgeStar FUBCP - подключение IDE или SATA 2.5",3.5" или 5.25" устройств через USB
Обзор жесткого диска HDD 2ТБ Western Digital WD20EARS
Комментариев и оценок: 73
Краткий обзор жесткого диска HDD 2ТБ Western Digital WD20EARS-00MVWB0 с фотографиями и тестами производительности.Многофункциональное устройство Canon LaserBase MF3228
Комментариев и оценок: 52
Многофункциональное устройство Canon LaserBase MF3228. Описание, впечатления от работы, ссылка на драйвера.
AgeStar SUB2O1 2.5" SATA External Enclosure
Комментариев и оценок: 51
Обзор с картинками и тестами AgeStar SUB201 - внешней USB коробки для 2.5" SATA винчестеров.