Химический Али: Блог

Главные вкладки

Web Optimizer — инструмент для всеобщей оптимизации (теперь и Drupal 5)

25 марта 2009 в 11:25

Web Optimizer (Веб Оптимизатор) — приложение, автоматизирующее все действия по клиентской оптимизации для произвольного сайта. На данный момент оно существует в виде отдельного приложения (которое нужно самостоятельно установить на сайт). В качестве базы для Web Optimizer использовался PHP Speedy.

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

10 трюков с .htaccess для Drupal

25 марта 2009 в 10:30

Попались на глаза «10 отличных трюков с .htacces для Вордпресса», решил применить это к Друпалу.

Внимание!
Разумеется, я ничего не проверял. Перед изменением файла .htaccess не забудьте сделать его резервную копию. Я не отвечаю за работоспособность вашего сайта после исполнения этих трюков.

Сжимаем CSS без ручной работы

25 марта 2009 в 9:09

Вышел в тираж модуль CSS Gzip, сжимающий аггрегированные css файлы. В отличие от других решений, не требует ручной работы.

Хорошо

— Сжимает файл однажды и сохраняет результат (снижая нагрузку на процессор)
— Использует уровень gzip-сжатия 9 (потомучто запускается все равно 1 раз и выходной файл меньше)
— Совместим с Апачи 1.3 (часто встречается на пожилых серверах и дешевых хостингах).
— Для работы достаточно просто включить модуль (не требует хаков ядра или правки .htaccess).

О юзабилити мессенжеров (и немного друпальского)

20 марта 2009 в 17:20

Почему, ну скажите мне! Почему ни в одном интернет-пейджере все еще нельзя переправляюемую картинку... да что там картинку, любой файл просто вставить из буфера в поле сообщения и отправить?

Почему мне приходится как распоследнему дураку 10 лет подряд тыкать кнопку, выбирать где-то из недр файловой системы файл, а потом еще наблюдать в отдельном (бл!) окошке как ползет (или не ползет) полоса загрузки? Почему я не могу ег опросто вставить или перетянуть в окно?

Нормальный мессенжер должен принять файл из буфера обмена и отобразить в поле сообщения как иконку (или миниатюру, если изображение). Точно так же он должен появиться у получателя, причем сразу с кнопкой "открыть", а не "загрузить" (в какую-то е..чую директорию в недрах диреткории Application Data). А изображения, исходя из натсроек, должны преобразовываться (или не должны) в меньшее по размеру и появляться как картинка.

P.S. QIP - то вообще урод. Не запоминает директорию, откуда был последний раз файл отправлен и все время предлагает начать обзор из директории установки. В руки его разработчикам насрать надо. Хотя, и другим разработчикам не мешало бы...

Вышел Internet Explorer 8, мои поздравления

20 марта 2009 в 9:35

Вышел официальный релиз Internet Explorer 8.

Можно скачать русифицированные версии:

Windows XP
Windows Vista и Server 2008
Windows XP (64) и Server 2003 (64)

Top 100 MySQL Performance Tips

16 марта 2009 в 17:19

Specific Query Performance Tips (see also database design tips for tips on indexes):
Scaling Performance Tips:
Network Performance Tips:
OS Performance Tips:
MySQL Server Overall Tips:
Storage Engine Performance Tips:
Database Design Performance Tips:
Other:
http://forge.mysql.com/wiki/Top10SQLPerformanceTips

«Похожие материалы» модулем и гибко

13 марта 2009 в 11:34

Модуль Associated Nodes позволяет гибко создавать списки ассоциированных с материалом нод, причем делает это по различным критериям, например, по признакам таксономии или по полям CCK.

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

Можно определять и свои критерии с помощью API.

Страница проекта

http://drupal.org/project/associated_nodes

В комментариях PVasili предлагает альтернативы:

Relevant Content - куча блоков и 2 критерия тип материала и словарь
http://drupal.org/project/relevant_content

Similar Entries - только 1 блок, возможно исключить термины из списка
http://drupal.org/project/similar

Related links - 3 блока и много различных критериев отбора
http://drupal.org/project/relatedlinks

Управлять регионами как блоками!

13 марта 2009 в 11:23

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

Можно задать видимость региона в зависимости от роли, пути или по результату выполнения определенного php-кода. Только 6.х.

Страница проекта:

http://drupal.org/project/region_conf

Оптимизация: автогенератор css-спрайтов

13 марта 2009 в 11:10

