VladSavitsky: Блог

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

Кто пробовал движок для поиска по сайту Яndex.Server?

28 декабря 2008 в 15:52

Нашёл "Яndex.Server Free Edition", который можно бесплатно скачать и использовать на сайте полнотекстовый поиск.

Пишут, что движок идентичен том, что использует сам Яндекс.
Возникает шальная мысль поковыряться в коде, но я не знаю C!..

Посмотрел сайты, которые используют этот движок.
Поиск вынесен на отдельную страницу, но серп показывается на сайте, а не на яндексе.

Отчет о спринте Поля в коде ядра

25 декабря 2008 в 19:28

В своей статье Fields in core code sprint debrief Дрис Байтаерт пишет на чистом английском о том, как прошла неделя Спринта по добавлению функционала ССК в ядру Drupal 7.
А вот источник на русском : Отчет о спринте Поля в коде ядра.

Я только что вернулся со Спринта Поля в коде ядра в Acquia, который я помогал организовать. Все наши участники имели одну и ту же цель в этом пятидневном спринте: получить функционал CCK в Drupal 7.
Участниками были Ивс (Yves) (разработчик CCK), Карен (Karen) (разработчик CCK), Бэрри Джаспен (Barry Jaspan) (участник разработки CCK), Моше Вейцман (Moshe Weitzman), Дэвид Страус (David Strauss), Флориан Лоретан (Florian Loretan), Кароли Негиеси (Károly Négyesi), Дэвид Ротштайн (David Rothstein) и лично я.

drupalpoisk.ru - поиск по русскоязычным Drupal ресурсам

19 декабря 2008 в 11:50

Идея

Есть много сайтов с полезной информацией о Drupal. Лично я каждый раз добавляю "drupal"...
Поэтому мне удобнее настроить гугловский поиск и указать нужные сайты - это ускоряет работу.

Альтернативы

Можно использовать тулбар, который делал Вадим Барсуков для ФФ, но я в основном работаю в Опере, к тому же на этом тулбаре я почти ничего не использовал, кроме поиска...

Странные параметры запроса от гостей сайта

18 декабря 2008 в 21:28

В журнале нашёл такую запись:

"versija-drupal/user/register [PLM=0][R] GET http:/drupalcookbook.ru/user/register [0,8580,23888] -> [R] POST http:/drupalcookbook.ru/user/register [0,0,24011]"

Кто-то (79.172.68.92) пытался передать такой запрос сайту.
Что это может быть?

Как ускорить публикацию на сайте?

16 декабря 2008 в 17:33

Задумался я над тем, что много времени уходит на оформление статей на сайте.
Использую свои кнопки в BUEditor, чтобы вставлять разметку для статьи (заголовки, списки и др. - скелет статьи), но все равно времени уходит много.

Как можно ускорить публикацию?

Сейчас пойду изучать BlogAPI, но возможно кто-то уже имеет готовое решение?..

Список измененных файлов в Drupal 6.8

12 декабря 2008 в 0:48

В Drupal 6.8 по отношению к 6.7 были изменены файлы:

  • /CHANGELOG.txt
  • /includes/common.inc
  • /includes/session.inc
  • /modules/aggregator/aggregator.info
  • /modules/block/block.info
  • /modules/blog/blog.info
  • /modules/blogapi/blogapi.info
  • /modules/book/book.info
  • /modules/color/color.info
  • /modules/comment/comment.info
  • /modules/contact/contact.info
  • /modules/dblog/dblog.info
  • /modules/filter/filter.info
  • /modules/forum/forum.info
  • /modules/help/help.info
  • /modules/locale/locale.info
  • /modules/menu/menu.info
  • /modules/node/node.info
  • /modules/openid/openid.info
  • /modules/path/path.info
  • /modules/php/php.info
  • /modules/ping/ping.info
  • /modules/poll/poll.info
  • /modules/profile/profile.info
  • /modules/search/search.info
  • /modules/statistics/statistics.info
  • /modules/syslog/syslog.info
  • /modules/system/system.info
  • /modules/system/system.module
  • /modules/taxonomy/taxonomy.info
  • /modules/throttle/throttle.info
  • /modules/tracker/tracker.info
  • /modules/translation/translation.info
  • /modules/trigger/trigger.info
  • /modules/update/update.info
  • /modules/upload/upload.info
  • /modules/user/user.info
  • /themes/bluemarine/bluemarine.info

Вышли Drupal 5.13 и 6.7, а также откат патча безопасности 5.14 и 6.8!!!

11 декабря 2008 в 3:49

