Термины, которые нужно знать при работе с Drupal. Что такое друпал и для чего он нужен


Термины, которые нужно знать при работе с Drupal

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

Основные термины Drupal

Узел (в оригинале node ) – некоторая часть контента. Под данное понятие вполне подходит какой-либо новый элемент, перечень явлений, цитата в блоге или новостная статья. Проще говоря, любая часть контента, которая включает в себя некоторый текст с информацией и заголовком – называется узлом. Стоит отметить, что внутри узла можно создавать отдельные поля для различных вспомогательных целей.

Поле (в оригинале field) — ведущий и один из лучших способов работы с контентом в среде Drupal. С помощью функционала полей можно вставлять в конкретную область изображения, файлы, а также вспомогательные опции, которые позволяют выводить подзаголовки, дату и прочее.

Блок (в оригинале block) — отдельная часть контента, которая требует многократного использования на разных страницах (к примеру основное меню). Создавать блоки можно двумя способами: с помощью вызова вкладки «Блоки» в основном меню Drupal или же с помощью создания представления, которое будет выводится посредством блока. Основное преимущество использования блоков – гибкость их применения, особенно при создании меню, которое должно выводится только на определенных страницах веб-ресурса.

Тип контента (в оригинале content type) – особый вид узла, созданный руками пользователя. Данная функция является отличительной чертой Drupal. Разделения контента на типы позволяет осуществлять необходимую сортировку для представления данной информации. Также с помощью этой функции можно осуществить сортировку материалов сайта.

Таксономия (в оригинале taxonomy) – создает определенные категории для контента. На первоначальном этапе таксономия представляется тегами в словаре, однако ее возможности на этом не оканчиваются. С помощью функционала таксономии также можно организовать систематизацию колосальных объемов веб-контента по особым поисковым критериям. Чтобы пояснить более доступно рассмотрим случай с типичным интернет магазином. Для организации рационального представления товары разбивают на категории, типа одежда, обувь, электроника и так далее. Также в это же время товары могут делиться на женские, мужские и для детей. Также для поисковой фильтрации можно создать словарь таксономии с определенными цветами, с помощью каторого в будущем товар будет сортироваться по цветам.

Права доступа, пользователи и роли (в оригинале permissions, users, roles соответственно). Для любого мало знающего человека, который работал с интернет ресурсом, не возникнет проблем с понятием пользователь. Для ясности, пользователь – личность, которая прошла регистрацию на веб-сайте. Пользователь может осуществлять какие-либо действия на сайте. Определяющим понятием для этого являются роли. Drupal хорошо вооружен для присвоения этих самых ролей. Для каждого действия на сайте необходимо иметь права доступа к этому самому действию, а права доступа присваиваются при помощи ролей, тем самым позволяя ограничить доступ к операциям определенной группе пользователей интернета.

Модуль (в оригинале module) – вспомогательное программное обеспечение, которое повышает спектр возможностей Drupal для создания сайта. Стоит отметить, что это еще одно достойное преимущество данной платформы. Полный список существующих модулей очень велик и доступен на официальном сайте Drupal. Порядок списка всех модулей на этом официальном сайте построен на основе популярности каждого модуля, то есть наиболее популярные и часто используемые модули будут располагаться вначале списка. Минимально для нормальной работы с Drupal необходимо всего три модуля – Pathauto, Token и Views. Последний из перечисленных модулей отвечает за представление ресурса, а два других отвечают за автоматическую генерацию URL-адреса для разных типов контента.

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

Тема (в оригинале theme) – шаблон страницы, который формирует вид и дизайн сайта. Существуют системные темы от Drupal и темы, которые могут бить созданы человеком. Последние должны располагаться только в папке с путем sites/all/themes. В основной папке с темами (из корневого каталога сайта) находятся только системные файлы.

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

Ядро Drupal (в оригинале Drupal Core) – системные документы Drupal, которые изначально устанавливаются при активации продукта. К ядру относится все то, что находится за пределами папки /sites. Эту часть сайта в работе трогать не стоит если не хотите чтобы сайт лег.

Оценок: 10 (средняя 5 из 5)

Понравилась статья? Расскажите о ней друзьям:

Курсы по Drupal (в открытом доступе)

Уровень сложности:

Начальный

Еще интересное

vaden-pro.ru

Чем так хорош Drupal

«Вебпланета» очень рекламировала CMS Drupal, на которой она сама и сделана. Расскажите наконец поподробнее про этот движок! Чем хуже Jumla, например?

Если не говорить об общих вещах, которых есть в других CMS (узловая юзеро-ориетированная архитектура, разметка-таксономия, блоги-форумы разные и т.д.), то мне тут нравится гибкий механизм «ролей». Разные участники сообщества могут получать разные виды доступа в связи с их «ролью», и все это довольно легко администрировать.

Кроме того, это open-source, так что к данному движку написано уже множество полезных бесплатных модулей.

А у наших разработчиков есть интересная аналитика по поводу того, как разные «социальные CMS» держат нагрузки. Думаю, они когда-нибудь про это расскажут :)

для начала я бы всетаки выделил таксономию отдельно, ее реализация очень серьезно отличается даже тем, что она очень сильно настраиваемая под нужды проекта и позволяет создавать очень масштабируемые решения.а вот «роли» хотя и мощная штука, но в некоторых случаях недостаточны — т.е. к примеру когда встает вопрос о контроле доступа к конкретным записям (вполне реализуемо сторонним модулем).

модули — да конечно их просто _много_, но и само написание модулей довольно простая процедура и очень подробно расписанная в handbooks — у меня кстати создалось впечатление что этот процесс даже значительно проще чем в WordPress (не говоря уже про Movabletype).

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

Если можно top5: как разные «социальные CMS» держат нагрузки

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

Расхожее мнение: Joomla проще на начальном этапе (освоение, администрирование), но ставит больше проблем на этапе разработки (когда надо сделать, что-то не вписывающееся в модель предлагаемую авторами движка). Однако, полагаю, в реальности всё не так просто :) Абсолютного лидера среди CMS по-моему просто нет. Для меня Drupal хорош продуманным набором функций (не являясь поклонником PHP программирую под Drupal без отвращения ;)

и логикой построения сайтов с помощью единого механизма документов (nodes) и таксономии (taxonomy). Из приятных вещей — поддержка AJAX (в последней версии добавлена поддержка библиотеки JQuery) и большое число разных модулей.

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

В друпале основной эффект кеширования — посещения незарегистрированных посетителей. Кеш хранится в базе данных, но в результате кеширования значительно упрощаются запросы к базе и снижается их число. Также облегчить нагрузку на shared-хостинге можно с помощью модуля статического кеширования //drupal.org/project/boost — он генерирует html-страницы, которые выдаются вебсервером вообще в обход движка. Минус — некоторая потеря динамичности, страница не будет обновлена, пока не истечёт время её жизни в кеше. Но этот модуль сделан недавно и пока плохо протестирован.

Резюмируя, персональные странички на друпале делать может и перебор (хотя вполне можно), а вот более сложные задачи решает хорошо. Конечно если не пытаться воткнуть ресурс с тысячами посетителей в день на shared-хостинг подешевле.

А в TOP 5 opensource cms я бы включил Drupal, Joomla, TYPO3, Plone. 5ую выбрать затрудняюсь :)

