Ромка!eu

  • Отдых
  • Работа
Главная

Это старая (Drupal 6) версия сайта romka.eu. Она больше не обновляется, комментирование материалов отключено. Обновленная версия сайта доступна по адресу http://romka.eu.

Drupal

warning: Creating default object from empty value in /var/www/d6.romka.eu/modules/taxonomy/taxonomy.pages.inc on line 33.

Разработка сайта на Drupal. Часть 6. Оптимизация Друпал

Ромка — Вс, 01/03/2010 - 03:11

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

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

  • Drupal
  • оптимизация
  • статья
  • Ромка's blog
  • 7 комментариев
  • Читать далее

Разработка сайта на Drupal. Часть 5. Социальная сеть на Друпале

Ромка — Вс, 01/03/2010 - 03:06

Постановка задачи

  • Drupal
  • социальная сеть
  • статья
  • Швабрашвабр
  • Ромка's blog
  • 9 комментариев
  • Читать далее

Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal

Ромка — Вс, 01/03/2010 - 02:51

Постановка задачи

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

Решение

На основе CMS Drupal разрабатываем сайт, интегрированный с Active Directory. Благодаря такой интеграции пользователи могут для авторизации на сайте использовать логины и пароли от своих рабочих компьютеров. Для каждого сотрудника создается персональная страница с полями, частично доступными для редактирования самим сотрудником (краткая информация о себе, фотография), и частично доступными для редактирования сотрудниками отдела кадров (фамилия, имя, отчество, должность, контактный телефон и десяток ключевых слов — тэгов). Аналогичные страницы создаются для каждого отдела, по каждому из них имеется описание, телефоны, список всех сотрудников и информация о руководителе. Страница отдела описывается несколькими тегами, характеризующими его работу. При наличии такой системы секретарю достаточно двух-трех слов в вопросе клиента, после чего с помощью системы поиска он находит человека, который с наибольшей вероятностью сможет ответить на вопросы звонящего. Достаточно простой, но наглядный пример. Возможны более сложные варианты, кроме телефонного справочника, корпоративный сайт может содержать модули CRM, Helpdesk, «Доска объявлений» или «Доска почета», корпоративный чат или форум и др.

  • Drupal
  • интранет
  • корпоративный сайт
  • пример
  • статья
  • Ромка's blog
  • 18 комментариев
  • Читать далее

Разработка сайта на Drupal. Часть 3. Модули Drupal.

Ромка — Вс, 01/03/2010 - 02:44

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

  • CCK — Content Construction Kit, визуальный редактор, позволяющий расширить любой тип контента с помощью любого количества дополнительный полей: картинки, файлы, видео-ролики с бесплатных видео-хостингов, ссылки на внешние и внутренние ресурсы и так далее. С технической точки зрения этот модуль представляет собой визуальный редактор для Node API, о котором уже говорилось.
  • Views — инструмент, позволяющий создавать списки документов, отфильтрованные по большому количеству различных параметров, например, по рейтингу, автору, дате публикации или последнего комментария, наличию или отсутствию определенных тэгов и другим параметрам. Фактически, этот модуль является графическим интерфейсом, с помощью которого пользователь создает сложный SQL-запрос к базе данных.
  • Panels — модуль, позволяющий без знания html, создать страницы разделенные на районы, данные для которых будут предоставляться различными модулями Друпала. Этот модуль, обычно, используется для создания главной страницы сайта, на которой выводятся блоки с последними новостями, форумными обсуждениями, комментариями и так далее.
  • Webforms — визуальный интерфейс для создания форм обратной связи и обработки данных, переданных через эти формы.
  • Еще один важный модуль — ImageCache. Он обеспечивает функции автоматической обработки изображений на основе пользовательских сценариев правил обработки (preset). Например, при публикации документа на сайте можно настроить ImageCache таким образом, чтобы сразу изменить масштаб картинки, вырезать фрагмент нужного размера, изменить палитру, повернуть и т. п. Иными словами, из одной картинки автоматически могут быть получены, например, пиктограмма, миниатюра для предварительного просмотра и полноразмерное изображение. Все эти модули интегрированы с системой темизации Drupal и позволяют изменять внешний вид создаваемых ими документов и списков.
  • Drupal
  • модуль
  • статья
  • Ромка's blog
  • 10 комментариев
  • Читать далее