Если версия PHP>5.2, то нет смысла обновлять до 6.8, потому что это откат патча безопасности, который был выпущен в 6.7. (См. http://drupal.ru/node/22596)

Security Team уже все знает!Оригинал: SA-2008-073 - Drupal core - Multiple vulnerabilities

Описание

Множественные уязвимости и слабые места были найдены в Drupal.

Подделывание запросов на другие сайты (Cross site request forgery)

Система обновлений содержит уязвимость к подделыванию запросов на другие сайты.
Злонамеренные пользователи могут использовать суперпользователя (user 1) для выполнения старых обновлений, которые приводят к разрушению базы данных.

Cross site scripting

Когда формат ввода удален, не весь существующий контент на сайте обновлен, чтобы отобразить это удаление. Подобный контент отображеется без фильтрации. Это может привести к атакам cross site scripting, когда вредные теги больше не исключатся из "злонамеренного" контента, который был размещен ранее.

Затронутые версии

  • Drupal 5.x версии ниже 5.13
  • Drupal 6.x версии ниже 6.7

Решение

Установить последнюю версию:

Спринт "Поля CCK ядре Drupal"

8 декабря 2008 в 18:23

Дрис Байтаерт, основатель Drupal, опубликовал пост о том, что будет спринт и они собирают программеров по всему миру, чтобы в течении недели работать над добавлением функционала ССК в ядро D7. Я так понимаю, что даже независимо от того, соберут ли они средства для оплаты этого марафона, Акваия оплатит минимум 2х основных разработчиков ССК и поля таки будут в ядре!

Оригинал на английском: Fields in Drupal core code Sprint
Перевод на русский: Спринт Поля CCK в ядре Drupal

Хорошие новости! На протажении недели с 15 декабря, мы организуем 5-тидневный спринт "Поля в коде ядра Drupal" на Acquia! Целью является получить CCK функциональность в Drupal 7.
Итак, Карен (Karen), Ивс (Yves) и Берри (Barry) уже подписались -- Карен и Ивс являются основными разработчиками CCK, а Берри также много работала над CCK.

Профилирование CSS селекторов

8 декабря 2008 в 0:52

Поиск CSS селекторов, которые не используются
Для PHP-кода есть методы и средства для профилирования - поиска неиспользуемых кусков кода (функций). Это помогает избавляться от устаревшего кода и делать приложение более эффективным.

Установка и настройка отладчика Xdebug

6 декабря 2008 в 19:56

Отладчик XdebugДля отладки и трассировки кода нужно установить и настроить Xdebug.

Страница проекта: http://www.xdebug.org/

Быстрый переход к личному трекеру на друпал.ру

30 ноября 2008 в 0:42

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

Создал блок и в нем код, который выводит всего одну ссылку:

Удаление учетных записей на DrupalCookBook.ru

29 ноября 2008 в 13:53

Начало

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

Эпоха комментариев

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

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

Эпоха mollom

Делал копию buytaert.net и там конечно работает mollom. Долго собирался, но недавно поставил.
Пока доволен. Работает типа капчи, но ненавязчиво.
Сделал публикацию для анонимов (при этом никаких доп. вопросов на форме нет).
Как только есть подозрения на спам - просят ввести капчу.
В общем, пока нравится. У Дриса на сайте разрешено комментировать анонимам и нет регистрации.

Удаление учетных записей

Я удалил все учетные записи на drupalcookbook.ru. Теперь комментировать можно и анонимам, а других привилегий у зареганых пока нет.

Производительность Друпал

26 ноября 2008 в 18:52

Сделал перевод статьи про ConsumerSearch.com.
Короче говоря: они перевели один из своих сайтов на Друпал и посещаемость 5,5 млн (!) уников в месяц.
Дрис пишет, что точно не знает как они это дело организовали, но есть предположение, что используется кеш на файлах!

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

  • При соответствующей настройке сервера Drupal может выдержать нагрузку в 5 миллионов уников в месяц.
  • Большая компания среди прочих выбрала именно Drupal как CMS для своего нагруженного ресурса.

В Acquia уже работают русские!

16 ноября 2008 в 6:11

Наткнулся на список сотрудников Acquia и увидел русскую фамилию: vladimir.dolgopolov (Member for 43 weeks 5 days).
У нас могут быть свои в этой компании!!
Кто-нибудь его знает?

PS. В Acquia не принимают людей, если часовой пояс отличается на 6 от того, что в США...
Вероятно он живет где-то рядом (не в России), хотя в профиле указано "Российская федерация".

Сделать все ссылки сайта абсолютными

11 ноября 2008 в 12:58

У заказчика возникла необходимость сделать все ссылки сайта абсолютными, чтобы затруднить воровство контента сайта.
Поискал решение модулями и не нашёл. Абсолютные в относительные можно (есть модуль), а в обратную сторону - не нашёл.

Решил хаком ядра (прилагаю diff).
Меняется только значение по умолчанию параметра $absolute функций l() и url().

Функция url()

Найти 1149 стоку в файле common.inc и заменить

<?php
function url($path NULL$query NULL$fragment NULL$absolute FALSE) {
?>

на

<?php
function url($path NULL$query NULL$fragment NULL$absolute TRUE) {
?>

Функция l()

Найти 1274 стоку в файле common.inc и заменить

<?php
function l($text$path$attributes = array(), $query NULL$fragment NULL$absolute FALSE$html FALSE) {
?>

на

<?php
function l($text$path$attributes = array(), $query NULL$fragment NULL$absolute TRUE$html FALSE) {
?>

Возможных побочных эффектов я придумать не смог.
Может быть они все же есть?
Подскажите где это может выйти боком.

Опять обновление версии! 6.6 и 5.12

23 октября 2008 в 0:58

Читаем и обновляемся.

Вкратце: исправлена уязвимость SA-2008-067. Для обновления с 6.5 достаточно заменить файлы Drupal новыми, либо применить патч http://drupal.org/files/sa-2008-067/SA-2008-067-6.5.patch. Обновления БД при переходе с 6.5 на 6.6 или с 5.11 на 5.12 не требуется (но апгрейд БД нужен если вы переходите с более ранних версий!).

Управление доступом к статьям на сайте

15 октября 2008 в 14:15

Аддисон Бэрри - новый лидер команды документирования Drupal

12 октября 2008 в 0:03

Сделал перевод статьи Dries Buytaert: Addison Berry new Drupal documentation team lead.
Перевод доступен по адресу: Бэрри Аддисон - новый лидер команды документирования Drupal

Бэрри Эддисон
Бэрри Эддисон на DrupalCon Yahoo! в Саннивайл (Sunnyvale), 2007.

В течении нескольких последних лет Команду Документирования Друпал возглавлял Стивен Пек (Steven Peck) (sepeck). Стивен был лучшим, кто подходил на эту роль, и он сделал огромную работу. Не только потому, что он увеличил команду документирования, включив в нее множество талантливых и много работающих писателей-добровольцев, он контролировал реструктуризацию и реорганизацию Руководства в документации на Drupal.org, великолепно улучшив их структуру и доступность. Спасибо тебе, Стивен за большую работу!

Есть ли переводы статей из блога Дриса Байтаерта?

6 октября 2008 в 16:20

Может быть кто-то встречал/делал/читал переводы на русский статей из блога buytaert.net?
Поделитесь ссылками, пожалуйста.

Как правильно хакнуть модуль ядра

28 сентября 2008 в 17:58

Задача

Нужно внести изменения стандартный модуль ядра Drupal.

Решение

Изменение модулей ядра Drupal

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

[Решено] Как показать аудио-плеер в анонсе модуля node teaser?

17 сентября 2008 в 19:17

Пятый Друпал. Сейчас используется модуль Audio (но это не принципиально).
Для анонсов используется node teaser.
Нужно в анонсе вывести плеер. В данный момент выводится только в полном виде.

Как это можно сделать? Какой модуль?

Минимизация и обфускация Javascript

6 сентября 2008 в 5:25

Задача

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

Решение

Минимизация и обфускация JavascriptМинимизация скрипта — это удаление из кода всех несущественных символов с целью уменьшения объема файла скрипта и ускорения его загрузки. В минимизированном коде удаляются все комментарии и незначащие пробелы, переносы строк, символы табуляции. В случае с Javascript, это уменьшает время загрузки страницы, т.к. размер файла уменьшается. Две самых популярных утилиты для минимизации javascript — JSMin и YUI Compressor.

Обфускация является альтернативным способом сокращения исходного кода. Также, как минимизация, она удаляет пробельные символы и вырезает комментарии, но в дополнение она измененяет сам код. К примеру, во время обфускации имена функций и переменных заменяются на более короткие, что делает код более компактным, но менее читабельным. Обычно этот прием используется для усложнения реверс-инжиниринга программы. Но обфускация помогает также уменьшить код настолько, насколько это не получится сделать одной минимизацией. С выбором средства для обфускации javascript не все так ясно, но я думаю, что самая распространенная утилита для этого — Dojo Compressor (ShrinkSafe).

Настоящий рецепт приготовления Друпал

4 сентября 2008 в 22:14

Рецепт приготовления DrupalНаконец-то сайт DrupalCookBook.ru обзавелся действительно настоящим рецептом приготовления Drupal!!!
Рецепт состоит из 13 шагов и каждый из них сопровождает изображение, поэтому повторить его вам не составит труда.

Содержание всех книг на друпал.ру снова работает.

30 августа 2008 в 19:50

По ссылке http://drupal.ru/book/toc было содержание всех книг, но с переходом на Д6 сниппет перестал работать.
Интересно то, что уже давным давно у меня был готов сниппет для Д6 (Вывести полное содержание всех книг (book) на сайте в виде иерархии), но я как-то не догадался, что дело в этом.
Теперь оглавление опять работает. Ура!

Идея логотипа - Друпал и Друпальчик :-)

17 августа 2008 в 9:12

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

Друпал и Друпальчик