Немного информации о Drupal

RC-версии модулей Views, CCK и Organic Groups для Drupal 6

суббота, 5 июля 2008 г.

Источник: http://setegnom.com/node/1283

Мы рады представить вам RC-версии трёх основных модулей: Views, CCK и Organic Groups. Если вы хотите скорее получить рабочие модули, то устанавливайте эти версии и присоединяйтесь к тестированию. На переписывание этих модулей было потрачено много месяцев, и мы уверены, что их новые версии сделают Drupal 6 ещё более привлекательной платформой для создания сайтов.

Как обычно, обновляйте эти модули только на тестовом сайте, не забыв предварительно сделать его копию. Т.к. никогда нельзя совершенно точно сказать, как поведёт себя ваш сайт после обновления, или какую до смеха простую ошибку никто не заметил.

Важно! Есть пара ошибок в Drupal 6.2, которые влияют на использование Views и CCK. Эти ошибки будут исправлены в выпуске Drupal 6.3. До выхода Drupal 6.3 вам следует использовать с этими модулями DEV-версию Drupal: http://ftp.drupal.org/files/projects/drupal-6.x-dev.tar.gz.

Views

Модуль Views был значительно переписан. Вторая версия, улучшает существующие возожности и добавляет новые, которые позволят упростить жизнь разработчикам, администраторам и пользователям. Возможно одно из главных изменений это то, что в новом Views можно создавать списки всего, чего угодно: документов, пользователей, таксономии и др. Другое изменение, которое вы заметите сразу — это изменённый UI и использование JavaScript. Эти изменения потребуют от вас привыкнуть к ним, если вы работали с предыдущей версией, но мы уверены, что в итоге вы согласитесь, что новый UI удобнее старого.

Новые возможности для пользователей

  • Мульти -блоки, -страницы и -ленты для одного вида.
  • Встроенный AJAX для страниц, фильтров и аргументов.
  • Ленты для комментариев.
  • Улучшенное управление фильтрами.
  • Мультивиды для одного URL.

Новые возможности для администраторов

  • Переработанный UI для создания и управления видами.
    • Контекстный вывод настроек вида.
    • Блокирование редактирование вида для других администраторов, при его редактировании другим.
    • Мгновенный просмотр изменений.
    • Таймер для оценки быстродействия вида.
  • Расширены возможности по использованию стандартных данных: пользователи, комментарии, файлы, статистика и др.
  • Возможность использования видов внутри вида. Можно использовать для создания мультивида; связанных с данным видом других видов и др.
  • View type переименован в Style и добавлены новые стили вывода данных.
  • Расширенная справка при использовании Advanced Help.
  • Вы можете получить все поля документа на который ссылается вид, внутри вида.
  • Возможность упорядочивать данные по алфавиту (глоссарий).
  • Расширяемый механизм для учёта значений аргументов для блоков.
  • Помимо названия, для вида можно использовать теги.
  • Возможность экспорта сразу нескольких видов.
  • Утилита для анализа ошибок в виде (возможно расширение через плагины).

Новые возможности для разработчиков

  • Переписанный, расширяемый объектный API. Каждый компонент вида представляет из себя объект.
  • Проверка возможности использования аргументов в виде.

Новые возможности для разработчиков тем

  • Широкая поддержка шаблонов; старый подход с theming wizard больше не используется.
  • Отображение дополнительной информации в интерфейсе, для более простой настройки вида.

Технические детали и известные проблемы

  • Пара проблем в Drupal 6.2, которые исправлены в Drupal 6.x-dev и требуют использования именно этой версии (или подождите выхода Drupal 6.3).
  • Некоторые пользователи сообщали нам о проблемах с JavaScript, когда JavaScript полностью отключался. Если у вас будут такие проблемы, пожалуйста, сообщите нам.
  • Views 2 содержит утилиту для преобразования в новый формат видов из Views 1, но возможно вам потребуется для каких-то видов провести дополнительную правку вручную.
  • Нам нужна ваша помощь в создании документации!