Программистами для программистов.

В большинстве движков реализовано достаточное распределение ролей для каких угодно проектов, сообществ и т.д. и Drupal от WordPress, Joomla, PHP-Nuke или с тем же Bitrix в этом вопросе сильно не отличается. Или где-то собака зарыта? :)

Вся CMS для сайтов должна быть на одной избыточной (или достаточной) таксономии, т.к. по сути сайт является набором одних и тех же сущностей, несмотря на модули и прочее. Мне не нравятся многие GPL CMS тем что каждый модуль начинает реализовывать свою иерархию объектов и их связей не основываясь ни на чем кроме мнения своего разработчика. От этого пухнет база, api-модуля и мозг.

Расскажите, как обстоят дела в этой области в данной CMS. И хотелось бы поподробней посмотреть как «социальные» CMS держат нагрузки? У меня, например, что drupal.org, что drupal.ru, как говорится «притормаживает». Было бы интересно рассмотреть как они это все держат без модулей кэширования и с ними, если у вас есть эти данные.

Пока я понял только то что ув. Axel программирует PHP код, не являясь поклонником PHP, без отвращения, а администратору Лехе удобно распределять роли. А чем так хорош Drupal? :)

Ну вот кстати, разработчики IBM перевели на русский свой сравнительный отчет по открытым CMS (включая Drupal)://www.ibm.com/developerworks/ru/library/i-osource1/index.html

Любопытно, какая давность НАПИСАНИЯ (а не публикации этого материала). Судя по описываемой ситуации — по крайней мере два года как.

То есть весьма неактуально уже.

Написана тоже не очень давно (после выхода 4.7), но вот аргументация и выбор для сравнения там хромает на обе ноги…

Любят друпалоиды эту статейку, не понимая, что она им скорее свинью подкладывает, провозглашая «среди слепых и одноглазый — царь»

Мне не нравятся многие GPL CMS тем что каждый модуль начинает реализовывать свою иерархию объектов и их связей не основываясь ни на чем кроме мнения своего разработчика. От этого пухнет база, api-модуля и мозг.гхм, и что? вот в последнем комментарии предлагают cms которая делает (ядро в смысле) всего 4 запроса к базе? это извините идиотство — пытаться впихать все в один запрос, вместо того чтобы продумать систему с самого начала. Да и в целом , те самые 4 запроса не обязательно будут работать быстрее чем другие 10.

касаемо распределения ролей, то это конечно кому-как со своей колольни, просто подход в том же WordPress — идиотский. Нафига система ролей без возможности их изменить (ну откудаже юзер самый обычный узнает что они меняются?)? В Drupal подход, для людей не то, чтобы продвинутых, но как минимум интересующихся что у них под носом работает и работает ли вообще.

т.к. по сути сайт является набором одних и тех же сущностей, несмотря на модули и прочее — текст конечно он и в африке текст, тогда не проще ли сделать одно ключевое слово «текст» и не мучаться? :) Модули и прочее тут абсолютно не причем. В Drupal можно обойтись одним словарем, и даже подлые модули и гнусное прочее не понадобятся. Ужасно?

Drupal удобен возможностью использовать один екземпляр скриптов для нескольких (многих) сайтов.

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

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

Drupal можно использовать для организации многоязычних сайтов. Для этого существует специальный модуль, с помощью которого каждый пост имеет отдельное представление в каждом языке.

Кроме того с помощью alias-ов также можна организовать многоязычие без использования специального модуля. Такой вариант удобен для статических сайтов. При этом фактически существуют несколько отдельных сайтов в разных языках.

Описанная вами схема работает практически везде с доп. модулями. Другой вопрос что в Drupal 6 система локализации будет переработано и в частности поддержка мультиязычности будет встроена в ядро.

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

Как можно использовать Drupal для создания электронной библиотеки? Например, нужны такие параметры (метаданные) для записей, как автор, год изд-я, язык, кол-во стр., тип файла и т.д. Заранее благодарю за ответ.

Очень удачен модуль Event Удобно создавать календари событий

Друпал хорош всем!!

А чем конкретно он лучше?

Друпал грамотно продуман, много модулей, от рождения сносно выглядит и работает.

Сначала я сделал этот сайт на wordpress, но потом понял что друпал подходит лучше. как ни крути — очень гибкая CMS

Друпал одна из самых web-2.0 систем на рынке. Аякс, комментирование всего содержимого, широкие права анонимов, гибкая настройка дизайна, рейтинги материалов (сторонний модуль). Общая идеология равноправия всех материалов. Т.е. форумный топик можно вывести на главную страницу и посторонний человек и не догадается что это не специально написанная статья, а форумное обсуждение.

Когда делал свой первый сайт, выбрал Joomla. Постепенно удалось настроить красивый шаблон, но сайт меня не радует из-за «тяжелого» кода. В общем, несмотря на 250-300 посетителей в день (при 2000-4000 просмотров страниц), и не самом плохом хостинговом плане (хотя и виртуальный сервер), сайт тормозит.

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

Ребята, а не подскажите как проще всего интегрировать с сайтом форум vBulletin (vbDrupal, DrupalVB) не понравились. И вообще, имеет ли смысл в одном форуме совмещать блоги и форумы? А то лицензия на vBulletin подвисла. Хочется ее применить куда-то.

Когда делал свой первый сайт, выбрал Joomla. Постепенно удалось настроить красивый шаблон, но сайт меня не радует из-за «тяжелого» кода. В общем, несмотря на 250-300 посетителей в день (при 2000-4000 просмотров страниц), и не самом плохом хостинговом плане (хотя и виртуальный сервер), сайт тормозит.

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

Нужно еще сказать о целесообразности использования той или иной cms.

Например TextPattern мне кажется идеальным решением для построения и ведения сайта для пользователей. Пример — один из моих сайтов на textpattern

Но в случае ведения сайта самими пользователями приходится искать другое решение и пока я склоняюсь к Drupal. Это относится и к публикациям статей, и к межпользовательскому взаимодействию (личные сообщения и тд).

Что меня больше всего впечатлило — то что это не только CMS (в обычном смысле слова), но еще и платформа для быстрой разработки веб-приложений под свои задачи. Про простоту разработки модулей тут уже говорилось, я добавлю еще что простейшие БД-образные приложения — типа каталогов и т.д. могут разрабатываться за пять минут *вообще без программирования*. Создается новый тип нод (flexinode), описывается набор полей для них, создается экранная форма для ввода — и все это через админский веб-интерфейс, без всякого php, без создания таблиц в базе! При этом новые объекты будут полноправными нодами, то есть их можно раскладывать в таксономии, распределять над ними права и т.д. Программирование (модуль) требуется только если под этими объектами нужна какая-то логика помимо базовой CRUD. То есть, как в Рельсах примерно.

Чего я только не пробовал, сделал вывод — Друпал лучший!

Друпал единственный движок (по крайней мере корорые я знаю), где новые фишки можно создавать без знания программирования, например использую Views И CCK.

В нашем Top5 Drupal, Plone, Joomla!, TYPO3… насчет пятой затрудняемся. Пусть будет WordPress :)

То же самое, год назад примерно выбрал Друпло, и ни капли не жалею. Сделано уже куча сайтов, пока никаких проблем с ними нет. В общем, Друплом доволен.