На общеизвестном Webo.in в тестовом режиме заработал автогенератор css-спрайтов.

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

Css спрайты, иллюстрация

За счет того, что иконки объединены в 1 файл, вы снижаете нагрузку на сервер, сокращая число запросов и трафик.

Так вот автогенератор css-спрайтов анализирует ваш css-файл и по возможности генерирует css-спрайты.

Посмотреть на это чудо можно тут: http://sprites.webo.in/

Подробнее о css-спрайтах тут: http://higher.com.ua/article/102/css-sprites-i-ikh-ispolzovanie
Или тут: http://webo.in/articles/habrahabr/08-all-about-css-sprites/

И снова о кешировании: сокращают время загрузки страницы

10 марта 2009 в 15:46

Модуль Authcache предлагает кэширование страниц для анонимов и зарегистрированных пользователей. По заявлению разработчиков, снижает время реакции Друпала с 200 мс до 1-2.

Переводить принцип действия лень, путать вас тоже не хочу, поэтому смотрим на картинку и удивляемся:

Схема работы Authcache

Страница проекта

http://drupal.org/project/authcache

Absolute URLs: цепляемся за интернет

27 февраля 2009 в 16:24

Модуль Absolute URLs делает ссылки на вашем сайте абсолютными (например, http://test.ru/cat/node") вместо относительных ("/cat/node").

Что это дает?

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

Подумаем о юзабилити списков в формах

27 февраля 2009 в 16:13

Анонсирован очень интересный модуль, повышающий удобство работы со списками путем расширения Form API.

Модуль Select (or other) позволяет внедрять в формы, создаваемые с помощью Drupal, расширенный элемент управления типа «список», в котором есть обособленный пункт «другое». Пользователь может выбрать значение из предложенных или кликнуть «другое» и задать свое значение путем ввода в обычное текстовое поле.

Как избавиться от %D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F?

23 февраля 2009 в 11:33

Создаю дополнительные поля в профиле пользователя, используя стандартный модуль profile. Значения полей на русском языке. Хочу реализовать функционал "интересов", когда пользователь перечисляет свои интересы у себя в профиле и, кликнув по ссылке на "интерес", можно получить список пользователей, имеющих такой же. Все это реализуетсяи работает, но есть косяк: это url-ы, которые генерирует при этом друпал. Текст интереса он передает прямо в url, а т.к. тот на русском, то он перекодирует слово в абракадабру типа %D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F.

Вопросы

а) Как этого избежать?
б) Можно ли хотя бы транслитерировать это каким-то образом?
в) Как обрисовать проблему на drupal.org чтобы они к выходу 7 версии придумали решение?

Прогрессивные технологии, как способ выжать из сервера максимум

23 февраля 2009 в 0:00

Нашел на хабре интересный материал по вопросам оптимизации сервера. Т.к. часто возникают вопросы по поводу некоей "тормознутости" Друпала, не исключаю, что материал заинтересует любителей быстрого интернета.

Вступление

Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.

Читать дальше →

Предлагаю не принимать сайты без оригинального дизайна

22 января 2009 в 10:23

Обозревать одни и те же общедоступные темы утомительно.

Еще я не хотел бы, чтобы здесь появлялись линки на сплогоподобные помойки (агрегаторы) без оригинального\уникального контента, а также неоконченные сайты с вывесками "АНДЕРКОНСТРАКШН".

Продвинутое управление модулями

8 января 2009 в 20:47

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

Злободневное

6 января 2009 в 19:36

Ненавижу [пи], которые думают, что если они вместо мысли в каменте дадут ссылку на мысль в своем дневнике, то а) хоть кто-то пойдет в их [пи] дневник и б) их дневник приобретет популярность. Они пишут: "подробности в моей отдельной записи". И ссылку дают, вместо того, чтобы себе в [пи] ее засунуть.

Такая же гнилая психология у накрутчиков, пубертатных сеошников и прочих погонщиков ссылок. Те же люди создают сайты с одной-единственной целью: чтобы на них кто-то зашел. Там нечего читать, там никогда не будет ничего интересного. В лучшем случае мы найдем унылые заметки тинейджера о том, как круто, что в прошлом месяце к нему на сайт пришли 100 человек. На[пи] они пришли не уточняется, ясно, что все просто ошиблись дверью.