Разработка сайта на Drupal. Часть 2. Архитектура Drupal.

Ромка — Вс, 01/03/2010 - 02:35

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

В ядре Drupal реализован набор функций (API) для работы со всеми необходимыми компонентами: СУБД, формами, кэшем, пользователями и их правами. Для взаимодействия с СУБД используется абстрактный интерфейс DB API, ядро Drupal оперирует ANSI-совместимым SQL для работы с БД, а структуры (таблицы) для БД определяются программистом в массивах специального вида. При этом преобразование определений таблиц и запросов под особенности конкретной СУБД (официально система Drupal совместима с MySQL и PostgreSQL) выполняется специальной библиотекой, и разработчику не приходится заботиться об особенностях работы СУБД. Определив собственную библиотеку функций, можно подключить другие СУБД, — например, существуют библиотеки для IBM DB2, Oracle и MSSQL.

  • Drupal
  • статья
  • Ромка's blog
  • 8 комментариев
  • Читать далее

Разработка сайта на Drupal. Часть 1. Введение.

Ромка — Вс, 01/03/2010 - 02:06

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

Все эти задачи решаются с помощью программных комплексов класса «система управления контентом» (Content Management System, CMS). Как правило, CMS предоставляют целый ряд готовых решений стандартных задач: ленты новостей, гостевые книги, форумы, опросы, фотогалереи и т. д. Их достаточно много как коммерческих, так и бесплатных, например Drupal, которая рассматривается в этой статье.

Строго говоря, Drupal иногда классифицируют не как CMS, а как CMF (Content Management Framework, «фреймворк» или «каркас» для сайта). В Drupal удачно сочетаются достоинства CMS (большое количество модулей, расширяющих функционал системы) и CMF (мощный, детально документированный интерфейс, API, позволяющий без затруднений написать новый или доработать существующий модуль для этой системы). В итоге разработчики могут создавать на единой основе Web-комплексы, адаптированные для решения самых разных прикладных задач.

  • Drupal
  • статья
  • Ромка's blog
  • Читать далее

Статья в PC Magazine/RE 11.2009: темизация Drupal

Ромка — Чт, 11/19/2009 - 13:53

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

Однако все эти упреки не оправданы, к Друпалу, при должном умении, можно прикрутить дизайн и верстку любой сложности. До неузнаваемости можно "темизировать", то есть изменить внешний вид, любой html-код, создаваемый Друпалом: все стандартные формы, блоки, документы и списки.

В ноябрьском номере журнала PC Magazine/RE опубликована моя статья о "темизации" Друпала, в ней рассказано о трех этапах темизации, которые покрывают собой практически 100% задач, связанных с изменением внешнего вида сайта:

  • разработка общего шаблона для всех страниц сайта и "кастомных" шаблонов для избранных страниц;
  • разработка различных шаблонов для разных типов документов и списков;
  • изменение внешнего вида форм (поиск, авторизация и любые другие стандартные и создаваемые внешними модулями формы).

Кроме того, в последнем разделе рассказано об основах Forms API Друпала.

  • Drupal
  • PC Magazine/RE
  • статья
  • Ромка's blog
  • 3 комментария
  • Читать далее

Швабрашвабр2

Ромка — Пнд, 11/09/2009 - 12:09