Если вы найдёте какие-либо ошибки в RC-версии, пожалуйста, посмотрите список сообщений и/или поищите сообщения с аналогичной проблемой. Если вы не найдёта такой запрос, то пожалуйста, добавьте его в наш трекер.

Ссылки

CCK 2 (Content Construction Kit)

CCK был значительно переделан для Drupal 6, изменения включили в себя как новые возможности, так и интеграцию с новым Views.

Новые возможности

  • Кнопка Add more использующая AJAX и позволяющая быстрее и удобнее работать с полями.
  • Использование drag'n'drop для вкладки Manage Fields.
  • Вкладка Manage Fields теперь позволяет упорядочивать все поля (а не только созданные CCK).
  • Новый API, который позволяет легче создавать поля и управлять ими.
  • Модуль Content Permissions, который позволяет управлять доступом к определённым полям.
  • Интеграция с модулем Devel Generate.
  • Более лёгкое форматирование значений в полях.

Интеграция с Views

CCK полностью интегрирован с модулем Views. Таким образом, Views может использовать все поля созданные при помощи CCK. Две новые возможности для модуля Views:

  • Виды могут использовать связи, при использовании полей nodereference или userreference.
  • Фильтры Views теперь включают параметр empty/not empty.

Известные проблемы

Обновление с D5

  • Many of the older updates have been removed from the code, so you need to get current on the D5 version before upgrading to the D6 version, or you may get messages about missing updates.
  • Мы всё ещё плучаем отдельные сообщения о проблемах с обновлением.

Обязательно сделайте копию базы данных перед обновлением до версии D6.

Ссылки

Organic Groups

По сравнению с Views и CCK, модуль Organic Groups изменился меньше всего. Большинство изменений — это усовершенствования связанные с возможностями Drupal 6 и Views 2. Вот основные:

  • Списки участников создаются модулем Views.
  • Для Views доступно большее количество полей.
  • Определённый JavaScript можно использовать в определённых группах.
  • Стало проще работать над оформлением групп.
  • Интеграция с модулем Devel Generate.
  • Добавлен новый блок содержащий файлы группы — Group files.

Известные проблемы

  • Не работают почтовые оповещения.
  • Недоступен модуль OG Panels, т.к. модуль Panels ещё не переписан для Drupal 6.

Ссылки

Интеграция Drupal и VaM Shop

воскресенье, 13 апреля 2008 г.

В данной статье будет рассказано, как связать между собой VaM Shop и Drupal.

Что имеется в виду под интеграцией?
Под интеграцией Drupal и VaM Shop имеется в виду общая авторизация пользователей и синхронизация их учетной и профильной информации.
Интеграция Drupal и VaM Shop - это общая база пользователей и общая авторизация, т.е. входя под своим логином/паролем на Drupal, Вы авторизуетесь и в магазине VaM Shop, также и наоборот.
Главная идея в том, что не нужно два раза регистрироваться (отдельно в Drupal и отдельно в магазине) и входить два раза (сначала в Drupal, затем в магазин), а также два раза менять свои пользовательские данные.

Требования к версиям:
Drupal версии 5 или 6.
VaM Shop версии 1.41 и выше.

Скачать Drupal можно на официальном сайте: http://drupal.org/download
Скачать VaM Shop можно на официальном сайте: http://vamshop.ru/shop/shop_content.php/coID/12/product/Besplatnaja-demo...

Настройка состоит из двух частей:
Настройки VaM Shop
Настройка Drupal

Настройки VaM Shop

1. Скачайте модуль vamshop_api - http://vamshop.ru/sites/default/files/vamshop_api.zip
2. Переписывайте архив vamshop_api.zip в папку /admin/contributions.
3. В Админке - Модули - Установка модулей устанавливайте модуль vamshop_api.zip.