не..я от вордпресс не откажусь ) оч хорошо сделана поддержка для мобильных устройств — плагин от alexa kinga; очень много фишек, поддержка самая лучшая из всех цмс ) но за друпал будущее ))

Клуб любителей Друпала, это как клуб любителей АЗЛК, много у него плюсов…

Так и до конца жизни будут убеждать всех и вся о превосходстве Друпала…

А вы знаете бесплатный движок который на многое способен? Я думаю нет. Друпал отличный многозадачный движок.

WebGUI, например. Но мне как программисту CMS не нравятся принципиально. Я предпочитаю CMF(Titanium, Catalyst).

Функционал у многих сайтов практически одинаков, революционного никто ещё не предложил. А вот друпальные сайты все на одно лицо, в том числе и ваши, цветовую гамму поменяли и все,- очередные клоны…

Только начинаю осваивать drupal — капля если не ощибаюсь. Впринципе пока все идет гладко, по крайне мере болюше нравиться чем Джумла.. пример простого сайта на drupal можно посмотреть

А вообще с ним всё очень просто: поставил, настроил, и добавляй содержимое. Не нужно париться и мучаться.

друпал очень хорош именно для запуска социально ориентированных сайтов, типа тематических блогохостингов. При этом стартовые вложения минимальны. Если тема «попрет» то где-то от 10.000 посещений в день надо уже задумываться о самописном движке, так как Drupal из-за своей универсальности генерирует куча запросов к базе, без которых можно обойтись.

fortress-design.com

Как устроена CMS Drupal, и как с ней работать

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

Подходы к разработке сайта могут быть разными. Узнаем, для каких сайтов CMS Drupal подходит.

1. Получить сайт в несколько кликов и начать писать на нёмВ отличие от Вордпресс, официальный сайт Друпал не имеет системы пользовательских блогов, хотя, возможно, есть такие системы именно на CMS Drupal.Получить сайт в несколько кликов можно, если заказать хостинг, на котором есть функция установки CMS из админки. Это например, бегет, хостингер и другие, также администраторы хостингов это могут делать бесплатно для клиентов, купивших хостинг.При этом могут возникать потребности в смене оформления, добавления блоков в боковую колонку, в заголовок сайта, добавления функции отправки писем с сайта и прочие доработки. Это всё реализуется готовыми модулями. Владельцу сайта будет достаточно научиться устаналивать модули и правильно находить эти модули в Интернет. Однако, для новичков без опыта работы в Интернет, рекомендуется более удобная система - Вордпресс. Друпал для новичков будет очень тяжёлым опытом.

2. Разрабатывать сайт, который может расширяться без ограниченийЭто более профессиональный подход, который предполагает владение информацией о многих модулях, как популярных, так и специфических. В этом случае другие CMS будут неверным решением, так как их функционал ниже, а функционал системы Drupal - самого высокого уровня. Но не все задачи будут решаться модулями: также придётся если не писать свои php-коды, то копировать в Интернет готовые решения и уметь их правильно вставлять в специальные файлы Друпал. Не обязательно иметь большой опыт php-разработки, чтобы решать задачи - достаточно правильно задавать вопросы гугл или уметь формулировать вопросы на форумах. Друпал имеет множество ответов на вопросы и решает такие задачи лучше других.

3. Создать спец-проект, непохожий на другие, предоставляющий новые сервисыТакая задача может решаться с использвоанием Друпал в качестве базовой системы. Богатый и функциональный API позволяет создавать модули, реализующие требуемые функции. Например, CRM или связь с мобильными приложениями, также социальные сети могут основываться на вашем друпал-сайте. С достаточным уровнем надёжности и комфорта.

4. Разработать популярный специфический проект масштаба страныПожалуй, крупные магазины, порталы, общеизвестные российские сервисы (например авито, дром.ру, одноклассники) будут иметь недостаточную производительность, если использовать API Drupal при разработке. В этом случае оптимальным решением будет написание всей системы заново, без использования Друпал для базовых функций (регистрации, управления пользователями, содержимым). Как и любая другая, CMS Drupal в этом случае просто не нужна: функциона друпал будет во много раз ниже доработанных функций такой системы, а значит и систему API можно заменить собственной, специально разработанной для проекта. Для работы над такими проектами нужны фреймворки и талантливые программисты.

Область применения этой системы - огромная, хотя и имеет ограничения.

Структура CMS Drupal, где её скачать, какую версию выбрать, как обновлять

CMS Drupal состоит из набора программ на PHP, в том числе, из модулей ядра. Последнюю версию друпал можно скачать по кнопке Download & Extend на официальном сайте: https://www.drupal.org/project/drupal внизу в таблице рекомендуемых релизов - Recommended releases.Обычно предлагается два релиза (выпуска) CMS Drupal: последний и предшествующий. На данный момент это релизы: 7.38 - из ветки седьмой версии Друпал - и релиз 6.36 - из ветки шестой версии.

Почему есть 7 и 6 ветка, а также 8? Эти ветки имеют различные функциональные особенности, а именно: API-функции. Поэтому все модули, которые написаны для 6й версии, не будут работать на 7й, так как 7я версия не поддерживает API 6й версии. Но как ядро Друпал, так и большинство модулей существуют в версиях 6, 7 и теперь многие в 8 версии.

Какая версия Друпал основная и правильная? На данный момент 7 версия и её последний релиз 7.38 - то что нужно скачивать и использовать для всех новых сайтов. Другие версии (6, 8) просто не нужно использовать, так как 6я является устаревшей, а 8я еще не готова для использования - она не стабильная и может содержать ошибки или уязвимости.

Как обновлять друпал? Друпал нужно обновлять при появлении нового релиза выбранной ветки. То есть, если у вас дурпал 7й версии,например 7.38, тогда когда выйдет новая версии 7.39 или 7.40 - можно будет сделать обновление (хотя не обязательно). Иногда без обновления друпал рискует быть взломанным, так как разработчики иногда находят ошибки, которые влияют на безопасность сайта, и закрывают эти ошибки в новой версии.

Если вы установили нужную версию (Recommended releases), тогда давайте расширять функционал сайта при помощи модулей.

О модулях CMS Drpual

Как все CMS Drupal работает с содержимым и позволяет редактировать тексты сайта, его структуру, внешний вид, создавать интерактив, добавлять функции. Для расширения функций Друпал не нужно скачивать отдельные версии друпал - достаточно установить ядро и расширить ядро готовыми модулями. В отличие, например, от DLE, в которой для смены дизайна нужно скачивать целиком всю cms заново, в Друпал для смены дизайна сайта не нужно скачивать всю CMS целиком. В друпал внешний вид и функции сайта отделены от ядра и скачиваются отдельно.

CMS Drupal решает широкий спектр задач: от одностраничного сайта типа посадочная страница, до новостного портала с ежесекундной обработкой запросов: публикация новостей, комментариев, регистрация пользователей, поиск по сайту и т.д. Согласитесь не во всех сайтах нужна регистрация пользователей и не всегда бывают нужны рубрики блога? Поэтому базовая установка друпал не наделена никакими лишними функциями, чтобы не нагружать сайт программами, которые не будут использоваться.