Разработал и выложил в открытый доступ вторую версию своей "социальной" сборки CMS Drupal — Швабрашвабр. В новой версии пользователям доступны:

  • персональные и общие фотогалереи,
  • система статусов (в стиле Фейсбука и Твиттера),
  • персональные гостевые книги (в стиле стены во вКонтакте),
  • списки друзей и посетителей,

а также от старой версии сборки остались доступны:

  • система блогов и коллективных блогов,
  • система рейтингования материалов, комментариев и "карма" (репутация) пользователей,
  • система распределения прав доступа к ресурсам сайта на основе кармы.

Дистрибутив сборки, подробная инструкция и скринкасты для самостоятельной настройки сайта с аналогичным функционалом доступны на Швабрешвабр.

  • Drupal
  • Работа
  • скринкаст
  • Швабрашвабр
  • Ромка's blog
  • 6 комментариев
  • Читать далее

Статья в PC Magazine/RE. Drupal: разработка модуля

Ромка — Втр, 09/15/2009 - 09:58


В сентябрьском номере журнала PC Magazine/RE опубликовали мою статью на тему "Drupal: разработка модуля". В статье рассмотрены базовые принципы разработки модулей для CMS Drupal и детально разобран пример разработки модуля "Курсы валют", при реализации которого решены самые часто возникающие перед разработчиком задачи: создание форм (Forms API), работа с базой данных, распределение прав доступа, темизация.

В ближайшем номере будет размещена статья о темизации Друпала.

  • Drupal
  • PC Magazine/RE
  • журнал
  • Работа
  • статья
  • Ромка's blog
  • 5 комментариев
  • Читать далее

Поездка в Киев

Ромка — Вс, 09/06/2009 - 13:22

В этом году, по мало зависящим от меня причинам, я пролетел с летним отпуском, по этому в качестве отдыха вырвался на 4 дня в Киев на проходящий там Drupal Camp 2009. Готовился выступить там с одним докладом, а остальное время отдохнуть и изучить достопримечательности города, но в результате получилось, что выступал три раза, причем все три доклада делал экспромтом, даже тот который подготовил заранее пришлось на ходу разбавить дополнительными подробностями.

Мероприятие получилось очень интересным и продуктивным. Я познакомился с большим количеством людей, с которыми раньше был знаком только заочно или не был знаком вовсе, а также в ночь с пятницы на субботу, вместо того чтобы отдыхать со всеми друпаллерами на афтерпати, сидел и делал новую демонстрационную сборку социальной сети на Друпале, о которой рассказывал в своем третьем докладе во второй день кэмпа. Сборка далась с боем, так как интернет в съемной квартире был просто ужасен, он периодически, раз в 20-30 минут, вырубался на полчаса-час (позже удалось связать эти события с включением/выключением холодильника :) по этому приходилось в недолгие минуты наличия сети, как в старые времена повременного диалапа, скачивать все потенциально необходимые файлы и открывать про запас страницы с документацией. В итоге получилась, на мой взгляд, интересная сборка, которую я рассчитываю допилить и выложить в общий доступ в течении 2-3 недель.

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

Виноградная лоза

  • 2009
  • dckyiev09
  • Drupal
  • Киев
  • лето
  • Лето 2009
  • Ромка's blog
  • 4 комментария
  • Читать далее
  • « первая
  • ‹ предыдущая
  • 1
  • 2
  • 3
  • 4
  • следующая ›
  • последняя »
RSS-материал

Обо мне

Всем привет!
Меня зовут
Роман Архаров, я профессиональный веб-разработчик, программирую на языках PHP, Python и Action-Script, в работе использую фреймворки Drupal и Django. В этом блоге я размещаю заметки и статьи, связанные с моей работой, отдыхом и другими интересными мне темами.

Популярные заметки

  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Перетаскивание строк таблицы. Table drag and drop — плагин для jQuery
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Темизация Drupal. Часть 4. Темизация Views
  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Кеширование на Drupal-сайте. Сравнение встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Varnish
  • Тестирование модуля "Inner poll"
  • Несколько панорам из путешествия по Перу и Боливии
  • Arduino + bluetooth, небольшая проблема
  • Пример разработки плагина для модуля CCK