На этом настройка VaM Shop закончена, переходим к настройке Drupal.

Настройка Drupal

Предположим, что у нас есть сайт на Drupal - http://site.ru
Предположим, что у нас есть магазин на VaM Shop - http://site.ru/shop

Всё дальнейшие действия будут описываться исходя из данного предположения.

Теперь условия, которые должны быть выполнены обязательно, что б всё работало правильно:
1. Drupal и VaM Shop должны быть устновлены в одном домене (например site.ru и site.ru/shop).
2. При установке Drupal и магазина должны быть указаны одинаковые email адрес и пароль для входа в админку друпала и магазина.
3. Drupal и VaM Shop могут быть установлены в разные базы данных, не обязательно всё ставить в одну базу.

Итак, допустим, Вы установили Drupal и магазин.

1. Скачиваем модуль vamshop для друпал - http://vamshop.ru/sites/default/files/drupal-vamshop.zip
2. Переписываем папку vamshop из архива в папку друпала /sites/all/modules.
3. Если у Вас 6 версия друпала, убедитесь, что в файле /sites/all/modules/vamshop/vamshop.module в константе VAMSHOP_DRUPAL_MODULE_VERSION указано 6 (если у Вас друпал 5 версии, поменяйте значение на 5).
4. Теперь нам нужно установить модуль vamshop в друпале, но перед этим откройте в браузере магазин, зайдите (авторизуйтесь) как администратор магазина, т.е. укажите email/пароль справа, в боксе вход.
5. Заходите в админку друпала - модули (/admin/build/modules), устанавливайте модуль vamshop.
6. Заходите в настройки модуля vamshop (/admin/settings/vamshop).
7. В опциях VaM Shop shop root path: и Path to VaM Shop api file: укажите абсолютный (полный) путь до магазина, например /home/site.ru/www/vamshop/.
8. В опции Select master registration system укажите Drupal master.
9. Убедитесь, что у Вас открыт в браузере магазин и Вы авторизованы как админ.
10. Нажмийте в друпале, на странице настроек модуля vamshop кнопку Save configuration.
11. Затем смотрите на странице настроек модуля vamshop в друпале сверху сообщения, если все сообщения зелёные (Successfully), значит всё нормально, Вы всё установили и всё правильно настроили.
Если выводится ошибка - You are not authenticated in VaM Shop now.
или похожая в последней строке. Попробуйте вернуться к магазину, нажать выход и зайти ещё раз в магазин под администраторским паролем.
Затем вернитесь на страницу настроек модуля vamshop в друпале, должно быть зелёное сообщение типа - Successfully authenticated VaM Shop user: vam@test.ru.

12. В настройках блоков, после установки модуля vamshop появится блок VaM Shop: Hidden authentication.
Если вы прошли успешно тест аутентификации в настройках модуля, включите его.

Для настройки синхронизации общих полей пользовательской информации вам надо создать необходимые поля в настройках модуля Профиль.
Имена полей по умолчанию вы можете посмотреть в настройках модуля vamshop. Вы можете изменить их, если у вас уже есть поля с другими именами.

13. Как проверить, работает ли интеграция?!

Выйдите из друпала и магазина (logout).
Зарегистрируйте новый логин в друпале /user/register и зайдите под этим логином.

Теперь просто в браузере откройте магазин http://site.ru/shop, если всё сделано правильно, в магазине Вы тоже будете авторизованы, т.е. сверху будет закладка Выход, это значит что Вы вошли в магазин под своим паролем.

14. Затем откройте конфиг файлы магазина VaM Shop, т.е. файлы:
/includes/configure.php
/admin/includes/configure.php

и в константе DIR_FS_SITE_ROOT укажите абсолютный (полный) путь до корневой папки друпала, примерно так (у Вас конечно свой путь будет):

  1. define('DIR_FS_SITE_ROOT','/home/user/public_html/');

На этом всё!

Предупреждения:

Интеграция Drupal и VaM Shop опробована на нескольких рабочих сайтах Drupal + VaM Shop, т.е. код вполне опробованный и работоспособный.
Однако, нельзя дать никаких гарантий, что на вашем конкретном хостинге и ваших конкретных настройках и действих ваша установка будет работоспособна, а ее работа будет соответствовать вашим ожиданиям.
Вы делаете всё на свой страх и риск, перед любыми манипуляциями делайте резервные копии файлов и базы данных.
Мы рекомендуем вам устанвить модули на тестовой машине и убедиться в их работоспособности, и только потом использовать всё на рабочем сайте.

Все вопросы Вы можете задать на форуме http://vamshop.ru/forum/index.php?topic=1195 или на http://vgb.org.ru

Если у Вас не получается всё настроить самостоятельно, а наши подсказки на форуме Вам не помогают, или вы хототе получить гарантированный результат и техническую поддержку, Вы можете обратиться к платной услуге по установке и настройке модуля интеграции VaM Shop и Drupal.

Заказать данную услугу можно в интернет-магазине http://vgb.org.ru/shop

Оригинал

Drupal на Webware 100 Awards 2008

вторник, 1 апреля 2008 г.

Drupal пробился в финальную часть соревнования Webware 100 Awards, в рамках которого народным голосованием определяется сотня самых-самых веб-два-нольных сервисов и приложений.

Drupal выступает в категории «Publishing & Photography», любой желающий может за него проголосовать, правда в вашем распоряжении останутся ещё два голоса, которые отдать можно и за других претендентов.

Год назад Drupal уже выигрывал. Надо бы поддержать традицию.

По материалам habrahabr

Вышел Drupal 6.0

среда, 13 февраля 2008 г.

Краткое описание новых возможностей:

Нововведения интерфейса:
* Улучшена процедура установки
* Создание контента сразу на нескольких языках
* Улучшена языковая поддержка

Новые системные модули:
* Модули Actions и triggers добавлены в поставку CMS
* Поддержка OpenID
* Новый интерфейс обновления модулей

Стилизация:
* Окончательное разделение CSS от кода
* Новый модуль для разработки новых стилей
* Обновлён используемый JQuery до 1.2.3

Безопасность:
* Предупреждения о системных обновлениях
* Проверка сложности пароля при регистрации
* Улучшенная система пользовательских привилегий и доступов

Оптимизация:
* Optimized code
* Scalability options
* Better file handling
* Extended logging
* Scripting from the command line

Разное:
* Улучшен модуль голосовании
* Новые возможности в модуле форума
* Оповещения о новых событиях через e-mail
* Персонализация вывода даты и времени
* Добавлена возможность стилизации пользовательских подписей
* Улучшена визуализация анонимных комментариев

Полный список нововведений

Жду когда модули портируют - побыстрее бы :)

Вертикальные жалюзи - купить

суббота, 9 февраля 2008 г.

Между прочим - полезная реклама жалюзи :)

Заметка: картинки не отображаются на сайте под управлением Drupal

Небольшая заметка об отображении картинок на сайте под управлением CMS Drupal.

Возможная проблема: картинки не отображаются на сайте под управлением Drupal.

После загрузки картинки и её вставки в код добавляемой публикации следует удостовериться, что форматах ввода активирован пункт Full HTML, иначе картинки просто не будут отображаться.

Устанавливаем WYSIWYG редактор в Drupal

Более всего из рассмотренных плагинов WYSIWYG редакторов мне приглянулся FCKeditor.

Первым делом скачиваем сам плагин по вышеуказанной ссылке, после чего с официального сайта загружаем и сам редактор.

Плагин распаковываем в дирректорию /modules а сам редактор в дирректорию /modules/fckeditor/fckeditor ( все файлы должны быть распакованы на одном уровне с файлом COPY_HERE.txt ).

Далее рассмотрим последовательность действий, после выполнении которой появится возможность загрузки картинок непосредственно с помощью только что установленного WYSIWYG редактора:

Во-первых, имеется возможность воспользоваться встроенным менеджером файлов в FCKeditor, для этого в конфигурационном файле /modules/fckeditor/fckeditor/editor/filemanager/connectors/php/config.php включить данную возможность

$Config['Enabled'] = true ;

После этого следует через панель администрирования настроить профили редактора.

Альтернативный и более удобный вариант загрузки картинок в Drupal - с помощью плагина IMCE. В настройках данного плагина следует включить поддержку редактора FCKeditor, после чего все заработает (так же следует убедиться что в шаблоне страницы до тега body присутствует php код с содержанием: print $closure ).

Drupal и nginx - увеличиваем производительность

среда, 30 января 2008 г.

Раз уж взялся за изучение Drupal, то решил в самом начале рассмотреть вопросы, связанные с оптимизацией этой мощной CMS.

Пролистав форум на drupal.ru наткнулся на многочисленные отзывы, суть которых состояла в том, что Drupal сильно тормозит, причем даже сразу после установки. Что уж говорить о дальнейшем расширении, использовании многочисленных модулей и различных наворотов.

Особенно остро проблема стоит с хостингом под Друпал, с которой и я столкнулся. Оценить скорость работы Друпала просто не было возможности - всевозможные модули требовали достаточно много памяти для установки, а хостер в этом отношении принял жесткие позиции и ни за какие доплаты не согласился выделять столь нужные дополнительные мегабайты для адекватной работы Друпала :(

Выбор хостинга под Друпал - весьма проблемное занятие. Из того, что можно посоветовать - Мастерхост с своими заоблачными ценами и nic.ru. При выборе хостинга следует ориентироваться на тарифные планы, которые соответствуют техническим требованиям CMS «Битрикс: Управление сайтом» - данная система очень широко распространена и многие хостинг-компании дополнительно указывают возможность работы этой cms на различных тарифных планах ( например, так делает вышеупомянутый Мастерхост ).

Но имея у себя дома стационарную машинку с gentoo на борту, открывается широкое поле для экспериментов с собственным хостингом. В то же время возникают другие проблемы, связанные с оптимизацией работы самой системы в качестве веб-сервера.

Ознакомившись с множеством записей в блогах и форумных топиках, пришел к выводу, что для моих целей лучше всего подойдет не стандартная связка apache + php + mysql, а разработанный Игорем Сысоевым веб-сервер Nginx + fastcgi

Ссылки по теме:
Официальная страничка Nginx
Информационный портал о Nginx
Примеры конфигурации Nginx
Немного информации о Fastcgi

Поднять Nginx не составило особого труда - достаточно было воспользоваться гентушным emerge ( emerge nginx ), в результате чего веб сервер готов к использованию.

Для запуска PHP как FastCGI сервера откопал два способа:
  1. Использование встроенной утилиты в веб-сервер lighttpd ( spawn-fcgi )
  2. Установка поверх PHP патча php-fpm (страничка проекта)
Я воспользовался первым вариантом, так как немного ранее тестировал веб-сервер lighttpd. Ознакомиться с данным методом можно на официальном сайте проекта.

Теперь уже установлена связка Nginx + FastCGI и следует все хорошо настроить :) Nginx - отлично настраиваемый веб-сервер, параметры настройки хорошо документированы на официальном сайте (см. ссылку выше по тексту).

