Drupal 5

Кеширование блоков и некоторые нюансы.

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

Конфигурация Drupal для тестовой системы и снапшот рабочей базы

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

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

Обновление модуля Google Map

Обновлен модуль googlemap.
Было улучшено:

  1. безопасность при изменении положения элементов на карте.(добавлено использование token)
  2. сделан блок показа карты для текущего документа, если к нему привязаны местоположения на карте.

Скачать можно тут

Обновлены модули DST для Drupal 5 и 6

Обновлены модули перехода на летнее/зимнее время для Drupal.
Добавлена возможность своей темизации вывода в шаблоне.(функция theme_dst_user() ).

Модуль Google Map для Drupal 5.xx

Итак, как и обещал, выкладываю модуль для Google Map - который для каждой записи позволяет ее привязку на карте.
Модуль делался для одного из проектов, посему распространяется без гарантий под лицензией GPL.

Взять модуль можно здесь

Модуль для работы временных зон в Drupal 5 и Drupal 6

Как мне известно практически все CMS с открытым кодом страдают этой болезнью :).

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

Незакрытые теги, валидация HTML и высокие нагрузки.

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

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

А что если пользователей будет много? Сервак сложится домиком из-за чрезмерного расхода CPU? :)

RSS-материал