Подписка


Последние комментарии

  • drupal-admin → Кеширование на Drupal-сайте. Сравнение эффективности встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Var → Отличная статья
  • Меховщиков Руслана → Проверка имени пользователя на наличие букв из разных алфавитов → Re: Читал про это уже на
  • Вероника → Куба. Лето 2008. Часть 3 → По поводу "приветливых жителей" Тринидада
  • Sfero → Статья в PC Magazine/RE. Drupal: разработка модуля → Немного о контенте
  • RemaGe → Статья в PC Magazine/RE. Drupal: разработка модуля → -)
  • Ромка → Статья в PC Magazine/RE. Drupal: разработка модуля → Да, будет сборка, та которую
  • RemaGe → Статья в PC Magazine/RE. Drupal: разработка модуля → -)
  • anatinge → Поездка в Киев → спасибо :)
  • Ромка → Поездка в Киев → Да, в общем-то, ничего
  • GogA → Поездка в Киев → Заинтриговал, что там за

Новые заметки

  • Кеширование на Drupal-сайте. Сравнение встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Varnish
  • Любопытное поведение модуля syslog в шестом Друпале (баг?)
  • Arduino + bluetooth, небольшая проблема
  • Гугл 1 марта прекратил поддержку сервиса Google Friend Connect
  • Проба пера в HTML5 + canvas. Эффект ластика
  • Шесть рукопожатий
  • Доклад на DrupalConfMoscow 2011
  • Статусы разных сущностей в Друпале 6
  • Футер, прибитый к низу страницы
  • Путешествие по Перу и Боливии. Часть 2

Тэги

Drupal jquery Куба Лето 2007 Лето 2008 Отдых Работа Штуки-дрюки лето модуль статья цитата
еще тэги

Навигация

  • Exchange rate
  • Переход по внешней ссылке
  • Последние сообщения
  • Фотогалереи

Курсы валют

  • 100 Казахстанских тенге — 21,3687 (-0.43)
  • 10 Украинских гривен — 27,2852 (-13.04)
  • 1 Китайский юань — 10,2706 (-40.98)
  • 100 Японских иен — 53,5332 (+12.67)
  • 1 Доллар США — 65,6210 (+33)
  • 1 Евро — 69,8076 (+29.42)
  • 10000 Белорусских рублей — 36,3310 (-2.51)
  • 1 Турецкая лира — 22,9540 (+4.99)

10 случайных заметок

  • Баг jQuery в Firefox 3 и WebKit
  • Второе имя, middle name
  • Новый год 2008. Часть 2. Нордсетер, Лиллихаммер, Sjusjoen.
  • Лето 2007. Путешествие в Камбоджу – Таиланд – Малайзию. Часть 1.
  • Перетаскивание строк таблицы. Table drag and drop — плагин для jQuery
  • Невероятный битбокс от Dub FX и Woodnote
  • О планах
  • Доставка
  • Разработка сайта на Drupal. Часть 1. Введение.
  • Автоматическая "газетная" верстка (верстка в несколько колонок)

Случайные фото

Местный ходок
Дольмен
Дерево в Прамбанане
Копенгаген, Кристиания, Граффити 5
Оригинальная дорожная разметка в Гаване
Радуга над футбольным полем в Лужниках
Фонарь
Я и мой автопарк :))
Эль Ничо. На фоне я.
На пути в Баракоа
Здание замка Акерхус
Недалеко от Красной поляны
Еще одно фото замка
Я и моя тень
Копенгаген, Кристиания, Граффити 6
Желтый арбуз! Ммм, юмми!
  • Отдых
  • Работа

При использовании материалов с сайта, пожалуйста, ставьте ссылку на источник. E-mail для связи: mne@romka.eu.