Запомните, дети: на сайт ходят, только если он хоть чем-нибудь хоть кому-нибудь интересен. Это, [пи], так, [пи], очевидно. Но огромное количество людей, которые платят деньги [пи]сам-накрутчикам, опровергают гипотезу о том, что homo хоть немного sapiens.

Артемий Лебедев Tuesday, January 6th, 2009 (без купюр)

Nodeshare: обмен нодами между сайтами

4 декабря 2008 в 10:20

Модуль Nodeshare позволяет отправить ноды с одного drupal-сайта на другой. Он представляет ноду как JSON-объект и посылает ее на целевой сайт посредством POST-запроса.

Better Formats: швейцарский нож по части форматов ввода

4 декабря 2008 в 10:13

Альфа-версия модуля Better Formats добавляет экспириенса системе форматов ввода Drupal.

Возможности

  • Формат ввода по умолчанию в зависимости от роли.
  • Формат ввода по умолчанию в зависимости от типа материала.
  • Управление допустимыми форматами ввода в зависимости от типа материала.
  • Можно скрыть пояснения к формату ввода.
  • Можно скрыть форму выбора формата, установив какой-то по умолчанию.
  • Можно автоматически раскрывать форму выбора формата.
  • Отлючить сворачинвание\разворачивание формы выбора формата.
  • Задать ей свой заголовок.
  • Задавать формат по умолчанию для нод и комментариев раздельно.
  • Работает с текстовыми полями CCK.

Это хорошая замена таким модулям, как Filter Default, Default Filter, Filter by Node Type

Path Cache: кешируем псевдонимы

4 декабря 2008 в 10:04

Модуль кеширования псевдонимов позволяет снизить число запросов к БД.

Страница проекта: http://drupal.org/project/pathcache

Можете оценить эффективность в сравнении с бурно обсуждавшимися здесь решениями.

(Решено) node-forum.tpl.php применяется ко всем нодам о_О

29 ноября 2008 в 23:16

Создал помимо node.tpl.php шаблон для тем форума: node-forum.tpl.php
Произвел необходимую темизацию, смотрю, а ко всем нодам других типов применяется node-forum.tpl.php, хотя в диреткории темы лежит и node.tpl.php

Что я сделал не так? Ничего не понимаю. Файлы точно различаются - перепроверил пять раз.

Как создать pda-версию сайта на Drupal?

17 ноября 2008 в 15:11

Легко. Для этого нам понадобится создать на сайте поддомен, установить мобильную тему и все это правильно настроить.

Шаг 1. Скачайте тему mobile или .mobi, установите ее на сайт (можете настроить на свое усмотрение).

Шаг 2. В директории sites создайте поддиректорию c названием pda.domain.ru (вместо pda можно использовать mobile, m, phone, handy, kpk, ppc – на ваше усмотрение).

Шаг 3. Скопируйте файл settings.php из директории sites/default в sites/pda.domain.ru, откройте его и приведите строки в конце файла примерно к такому виду:

<?php
$conf 
= array(
   
'site_name' => 'MySite mobile',
   
'theme_default' => 'mobi',
   
'anonymous' => 'Anonymous',
 );
?>

Здесь «mobi» – это машинное название выбранной вами темы оформления. Сохраните изменения и загрузите обновленный файл на сайт.

Шаг 4. Создайте поддомен pda.domain.ru, ссылающийся на корневую директорию сайта (по сути – псевдоним domain.ru). Если у вас на хостинге установлена панель управления cPanel, процесс создания домена может выглядеть примерно так:

Создание поддомена PDA

А настройки DNS для вновь созданное домена примерно так:

Правильный редирект к новым комментариям (работа над ошибками Drupal)

6 ноября 2008 в 17:23

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

К сожалению, без правки модулей не обойтись, но вроде и не ядро Smile

Свершилось! Блок добавления контента

2 октября 2008 в 17:51

Все вы знаете, что юзабилити в Drupal по умолчанию страдает. Это касается, в частности, процедуры добавления контента. Опуская пространность форм для добавления материалов, заострим внимание на удобном доступе к формам добавления контента.

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

Многие уже пришли к решению, вынося ссылки на добавление в отдельный блок вручную или сниппетом. Так сделали, к примеру, www.livekuban.ru, www.nightslavyansk.ru и другие. Еще кто-то предлагал сниппет.

Теперь это можно делать простой установкой модуля. Называется он PostBlock. Пока только для 6.х. Выглядит как на картинке.

UPD. Камрад Atl указал на аналог для 5-рки: http://drupal.org/project/createcontentblock