Для расширения ядра под конкретный проект нужно пользоваться модулями. В других CMS это ещё называется плагины, расширения.

Модули ядра - это модули, которые уже есть в Друпал базовой установки. Это обязательные модули, которые расположены в папке /modules в корне сайта. Их нельзя удалять или редактировать, иначе сайт перестанет работать.

Контрибные модули - это дополнительные модули, которые разработали опытные программисты, использующие CMS Drupal и готовые поделиться своими решениями. Эти модули проверены и допущены к массовому использованию (от английского contribute - содействовать, делать вклад). Использование контрибных модулей безопасно. Эти модули должны размещаться в отдельной папке: /sites/all/modules (и не должны быть в одной папке с модулями ядра, хотя это не навредит но это неудобно при обновлении сайта)

Всё что нужно новичку для добавления функционала друпал-сайту - скачать нужный модуль с drupal.org и настроить.

Как узнать свою версию Друпал

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

  1. посмотреть в файле CHANGELOG.txt в корне сайта в первой строке, что-то типа: Drupal 7.38, 2015-06-17 - значит Друпал 7й версии
  2. посмотреть в администраторском разделе в Модулях, то есть тут site.ru/admin/modules - в таблице модулей в колонке Версия у всех модулей будут обозначены версии с первой цифрой 7 - значит у вас 7й друпал.

Как правильно выбирать модули? Если вы знаете версию ядра, вам нужно подбирать правильные версии модулей: начинающиеся с этой же цифры. Например, на странице модуля Taxonomy menu внизу есть версии для скачивания: на данный момент 7.x-1.5 и 6.x-2.9, также 8.x-3.x-dev - это версии для 7, 6 или 8 друпал.

О самых популярных модулях и базовой настройке Друпал читайте тут.

www.tlito.ru

Содержимое Drupal. Настройка вида и типа содержимого Drupal

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Как создать сайт бесплатно. В рубрике Делаем сайты на Drupal уже было несколько публикаций о том, как создать сайт на Drupal: установка Drupal и русификация Drupal, настройка Drupal и админка Drupal, модули Drupal, что такое Drupal и две публикация о том, как работает Drupal (часть 2). Сегодня мы поговорим про содержимое Drupal (Content Drupal). 

Содержимое Drupal. Настройка вида и типа содержимого Drupal

В данной публикации мы разберемся с тем, как добавить содержимое Drupal. Какие виды содержимого и типы содержимого Drupal доступны по умолчанию. Сразу скажу, что в Drupal по умолчанию доступно два вида содержимого: Basic Page (статичные страницы Drupal) и Article (статьи или новости Drupal). Каждый из этих видов содержимого Drupal можно настроить по-своему. И причем настроить так, как хотите этого вы, а не так, как это было задумано разработчиками Drupal. Правда для такой настройки содержимого Drupal потребуется два модуля: CCK и Views, благо что CCK уже встроен в Drupal 7. Но данные модули, к сожалению, не являются темой этой публикации.

Не забываем подписываться на RSS-ленту, twitter и на публичную страницу Вконтакте

Содержимое Drupal (Content Drupal). Как добавить содержимое Drupal.

Содержание статьи:

Я уже много раз писал о том, что содержимое Drupal (content Drupal) – это  любой узел Drupal, содержимым Drupal может являться простая статическая страница Drupal, блог на Drupal, опросы на Drupal, комментарии Drupal и так далее. По умолчанию в Drupal можно создать всего лишь два типа содержимого Drupal (content Drupal): тип содержимого Page Drupal (Страница Drupal) или Basic Page Drupal – это статичная страница содержимого Drupal, которая предназначена для создания таких страниц как Контакты, О нас, Партнеры, Карта сайта Drupal и т.д.; второй тип содержимого Drupal (content Drupal), который доступен по умолчанию – Article Drupal, статья Drupal, такой тип содержимого Drupal предназначен для ведения блога Drupal, добавления новостей на Drupal, по умолчанию тип содержимого Drupal статьи Drupal выводятся на главную страницу Drupal, но главную страницу Drupal можно сделать статичной. Страницы Drupal (Basic Page Drupal не выводятся по умолчанию на главную страницу).

Любой тип содержимого Drupal можно перенастроить, при помощи модулей Drupal можно расширить функционал различного содержимого Drupal. Создать новое содержимое Drupal (Content Drupal) можно в пункте «Содержимое»:

Как добавить содержимое Drupal

А затем нажать на кнопку «Добавить содержимое». Или вы можете перейти по ссылке vashsait-new.ru/node/add. Где vashsait-new.ru – это доменное имя сайта, созданного на Drupal. В любом случае вы увидите следующее:

Выбор типа содержимого Drupal, которое хотим добавить на сайт

Давайте создадим первый пункт содержимого Drupal (Content Drupal) статичную страницу Drupal (Basic Page Drupal), для того чтобы создать новое содержимое, нужно выбрать тип содержимого Drupal, выберем Basic Page Drupal и увидим следующее (чтобы создать статичную страницу Drupal можно перейти по адресу vashsait-new.ru/node/add/page, где vashsait-new.ru – это доменное имя сайта, созданного на Drupal):

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

Редактор Drupal для создания содержимого Drupal

Filtered HTML Drupal – это редактор, для которого можно задать ограничения используемых HTML тэгов (очень удобно если на вашем сайте пишут сторонние авторы). Full HTML Drupal – доступны все HTML тэги, такой вид создания содержимого Drupal лучше всего сделать доступным только для администратора Drupal. Plain Text Drupal – наименьший уровень разрешения создания содержимого Drupal в текстовом редакторе, обычно используется при добавление комментариев Drupal. Любой тип содержимого Drupal можно настроить, базовые настройки содержимого Drupal (Content Drupal) выглядят следующим образом:

Создаем содержимое Drupal типа Basic Page

Первый пункт настроек содержимого Drupal, которое мы хотим добавить на созданный сайт называется Параметры меню, в этом пункте можно настроить то, в каком меню Drupal будет отображаться данное содержимое. Достаточно поставить галочку напротив пункта «Добавить ссылку в меню», чтобы появились нужные настройки содержимого Drupal:

Настройка меню для содержимого сайта на Drupal

В поле с именем «Название ссылки меню» вписывается название, которое будет отображено в меню Drupal, в поле «Описание» вписывается описание данного содержимого Drupal, которое будет всплывать при наведении курсора мыши на соответствующий пункт меню. В выпадающем списке, который называется «Родительский пункт» можно указать к какому меню Drupal или к какому пункту меню будет принадлежать то или иное содержимое. Выпадающий список «Вес» определяет вес содержимого Drupal (Content Drupal), чем больше вес содержимого Drupal, тем ниже находится пункт меню данного содержимого (если меню созданного сайта на Drupal вертикальное, если меню сайта созданного на Drupal горизонтальное, то «более тяжелое» содержимое Drupal будет располагаться правее).

Пункт с названием «Информация о редакции» предназначен, собственно, для внесения информации о редакции содержимого Drupal, очень удобно, если на сайте, созданном на Drupal, пишет сразу несколько авторов, этот пункт меню позволяет уточнить для других авторов, которые наполняют содержимым сайт, созданный на Drupal, почему были внесены те или иные изменения на данной странице Drupal, данная информация не видна посетителям сайта созданного на Drupal:

Как добавить информацию о редакции содержимого сайта на Drupal

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

Настройка ЧПУ Drupal для вида содержимого Basic Page

Пункт «Параметры комментариев» отвечает за комментарии Drupal, здесь вы можете запретить комментарии для того или иного содержимого Drupal или наоборот разрешить комментарии. По умолчанию для содержимого Drupal тип Basic Page Drupal (страницы Drupal) комментарии отключены:

Настройка комментариев для статичной страницы Drupal

В пункте «Информация об авторе» можно добавить информацию об авторе содержимого Drupal (Content Drupal), по умолчанию можно вписать имя автора содержимого и время создания содержимого Drupal (Content Drupal), если имя автора содержимого не будет указано, то вместо него будет выводиться слово «Гость», если время создания содержимого Drupal не будет указано, то будет отображено текущее время:

Настройка информации об авторе и дате создания содержимого Drupal

И последний пункт настройки содержимого Drupal, который доступен по умолчанию – это «Параметры публикации», здесь вы можете сделать так, чтобы содержимое Drupal отображалось на главной странице Drupal, определить будет ли опубликовано содержимое Drupal, а так же закрепить содержимое Drupal вверху списка, если, например, вы создали блог на Drupal и вам необходимо, чтобы некоторые публикации оставались вверху:

Настройка публикации содержимого Drupal

Стоит сказать, что содержимое любого базового узла Drupal (Страницы Drupal и статьи Drupal) можно разбить на полное представление и анонс Drupal. Анонс отображается при просмотре всего блога Drupal, а так же при просмотре RSS ленты сайта, созданного на Drupal. Полное представление будет отображаться посетителю, который перешел по ссылке нужной ему статьи Drupal.

Обратите внимание: не нужно путать страницы Drupal (здесь имеется ввиду вид содержимого Drupal) и HTML страницы. Поскольку страницы Drupal – это комментарии Drupal, содержимое страницы Drupal, информация об авторе статьи или страницы Drupal, заголовок страницы Drupal. А HTML страница это шапка сайта, меню сайта и прочее, то есть все содержимое окна браузера. Каждый узел Drupal можно настроить по своему усмотрению. То есть, другими словами, каждый вид содержимого Drupal имеет гибкие настройки.

Настройка типа и вида содержимого Drupal

В Drupal можно настроить вид содержимого для каждого отдельного узла Drupal, то есть для каждой отдельной страницы Drupal или для каждой отдельной статьи Drupal, у вас есть возможность помимо всего прочего создать свой вид содержимого Drupal. Если вы используете русифицированный Drupal, то переходите по следующему пути: структура > типы содержимого, или напишите в адресной строке браузера: drupal_site.ru/node#overlay=admin/structure/types. Здесь вы сможете настроить виды содержимого Drupal, а так же создать новый тип содержимого Drupal:

Как добавить новый тип содержимого Drupal

Обратите внимание на то, что если вы уже создали несколько страниц Drupal или статьей Drupal, в общем, если вы добавили какое-то содержимое и создали несколько узлов, то настройки, которые вы будете применять для содержимого Drupal, не применятся к уже созданному и добавленному содержимому. Поэтому, прежде чем добавлять содержимое на сайт Drupal, вы должны определиться с тем, как должно отображаться содержимое вашего сайта Drupal, а потом уже начинать что-то добавлять. Давайте обратимся к настройкам типа содержимого Article, у типа содержимого Basic Page настройки производятся аналогичным образом, поэтому я не буду их описывать. Для тех кто не помнит или не знает напомню: Article – это статьи Drupal или какие-то новости, а Basic Page – это статичные страницы предназначенные для создания таких материалов, как «О нас», «Контакты» и так далее. Настройки содержимого Drupal выглядят следующим образом:

Настройка содержимого Drupal

Сверху мы можем видеть несколько вкладок: «Редактировать», «Управлять полями», «Управлять отображением», «Поля комментариев», «Отображение комментариев». Давайте разбираться с настройками вида содержимого Drupal, которые можно совершить на вкладке «Редактировать». Первое, что мы можем изменить – это имя содержимого Drupal и его описание:

Заголовок содержимого Drupal и описание содержимого Drupal

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

Заголовок содержимого Drupal и описание содержимого Drupal

Обратите внимание на то, что в настройках редактирования содержимого Drupal есть еще несколько поднастроек:

Настройка содержимого Drupal

В пункте меню с названием «Свойство формы» можно настроить несколько параметров содержимого Drupal. Первое, что можно настроить – нужно ли просматривать добавляемое содержимое Drupal перед тем, как оно будет опубликовано на созданном сайте. Тут три варианта. Если вы выберите «Отключено», то просмотреть содержимое Drupal перед его публикацией на сайте у вас не получится, если вы зададите параметр «Необязательно», то просмотр созданного содержимого   перед его публикацией будет на усмотрение автора, а если вы выберете «Обязательный», то автор не сможет добавить новое содержимое на сайт Drupal, не осуществив предварительный просмотр того, что он написал. В этом же пункте вы сможете создать небольшую инструкцию для авторов вашего сайта, например, написать какие HTML тэги могут использовать авторы при добавление статей на сайт Drupal и т.д.

В разделе с названием «Параметры публикации»  вы можете настроить то, как будет публиковаться содержимое Drupal:

Настройка параметров публикации содержимого Drupal

Здесь вы можете настроить то, что будет происходить с только что добавленным содержимым сайта Drupal. Если убрать галочку с пункта «Опубликовано», то содержимое сайта Drupal, которое добавляется для начала должно пройти проверку модератора или администратора сайта Drupal, а уж потом оно будет опубликовано. Если убрать галочку с пункта «Помещать на главную», то добавляемое содержимое на созданный сайт не будет размещаться на главной странице Drupal. Здесь вы можете закреплять самые важные материалы сайта на Drupal вверху списка материалов блога или главной страницы Drupal. Так же вы можете, при необходимости, настроить многоязычность сайта на  Drupal, об этом мы поговорим подробнее в других публикациях. Но, если вы хотите создать многоязычный сайт на Drupal, то русифицировать Drupal не стоит.

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

Настройка комментариев для вида и типа содержимого Drupal

Думаю, что с настройкой комментариев Drupal вы разберетесь, тут ничего особенно сложного нет. В разделе «Параметры меню» вы сможете настроить то, в каком меню будет видно то или иное содержимое Drupal, здесь так же, на мой взгляд, ничего особенно сложного и разобраться с этими настройками содержимого Drupal будет довольно просто:

Настройка параметров меню для содержимого Drupal

С вкладками «Управление полями», «Управлять отображением», «Поля комментариев» и «Отображение комментариев» мы разберемся, когда начнем создавать каталог на Drupal т форум на Drupal. Обратите внимание: название «Главная страница Drupal» – это всего лишь формальность, список содержимого созданного сайта на Drupal, который находится по адресу vashsaitnadrupal.net/node – это главная страница Drupal по умолчанию, это легко изменить. Обратите внимание: в Drupal можно создавать содержимое любого типа и настраивать его отображение так, как вам нужно – это делается при помощи модуля Views Drupal, о котором я обязательно напишу и которому будет посвящено несколько публикаций на моем блоге.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