Но одного лишь списка документированных возможностей не достаточно. Чтобы указать серверу где располагается дирректория сайта, настроить ЧПУ в Drupal (точнее, rewrite на самом веб-сервере) и подгрузку статичной инфорации пришлось облазить весь интернет. Поэтому выкладываю ссылки на наиболее грамотно написанные статьи:
После прочтения этих и многих других мануалов и статей решил вынести конфигурацию хостов в отдельные файлы. Для этого в основном конфигурационном файле Nginx следует прописать:
include vhost/*.conf;
Где vhost - дирректория с конфигурационными файлами каждого из хостов (расположение дирректории указано относительно расположения конфигурационного файла).

На данный момент рабочая, но не сильно настроенная конфигурация Nginx у меня выглядит следующим образом:
user someone;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
sendfile on;
keepalive_timeout 20;
tcp_nodelay on;
#gzip on;
#log_format main '$remote_addr - $remote_user [$time_local] $request '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
#tcp_nopush on;
#keepalive_timeout 0;
include vhost/*.conf;
}

Расположение mime.types у вас может быть другим.

Файлы vhost/*.conf содержат в себе конфигурацию хостов. Для Drupal у меня вышел примерно следующий конфиг, поддерживающий ЧПУ и адекватно работающий с загрузкой статической информации (картинки, стили и тд):
##### sitename.tld #####

server {
listen 80;
server_name
sitename.tld www.sitename.tld;
#charset koi8-r;
#access_log logs/host.access.log main;
sendfile on;
keepalive_timeout 65;

location / {
root
* путь до дирректории с файлами Drupal, наприме /var/www/site1/htdocs *;
index index.php index.html index.htm;
if (!-e $request_filename ) {
rewrite ^/(.*)$ /index.php?q=$1;
}
}

error_page 404 /index.php;
# serve static files directly

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
root
* путь до дирректории с файлами Drupal, наприме /var/www/site1/htdocs *;
access_log off;
expires 30d;
}

# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;

#location = /50x.html {
# root html;
#}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:8888;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
* путь до дирректории с файлами Drupal, наприме /var/www/site1/htdocs *$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

# вставка #
fastcgi_param REMOTE_ADDR $remote_addr;
#fastcgi_param PATH_TRANSLATED $fastcgi_path_translated;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
}

}
##### sitename.tld #####

С этой настройкой на данный момент все работает, причем достаточно шустро. Скрипты работают заметно шустрее, чем ранее они работали на связке apache + php + mysql. Вы видите, что в конфигурационных файлах присутствует много закомментированных строк - с ними ещё предстоит разбираться для более детальной оптимизации.

PS Так же поставил Eaccelerator - свободно-распространяемый PHP акселератор, оптимайзер и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате происходит увеличение скорости их выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода на величину от 1 до 10 раз.

Информация об установке Eaccelerator присутвует в сети, но на данный момент она не доступна. Поэтом публикую её здесь для сохранения. Ссылка на источник: http://dedicatesupport.com (который как раз на данный момент не работает )

Итак приступим.

Выбираем последнюю версию. На данный момент последней версией является 0.9.5.2. Скачиваем и распаковываем ее.

cd /usr/local/src
wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2
bzip2 -d eaccelerator-0.9.5.2.tar.bz2
tar xvf eaccelerator-0.9.5.2.tar
cd eaccelerator-0.9.5.2

Далее необходимо проверить есть ли в нашей системе необходимые для создания модуля php пакеты.
Нам нужны:

  • apache >= 1.3,
  • mod_php >= 4.1,
  • autoconf,
  • automake,
  • libtool,
  • m4

Если производилась установка веб сервера, и php из пакетов то нам необходимо установить еще и модуль php-devel. Именно в нем находится необходимая нам программа phpize, с помощью которой и происходит компиляция модулей для php.

yum install php-devel

Далее выясняем местоположение файла phpize с помощью команды:

whereis phpize

И смотрим путь до файла. Обычно это /usr/bin/phpize.
В таком случае для компиляции модуля выполняем следующие действия:

export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure \
--enable-eaccelerator=shared \
--with-php-config=$PHP_PREFIX/bin/php-config
make
make install

Далее находим файл php.ini (обычно он находится в /etc/php.ini) и прописываем в нем следующие строки:

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Это для варианта использования eAccelerator как расширения php. Я использую такой подход. Есть еще вариант использования eAccelerator как расширения Zend. В таком случае прописать нужно следующие строки:

zend_extension="/usr/lib/php4/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Далее настал черед создания каталога, котрый будет использовать eaccelerator для хранения своего кеша:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Далее перезапускаем наш апач:

service httpd restart

Упорядоченный список записей блоком

понедельник, 28 января 2008 г.

Для кастомизации вывода контента в Drupal используется модуль Views.

Первое, что осилил - это вывод титлов записей в виде блока в различных частях сайта, упорядоченных по какому-либо параметру (например, по дате создания).

Что для этого следует сделать? А на самом деле все просто до безумия!

Первым делом устанавливаем вышеупомянутый модуль Views и активируем его через админку. После этого в свежесозданном разделе добавляем новый view, даем ему название, описание.

Так как хотим видеть листинг записей в виде блока, то пропускаем раздел "Страница" и приступаем к настройке "Блок". Включаем сам блок, выбрав опцию "Provide Block", после чего выбираем режим отображения информации (например, в виде списка).

В разделе Fields выбираем Node: Title (я вначале сказал, что выводить будем именно титлы записей).

В разделе Filter можно отфильтровать выводимые записи (например, по дате или по типу записи).

Ну и наконец - Sort Criteria. В данном разделе указывается параметр, по которому будут сортироваться записи.

Вот в результате таких простых манипуляций мы можем запросто получить блок, который содержит в себе титлы записей из блога, отсортированных по дате публикации и в количестве, например, пяти штук.

Это, пожалуй, первая более-менее полезная запись в этом блоге :)

Ещё раз о таксономии в Drupal

В этом сообщении уже опубликовано видео о базовых понятиях, связанных с таксономией в CMS Drupal. Но я хотел бы сделать дополнительную заметку об этой замечательной штуке.

Назвать таксономию простыми категориями нельзя, впрочем нельзя назвать и тегами ввиду наличия иерархии.

Таксономия предоставляет гораздо большие возможности, а именно - классификацию контента по нескольким направлениям, в результате чего можно реализовать сайты весьма сложной конструкции.

Иерархия у словарей может отсутствовать, а может быть и многоуровнвой (множественной) или одноуровневой (одиночной). Порядок вложений категорий определяется их весом (устанавливается при добавлении или редактировании).

ЧПУ в Drupal

После первоначальной настройки Друпала решил придать ему более человеческий вид. В буквальном смысле :)

Что такое ЧПУ? ( разъяснения с Wikipedia ):

ЧПУ — термин, принятый среди веб-разработчиков для обозначения WWW—адресов, удобных для восприятия человеком (а также систем и методов построения таких адресов), является аббревиатурой от словосочетания «Человеку Понятный Урл» («урл» — жаргонное для URL).

На примере это объяснить достаточно просто. ЧПУ применяется для преобразования ссылок на сайте. Так, из ссылки вида http://www.сайт.ru/?q=node/1 можно получить ссылку вида http://www.сайт.ru/?q=article. Это делается с помощью предустановленного модуля path.

Но есть у этого встроенного модуля значительный недостаток - название ссылке приходится выставлять вручную при добавлении нового контента.

Немного почитав в интернете материала на эту тему, нашел прекрасный модуль pathauto, суть которого в том же, но pathauto сам генерирует адреса ссылок на основе заголовка публикуемого сообщения. При генерации можно воспользоваться встроенной возможностью транслитерации. Для этого следует в настройках модуля включить соответствующую опцию - она будет доступна после того, как файл i18n-ascii.example.txt в дирректории /modules/pathauto будет переименован в i18n-ascii.txt. Настроек в модуле pathauto великое множество, но все они понятны, поэтому расписывать смысла не вижу.

При конфигурации pathauto предлагается проверить возможность работы ЧПУ по специальной ссылке. У меня выползла ошибка, поэтому пришлось в файл конфигурации apache внести некоторые изменения, а именно - дописать опцию AllowOverride All.

Для работы pathauto так же потребуется модуль token и встроенный path.

Установка, первоначальная настройка Drupal

Итак, первоначальная установка и настройка Drupal. В общем-то писать нечего, все уже написано. Более того - есть видеоматериалы с сайта Друпал Беларусь, их и приведу здесь:

Инсталляция Drupal:



Локализация Drupal:


Я не стал сильно заморачиваться и загрузил перевод в виде единого файла. Гурманы могут загружать файлы перевода для отдельных модулей движка.

Создание контента в Drupal:


Создание контента я пока отложил на будущее.

Кратко о таксономии в Друпал:



Комментарии в Drupal:

Как будут выглядеть посты

Уже писал о том, что в данном блоге буду выкладывать свои заметки об изучении CMS Drupal.

В каком виде это будет? Это не отдельный сайт. Более того, это не "self-hosted" блог, поэтому заведомо тонко продуманной иерархии постов и мощной юзабилити ожидать не стоит, буду писать сообщения, используя теги, включу поиск по сайту и должно выйти более-менее читаемо.

Первая заметка о Друпале

Поставил цель - освоить Drupal до уровня, достаточного для создания функционального сайта с пользовательскими блогами, пользовательскими галереями, магазином и ещё с большой кучей всего прочего :)

Это первая запись об этой CMS, носит она весьма-таки обзорный характер - первые заметки и впечатления о Друпале, а так же лог действий, чтобы не забыться - система достаточно сложная для новичков :))

Выбрал Drupal не просто так - будучи приверженцем open-source технологий, используя на домашней машине gentoo linux и широкий спектр open-source продуктов, обратил внимание на данный проект, распространяющийся под лицензией GPL. Множество высококвалифицированных разработчиков по всему миру участсвуют в становлении данного продукта.

К сожалению в русскоязычном секторе интернета данная CMS не так уж и сильно распространена, а в русском сообществе не так уж и много действительно полезной информации ( по-моему, объем информации не сравним с хранилищами знаний той же Jooml'ы или Wordpress ).

Но это никак не повлияло на мое решение освоить Drupal, благо знаю английский на достаточном уровне, чтобы вдумчиво читать официальные мануалы и описания.

На официальном сайте представлена внушительная галерея плагинов, с темами же наблюдается напряженка. Впрочем готовый template никто и не будет использовать на более или менее серьезном проекте, поэтому отсутствие обширной галереи готовых шаблонов нисколько не огорчает, а придает оптимизма для изучения друпаловской идеологии управления шаблонами.

Перед тем, как установить систему управления сайтом на свой сервачок, сделал предварительный анализ обстановки, связанной с наличием и работоспособностью плагинов для создания интернет-магазина. После поверхностного осмотра стоял выбор между e-commerce и ubercart.

Установив e-commerce и ничего в нем не разобрав толком, решил правым глазом посмотреть на ubercart. Данный модуль установился без особых проблем и для меня он оказался намного понятнее, чем вышеупомянутый e-commerce. При помощи связки плагинов IMCE (для загрузки картинок через веб-интерфейс), Thickbox (красивый JS просмотр картинок), Imagecache (думаю тут из названия ясно, для чего плагин), CCK (Content Construction Kit - тут тоже, думаю, примерно ясно для чего служит модуль) удалось вывести на главной некое подобие интернет-магазина. Пока не буду описывать все в деталях - сам не разобрался ещё полностью.

Для кастомизации вывода контента в Друпале используется модуль Viewes, но детально с ним пока не разбирался, поэтому расписывать не буду.

В связи с тем, что привык настраивать вывод контента сайта через шаблоны ( в сайтах под управлением Wordpress ), данное обстоятельство весьма озадачило, и я не сразу нашел как кастомизировать вывод информации :)

На этом завершу первую заметку о Друпале и буду продолжать копаться в нем!

Вы пользуетесь Drupal?