zametkinapolyah.ru

Советы по применению Drupal

Советы по применению Drupal

Про него говорят: гибкий и сложный, безопасный и быстрый. Им многие восхищаются, но не все решаются применять в своих проектах. Да он такой, этот Drupal. Умеет многое, но чтобы получить максимальную отдачу от этой системы разработчику придется, как следует попотеть и разобраться в многочисленных тонкостях. Этот путь тернист и труден, но цель однозначно того стоит. Я начал применять Drupal в своем большом проекте не так давно, но уже успел набить несколько шишек и хочу уберечь от этого тебя. Заинтригован? Тогда, приготовься выслушать советы от уже не совсем начинающего Drupal’ера.

Главный минус Drupal

Одним из главных минусов Drupal’а всегда был отсутствие нормальной, структурированной документации. Нет, есть форумы, имеются официальные доки, но это все не то. Вся вкусная информация разбросана по закоулкам мировой паутины, и быстро найти ответ получается не всегда. Еще сложней разработчикам, незнающих язык Шекспира. В этой статье я постараюсь дать советы и примеры решения задач, с которыми я сам когда-то столкнулся. Уверен, что с подобными трудностями сталкиваются многие. Очень надеюсь, что после прочтения статьи, таких не счастливчиков станет меньше. Сразу оговорюсь, что в рамках журнальной статьи освятить все что хочется – нереально. Часть советов останется за кадром, но ты сможешь в любое время их почитать на сайте проекта VR-Online (полную ссылку на статью ищи во врезке).

Совет #1: Каждому проекту – свой Drupal

Drupal пригоден не только для строительства web-сайтов. На основе этого движка удобно разрабатывать различные web-приложения. Зачастую, подобные приложения разрабатываются для внутрикорпоративных нужд. К таким проектам предъявляются совсем другие требования, и типичной сборки Drupal может оказаться мало. Да, все легко допилить и настроить, но иногда беспокоиться об этом не нужно, т.к. любители Drupal’а уже все сделали.

Из альтернативных «версий» Drupal я могу посоветовать: BrainstormBlogger и Open Atrium. Первый проект – это сборка Drupal’а, специально созданная для быстрого создания блогов. Использовать чистый Drupal для строительства блога – процесс трудоемкий и не каждый новичок с ним справиться. Специально для таких случаев и людей наш соотечественник сделал альтернативную сборку Drupal. Из коробки brainstormblogger готов к работе и содержит в себе все необходимые модули (облако тегов, блог и т.д.) для развертывания полноценного блога. В случаях, когда нужен простой блог, то это идеальный вариант. Хочу также отметить, что применение Brainstorm blogger не накладывает никаких ограничений. Ты также можешь устанавливать дополнительные модули, выполнять автоматическое обновление движка и т.д.

Второй проект, о котором я хочу тебе рассказать – Open Atrium. Он позволяет в кратчайшие сроки поднять систему для совместной работы. Если ты руководишь отделом, то однозначно знаком с подобными проектами. Они позволяют закреплять задачи за определенным сотрудником, планировать время их выполнения, отслеживать процесс завершения, формировать отчеты и т.д. Большинство таких программ – платные, но в функциональном плане они недалеко уходят (или вовсе отстают) от Open Atrium. Если перед тобой встала задача найти и развернуть подобный софт, то обязательно присмотрись к этому продукту. Он быстр, функционален, бесплатен и при острой необходимости его можно допилить под себя. Набор ключевых функций привожу ниже:

  • Система тикетов;
  • Блоги;
  • Календарь;
  • Документы wiki;
  • Доска для групповой работы;
  • Совет #2: Рулим Drupal’ом из командной строки

    Удобный web-интерфейс панели администрирования Drupal – это хорошо, но отнюдь не всегда удобно. Как было бы здорово, иметь возможность выполнять административные операции прямо из командной строки. А ведь это возможно! Достаточно загрузить и установить пакет drush. С его помощью администратор drupal’а может выполнять разнообразные действия прямо из консоли:

  • Получать информацию о настройках сайта;
  • Устанавливать/удалять модули;
  • Выполнять обновление движка;
  • и т.д.
  • Из всех возможностей drush я чаще всего пользуюсь функцией обновления модулей. Стандартный процесс загрузки апдейтов славиться своей занудностью. Изначально требуется составить список обновившихся модулей, затем зайти на официальный сайт Drupal и перейти на страницу модуля. Потом загрузить его, переместить в нужную директорию, выполнить скрипт обновления и т.д. Ладно, если нужно обновить один модуль, а если их 10, 20? Запросто можно сойти с ума! Куда веселей выполнять эту процедуру при помощи Drush. В этом случае достаточно воспользоваться командами up и upc. Удаление/отключение новых модулей выполняется аналогичным образом. Например, для удаления модуля предусмотрена команда:

    $ ./drush uninstall <модуль или список модулей> Примерно также происходит отключение и включение модулей: $ ./drush en blog //включаем модуль blog $ ./drush dis blog //отключаем модуль blog

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

    Совет #3: Авторизация по OpenID

    Сайты с собственной системой авторизации отходят на второй план. Жизненно-необходимых web-сервисов с каждым днем становиться все больше и хранить в голове десятки связок из логинов/паролей задача не из легких. Чтобы как-то ее решить, в свое время и был создан OpenID – открытая централизованная система, позволяющая пользователю использовать единый логин/пароль для выполнения авторизации на различных сайтах. Последнее актуально, если они поддерживают OpenID.

    Начиная с шестой версии, в составе Drupal идет модуль, обеспечивающий возможность авторизации по OpenID. Однако, чтобы начать использовать на сайте OpenID, необходимо подключить еще один модуль, содержащий настройки для различных поставщиков OpenID. Таких поставщиков много, но наиболее популярными (для российских пользователей) являются: Yandex, Rambler, Google, VKontakte, FaceBook и т.д. Для зарубежных сервисов (google, livejournal, facebook) в репозиториях drupal есть соответствующие модули, а вот для наших – нет. Когда передо мной встала задача прикрутить OpenID-авторизацию, то мне пришлось прошурстить интернет, с целью поиска решения. И оно нашлось! Чтобы все было тип-топ, нужно воспользоваться модулем OpenID Extension от нашего соотечественника. Обрати внимание, данный модуль – не очередной вариант взаимодействия с OpenID. Это просто удобный блок для выполнения авторизации, а также возможность выбора поствыщка в нашей стране ID параметров.

    Совет #4: Drupal + «В Контакте»

    Подключить на сайт авторизацию по OpenID несомненно полезно, ну, а что если только требуется обеспечить более простой вход на сайт (без регистрации) пользователям, имеющих аккаунт в социальной сети «В Контакте»? Да, можно просто отключить лишних поставщиков в External Form Login, но это не решит проблему. Выполняя вход по VKontakteID, пользователю фактически придется создать новую учетную запись на сайте. При входе он увидит стандартную регистрационную форму, ожидающая заполнени. Да, ему даже пароль придется придумывать.

    Лишь после создания аккаунта к нему будет привязан OpenID идентификатор (в данном случае VKontakteID) и пользователь сможет выполнять вход по нему. Сам понимаешь, такой подход не очень удобный и воспользоваться им можно не всегда. Иногда требуется реализовать что-то более просто. Представь, как было бы здорово, имея пользователь аккаунт в «В Контакте», мог сразу войти на твой сайт. Другими словами, Drupal должен создавать новую учетную запись автоматически на основании полученных данных от «В Контакте». К счастью, добиться такого эффекта не так-то сложно. Примерно полгода назад разработчики популярной социальной сети открыли доступ к OpenAPI интерфейсу. Благодаря этому, пользователи получают возможность выполнять авторизацию на сторонних сайтах, используя учетную запись «В Контакте».

    Добавить в Drupal поддержку «В Контакте OpenAPI» позволяет модуль VK OpenAPI. Модуль прост в использовании и с его помощью легко настроить «новую» систему авторизации. Помимо авторизации, VK OpenAPI может добавить к материалам кнопку “Share”, позволяющую пользователям делиться понравившимся материалом.

    Совет #5: Выбираем продвинутый шаблонизатор

    Одним из самых удачных шаблонизаторов для PHP считается Smarty. Во многих современных CMS используется именно он и на это есть причины. Главные из них – гибкость, удобство и большие возможности. Увы, по умолчанию в Drupal применяется собственный шаблонизатор, но при желании легко подключить smarty. Для этого необходимо загрузить smarty theme engine для Drupal и собственно сам Smarty (ссылку уже давал). После проделывания этих нехитрых операций, ты получишь возможность создавать темы на базе Smarty. Кстати, почему-то готовых тем на основе Smarty не так много, поэтому у тебя есть все шансы стать автором самой красивой и удобной Smarty темы, на которой будут учиться тысячи пользователей.

    Совет #6: С чего начинать создание первой собственной темы для Drupal

    Рано или поздно перед Drupal’ером встает задача по разработке собственной темы оформления. Я бы сказал, что именно на этом этапе, 90% новичков принимают фатальное решение – “Drupal не для меня”. Отчасти их можно понять, т.к. темизация – одна из самых сложных и непонятных вещей. Нужно приложить усилия, чтобы хорошо освоить данный процесс и применять его в дальнейшем без сучка и задоринки. Чтобы процесс освоения проходил более гладко и понятно, то я бы рекомендовал тебе выполнить несколько простых шагов.

  • Чтение мануалов. Если уровень английского позволяет, то знакомиться с темизацией стоит после чтения официальной документации (http://drupal.org/documentation/theme). Написано в ней много как полезного, так и бесполезного материала. В любом случае, изучив его, ты однозначно поймешь, как в Drupal работают темы, и познакомишься с другими нюансами этой области. Вторым, обязательным для чтения документом будет цикл статей от Романа Архарова – профессионального Drupal разработчика. Роман написал несколько замечательных статей по Drupal. Среди них есть отличная статья про темизацию.
  • Изучение темы Zen. Начать разрабатывать новую тему для Drupal с чистого листа – довольно сложный процесс. Новичку вряд ли хватит сил и терпения завершить его до конца. Для облегчения жизни лучше взять за основу тему Zen. Весь код темы хорошо прокомментирован и работать с ним одно удовольствие. Кстати, именно Zen рекомендован разработчиками, приступивших к изучению темизации Dupal.
  • Совет #7: Shared хостинг или VPS?

    Сам по себе Drupal достаточно шустрый, но стоит обвешать его дополнительными модулями и вывести в реальное плавание, как начинаются проблемы с производительностью. Чтобы Drupal летел также быстро, как падает капля дождя с неба, нужно позаботиться о правильной настройке окружающей его среды. Речь конечно о WEB-сервере, СУБД, PHP и т.д. Максимальная производительность возможна лишь при тщательной настройке всех компонент. К несчастью, получить доступ ко многим настройкам, перечисленного ПО, на обычном хостинге нельзя. Приходиться довольствоваться тем, что предлагает хостер.

    Если сайт мало посещаем, то все ok. В противном случае, посетители будут часто видеть белый экран смерти, нежели ожидаемый ресурс. Исходя из вышесказанного, советую не использовать shared-хостинг для размещения более-менее посещаемого ресурса. Лучше немного потратить денег и приобрести VPS, где ты будешь главным хозяином и будешь сам определять настройки всех серверных компонент (включая ОС).

    Совет #8: Начальная оптимизация

    Сразу после установки Drupal нужно приступить к базовой оптимизации. Хоть Drupal и быстр, но если есть возможность что-то ускорить, ей надо пользоваться. Процесс оптимизации Drupal условно можно разделить на три группы:

  • Базовая. Реализуется средствами движка. Рулить этими параметрами ты можешь самостоятельно из панели администрирования сразу после завершения инсталляции системы.
  • Расширенная. Для Drupal разработаны специальные модули, позволяющие повысить общую производительность системы (например, посредством продвинутого кэширования).
  • Серверная. Под серверной оптимизацией подразумевается настройка серверных компонент, взаимодействующих с Drupal.
  • Итак, вначале посмотрим на базовую оптимизацию. В настройках производительности системы (admin/settings/performance) доступно несколько настроек, влияющих на быстродействие. Первое с чего стоит начать оптимизацию – включение кэша. По умолчанию он отключен и администратору доступно два варианта кэширования: нормальный и агрессивный. Самую большую производительность дает агрессивный режим, но не стоит обольщаться. Лучше выбрать «Нормальный». Это оптимальный режим для сайта с большим числом зарегистрированных пользователей. Если же сайт мало посещаем, то в таком случае хорошим выбором станет «агрессивный режим».

    Советую обратить внимание на группу настроек «Оптимизация пропускной способности». Она позволяет активировать объединение CSS и JavaScript в единые файлы. Зачем? Дело в том, что многие дополнительные модуля тянут с собой css/js файлы. При загрузке очередной страницы, происходит обращение к нескольким файлам на сервере. А это в свое очередь лишние соединения. Чтобы минимизировать затраты, можно выполнить объединение. В этом случае Drupal будет создавать единый файл с css/js, который и будет загружаться браузером пользователя.

    Совет #9: Серверные компоненты

    С самого начала важно понять, то быстродействие Drupal напрямую зависит от настройки компонентов внешней среды. К таковым относятся: web-сервер (см. совет 14), СУБД, PHP. Если кто-то один из них работает неэффективно, то ни о какой хорошей производительности не может быть и речи. Настраивать все эти компоненты можно долго, но я хотел бы обратить твое внимание на самые важные настройки.

  • PHP. Весь Drupal написан сугубо на php, поэтому крайне важно позаботиться о настройке этого интерпретатора. В конфигурационном файле php есть куча директив, но для drupal особенно важной будет php_value memory_limit. Как видно из названия, директива отвечает за объем памяти выделяемой для выполнения сценария. Понятное дело, чем ее больше, тем лучше. Если говорить конкретно в цифрах, то крайне желательно установить значение больше 32M (т.е. больше 32-х мегабайт). Помимо установки объема памяти, не менее важной опцией является max_excecution_time ( максимальное время выполнения сценария). Обычно здесь выставляеят значение от 30 и выше. Чем больше будет время исполнения сценария, тем меньше ты будешь видеть белый экран смерти.
  • Акселератор для PHP. Как бы там не хвалили PHP за простоту и быстродействие, этот интерпретатор все равно медленный и с этим трудно не согласится. Для выполнения каждого сценария, интерпретатору необходимо сначала считать и разобрать весь код сценария, затем выполнить его и вернуть результаты. Это операция проводится постоянно и на нее тратится самый драгоценный ресурс – время. Для решения этой проблемы были придуманы так называемые PHP акселераторы – программы, ускоряющие выполнение PHP-сценариев. Ускорение достигается за счет кэширования байткода каждого сценария. Для достижения максимальной производительности желательно установить какой-нибудь акселератор. Один из наиболее удачных представителей этой области – eAccelerator. Он прост в установке и настройке и существенно увеличивает реакцию интерпретатора.
  • СУБД. Чаще всего в качестве СУБД для web-проектов выступает MySQL. Он быстр, бесплатен, кросс-платформенен и обладает всеми необходимыми функциями. По настройке и оптимизации MySQL пишут целые книги. Я не буду лезть в дебри, а сразу посоветую включить кэширование (в mysql).
  • Совет #10: Альтернативное кэширование

    В оптимизации не существует пределов. Всегда найдется узенькое место пригодное для оптимизации. К несчастью (а может наоборот) в Drupal таких мест более, чем предостаточно. Одним словом – работать есть над чем. Одним из таких тормозков - встроенная система кэширования. Она работает хорошо, но для больших проектов ее не хватает. Именно поэтому, членами сообщества Drupal была разработана альтернативная система кэширования. Решений подобного рода несколько, но лучше всех выделяется cacherouter (http://drupal.org/project/cacherouter). Проект CR представляет собой модуль для Drupal и реализует хранение кэша в памяти, посредством возможностей демона memcached или акселераторов (APC, eAccelerator, XCache). Вердикт – рекомендовано для больших проектов.

    Совет #11: Views вместо своих запросов

    Как-то раз мне попался сайт на базе Drupal. В нем, во многих местах были понатыканы sql запросы. Разработчик использовал их для вывода в блоки различной информации: последние статьи, последние новости и т.д. Способ имеет право на существование, но пользоваться им все же не рекомендуется. Правильней будет воспользоваться модулем Views. Он позволяет создавать различные представления, и самое главное делает их эффективно. Тебе не нужно разбираться в структуре БД. Даже сложные выборки реально сделать путем применения визуального конструктора. Кроме того, при создании очередного представления доступна возможность управлять кэшированием. При создании вьюшек для редко изменяемой информации, эта возможность будет кстати.

    Совет #12: Drupal.API

    Существует заблуждение, что можно пренебрегать применением API, а использовать старый дедовский способ – прямое выполнение SQL запросов. Конечно, есть ряд задач, решать которые, лучше именно таким способом. Правда, такие задачи скорей исключение. Во всех остальных ситуациях, правильней будет пользоваться Drupal API. Вызывая документированные функции, разработчик может быть уверен, что его действия не повлекут за собой негативные последствия. К примеру, если для добавления нового пользователя существует специальная функция, то ни в коем случае не надо показывать понты и делать это запросом. В случаях, когда функции мало, то желательно посмотреть ее исходник и уже на основании кода посмотреть выполняемые запросы, и только затем на их основе составлять собственные.

    Совет #13: Нагрузочное тестирование

    Вновь созданный проект лучше сразу подвергнуть жесткому тестированию. Хоть трижды закрути все болты и гайки, а шанс, что сайт не выдержит шквала посетителей - есть всегда. Желательно сразу потратить время на нагрузочное тестирование и на ранних этапах исключить возможные провалы. Для проведения подобных тестов хорошо себя зарекомендовал сервис http://loadimpact.com. Он предлагает различные тесты для проверки web-проекта на устойчивость к нагрузкам. Тесты есть на любой вкус и кошелек. Для серьезного анализа имеется pro версия. Она конечно стоит денег, но тестов в ней больше, а следовательно и пользы от нее ощутимей. Не пугайся, если проект поднимается на общественных началах, то хватит и бесплатного варианта. Во всяком случае, ты будешь уверен, что твой сайт будет уверенно себя чувствовать при заходе на него пятидесяти человек.

    Совет #14: Хороший индеец – мертвый индеец

    Ни для кого не секрет, что олимп web-серверов уже много лет возглавляет Apache. Это действительно хорошее и качественное программное обеспечение, правда, не слишком быстрое. В связке с Drupal он показывает не совсем хорошие результаты и при большом наплыве посетителей становится самым узким местом. Частично победить тормоза позволяет хардкорный тюнинг, но превратить его в гепарда все равно не удастся. Лучше сразу от него отказаться и забыть как о страшном сне. А чем тогда же пользоваться? Конечно же nginx! В настоящее время, nginx пожалуй самый быстрый WEB-сервер. Того же Apache он обходит уже на старте и практически ничем ему не уступает (за исключением пока не большего количества модулей). На проекте VR-Online мы решили отказаться от Apache и полностью перешли на nginx. Производительность возросла на глаз. При открытии страниц создается впечатление, что на генерирование требуется времени. При использовании Apache об этом можно было только мечтать.

    Совет #15: Приручаем nginx

    Nginx превосходно подходит для Drupal’овских проектов, но чтобы все правильно и четко работало, нужно уделить время настройке. Тут методом научного тыка не обойтись. Придется пересилить себя и прочитать объемную документацию, а также повторить все полученные знания на практике. Чтобы как-то облегчить себе жизнь, рекомендую скачать конфиг для nginx, специально созданный для Drupal. Предложенный конфигурационный файл содержит все необходимое, для того, чтобы Drupal корректно заработал с nginx. Если перечислить возможности, которые отражены в конфигурационном файле, то получится:

  • Чистые url;
  • Мультисайтинг;
  • Повышенное время выполнения fastcgi;
  • Поддержка boost;
  • и т.д.
  • Совет #16: Готовься к Drupal 8

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

    Заключение

    Drupal – не типичная cms, которую легко настроить в несколько кликов мышкой. Чтобы выжать из него максимум и поднять не типичный проект – придется повозиться. Как следует повозиться и почитать форумы/документацию. После успешного первого проекта он уже не будет казаться таким страшным и странным. Не отступай и не сдавайся! Пробуй, экспериментируй, и я надеюсь, мои drupal’ные советы тебе помогут. Удачи!

    Статья опубликована в журнале "Хакер" (http://xakep.ru). Февраль 2011 г.

    Ссылка на журнал: http://goo.gl/lzfLnl

    iantonov.me

    Преимущества и недостатки Drupal

    Приблизительно 7% пользователей отдают предпочтение Drupal. Разработчикам в ней привлекает ее огромный потенциал и дружественный интерфейс, вПреимущества и недостатки Drupal котором можно создавать сайты сложной структуры. И наравне с другими «продвинутыми» инструментами, при работе с Drupal необходимо иметь определенные технические навыки, которые не требуются, если использовать другие CMS, например WordPress или Joomla.

    Плюсы CMS Drupal

    Минусы CMS Drupal

    Как правило, Drupal используют для сайтов, где необходима сложная организация данных — блоги, форумы, корпоративные сайты и разного рода сообщества и интернет-магазины.

    Мощный и сложный Drupal

    revolweb.ru


    Prostoy-Site | Все права защищены © 2018 | Карта сайта