Блог пользователя - Azerot

Посоветуйте CMS

10 августа 2012 в 9:45

Нужна CMS со следующими характеристиками:
1. Легковесность
2. Ненужного по минимому
3. Нужны два типа материала - галереи фоток и статьи
4. Нужен русский поиск по статьям с морфологией
5. Нужны свободные теги и категории к статьям и фоткам - соответственно поиск по ним
6. Очень желательна совместимость с PHP 5.1-5.3
Больше ничего не нужно. Совсем. То, что Друпал это умеет - знаю, но есть ли чего полегче в плане ресурсоёмкости?

Кэш фильтров ввода (баг или фича)

7 апреля 2011 в 9:15

Всё началось с установки модуля video_filter. Немного деталей. Кто не знае, video_filter даёт возможность вставки в текст конструкций вида [video:URL] и подменяет их на объект с подключенным флэш-плеером например с того же Ютуба. Модуль суперский, но дело не в этом. В README к модулю прочитал как можно добавить свой кодек или ресурс к существующим, выполнил эту нехитрую процедуру, подключив локальный flowplayer, затем полюбовался изяществу решения, повосхищался в очередной раз гибкостью Друпала и нажал reload. И тут мои восторги существенно уменьшились - ибо flowplayer со страницы пропал! При этом плееры, которые были уже встроены в video_filter никуда не исчезли! Начались упорные разборки...

Для интеграции с flowplayer я использовал модуль flowplayer_api и соответственно когда создавал свой hook и callback для video_filter, то использовал вызовы функций из этого модуля, такие как theme('flowplayer', ....). Я обратил внимание, что flowplayer появлялся каждый раз, когда я очищал кэш и при следующем reload снова пропадал. Покопавшись в доках, я понял, что моё расширение к video_filter выполнялось ДИНАМИЧЕСКИ, в то время как остальные плееры выдавали статический HTML. Поскольку я использовал для размешения [video:URL] на странице формат ввода Strict HTML, который КЭШИРУЕТСЯ, то казалось бы и сказки конец, но тут есть два вопроса:

1. Почему у меня кэшируется значения выдаваемые моим расширением, если кэширование в настройках производительности ВЫКЛЮЧЕНО? Совсем выключено! Это баг или фича? Оно действительно кэшируется, ибо появляются записи в таблице cache_filter.

Ещё одни весёлые грабельки

25 апреля 2010 в 0:59

Есть перевод модуля BBCode c drupaler.ru
При импорте перевода получаем сообщение: "One translation string was skipped because it contains disallowed HTML."

Раскопки выяснили, что ему не нравятся конструкции вида:

<s>текст</s>

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

<?phpfunction locale_string_is_safe($string) {
  return decode_entities($string) == decode_entities(filter_xss($string, array('a', 'abbr', 'acronym', 'address',
 'b', 'bdo', 'big', 'blockquote', 'br', 'caption', 'cite', 'code', 'col', 'colgroup', 'dd', 'del', 'dfn', 'dl',
 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'ins', 'kbd', 'li', 'ol', 'p', 'pre', 'q', 'samp',
 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'tt', 'ul',
 'var')));
}?>

Куда как видим тэг 's' не входит. Тупой вопрос - а что делать, ведь тэг есть в английском оригинале и перевод НУЖЕН с участием этого тэга?
Тупой ответ - а хрен вам! Не будет русского перевода этой строки! Во всяком случае загруженного штатными инструментами.

Но это ещё не всё интересное!
Также при загрузке перевода, Drupal не нравятся и конструкции вида:

<span style="text-decoration:underline;">текст</span>

Но смотрим список выше и видим, что тэг span там есть. Угу, есть - на жопе шерсть. Если вы используете в тексте перевода:

<span>текст</span>

Ооочень странный косяк при загрузке .po файла

1 апреля 2010 в 20:41

В общем беру .po файл с переводом Drupal. В нём есть строки вида:

msgid "1 comment"
msgid_plural "@count comments"
msgstr[0] "@count комментарий"
msgstr[1] "@count комментария"
msgstr[2] "@count комментариев"

Вроде бы всё пучком. Файл импортируется без ошибок и предупреждений, а вот этот перевод почему-то не работает! Более того, смотрел в базе в таблице locales_target нет перевода, а в таблице locales_source есть только строка "1 comment", а строки "@count comments" нет!

Самое интересное, что если из .po файла выкинуть все остальные строки, оставив только те, что я привёл выше, то всё загружается и работает! Т.е. никаких синтаксических ошибок в этих строках нет. Более того, строка с переводом, которая идёт до этих строк - благополучно загружается и работает.

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

У кого остался denwer2 и denwer1 дайте плиз!

21 февраля 2010 в 12:57

Люди, очень хочу найти Denwer весии 1 и 2.
На официальном сайте не дают, на форуме поддержки посылают далеко и ругаются!
Но мне не нужен PHP 5.3 и MySQL 5.1, которые являются нестабильными версиями не для продуктивного использования - багоглюки мне ещё выгребать потом не хватало!

У кого-то наверняка остались инсталляхи - дайти плиз!

Баг кэширования или нет?

23 ноября 2009 в 21:14

Ноги растут отсюда. Пытаюсь понять, что происходит:
http://www.drupal.ru/node/37064

Похоже я таки нарыл баг.
Судите сами.
На странице кэширования включен обычный режим кэширования.
Идём в админку, чистим кэш и переключаем сайт в режим Off-line.
Сидим в БД и мониторим таблицу cache_pages. Упаньки, появилась запись о главной странице и о ряде других. Угадайте какой длины? Правильно - одинаковой. Заходим из другого браузера анонимусом - видим сообщение о том, что сайт в off-line.
Теперь идём в админку и переключаем сайт обратно в продуктив.
А вот анонимус как получал Off-line так и получает! И так до тех пор пока либо кэш не протухнет, либо его не почистят! Справедлив и обратный процесс. Если закэширована скажем главная страница, а мы при этом переходим в Off-line, то анонимус получает кэш вместо сообщения о том, что сайт в Off-line!

Вы скажете, что типа - ну и что? Кэшируется как и должно!
Но вопросы:
1. А какого собственно банания создаётся кэш страниц в Off-line режиме, если любому здравомыслящему человеку ясно, что этого не надо делать?
2. Почему кэш выдаётся раньше сообщения об Off-line режиме, ведь опять же с точки зрения здравомыслящего человека такого быть не должно?

Странное поведение кэша

21 ноября 2009 в 14:48

Ничего не понимаю!
Суть в следующем. В правой колонке вывожу блок с рекламой, который генерируется PHP-кодом в теле блока.
Как только проходит время жизни кэша 10 минут, блок перестаёт отображаться!
Если очистить кэш ручками - он появляется снова на очередные 10 минут.
Кто-нибудь знает в чём грабли?
Режим кэширования - обычный.
Может быть ещё важно, что блок выдаётся только для анонимусов.
И что ещё странно - проблемы только на главной странице - на остальных страницах проблем нет.

Инструменты разработчикаDrupal в Linux

25 июля 2009 в 11:51

Собственно тему побудил начать недавно обсуждаемый топик. Народ начал говорить, что под Linux нет Photoshop, Corel, Illustrator и т.д. и поэтому нормально в Linux работать невозможно. Хочется понять - так ли это на самом деле?

Я уже не рассматриваю лицензионный аспект, хотя уверен на 99% в том, что те кто пользуются photoshop и т.д. лицензий на них не покупали, а значит пользуются этим ПО незаконно и нелегально.

Но прав был один из участвующих в обсуждении - под Linux есть не так мало аналогичных инструментов. Возможно вы к ним не так привыкли как к ПО в Windows, однако они высокофункциональны, надёжны, удобны и бесплатны.

Я напишу ряд программ, но хотелось бы, чтобы знающие люди продолжили список. А также хотелось бы, чтобы разработчики Windows написали замену каких программ не нашли под Windows.

Замена Photoshop - GIMP (http://ru.wikipedia.org/wiki/GIMP)

Замена Illustrator - Inkscape (http://ru.wikipedia.org/wiki/Inkscape), Scribus (http://ru.wikipedia.org/wiki/Scribus)

Замена Adobe Page Maker Scribus (http://ru.wikipedia.org/wiki/Scribus)
IDE для программирования в PHP - Eclipse+PHP плагин (http://ru.wikipedia.org/wiki/Eclipse), NetBeans+PHP плагин(http://ru.wikipedia.org/wiki/NetBeans_IDE)

Замена 3D Max - Blender (http://ru.wikipedia.org/wiki/Blender), для командно-строчных окружений PovRay (http://ru.wikipedia.org/wiki/POV-Ray)

Можно ли как-то отучить ccfilter подставлять смайлики внутри тэга <pre>?

10 июня 2009 в 9:51

Собственно такой и вопрос: можно ли как-то отучить ccfilter подставлять смайлики внутри тэга <pre>?
Пробовал разный порядок фильтров - не помогло.

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

11 мая 2009 в 12:44

Вот сделал я перевод к непереведённому модулю или существенно дополнил существующий.
Как мне этот перевод передать в майнстрим, чтобы он потом появился в следующих релизах модуля или в транслейшн-паке?

Обфускация misc/jquery.js

22 апреля 2009 в 22:36

Может и не в этот раздел, но...
Сегодня случайно обратил внимание, что в каталоге misc лежат файлы jquery.js и jquery.form.js
Оба этих файла по всей видимости прошли обфускатор. Я чего-то не понимаю - зачем в GPL и OpenSource продукте такие файлы?

Ещё раз о выпадающем меню применительно к Primary Links

5 апреля 2009 в 2:57

Поискал на этом сайте, поискал на Drupal.org модули, но так и не понял - неужели не существует способа сделать выпадающее меню для Primary Links по-человечески? Меня совершенно не устраивает, что например Nice Menu, который все советуют позволяет только шлёпать блоки - мне не нужен блок! Мне нужно, чтобы после установки модуля дочерние пункты Primary Links выводились выпадающим меню при наведении курсора мышки на родительский пункт меню. Именно так! Я не хочу размещать Primary Links в блоке, потому что этот блок будет показан не так и не в том месте, которое мне нужно.

Относительные ссылки в таксономии и анонсе

5 марта 2009 в 22:53

Обнаружилась грабля.
Допустим есть у меня документ, в тизире которого есть относительная ссылка.
Когда я открываю сам документ - проблем нет, ссылка ведёт куда надо.
А вот если тизер появляется в анонсе на главной странице или на странице taxonomy/term, то ссылка оказывается битой, ибо полный путь оказывается левым!
Что же делать в такой ситуации? Отказаться от использования относительных ссылок? Но ведь тогда при смене структуры сайта все пути слетят. Какие идеи?

Проблемы с wgHTML

25 января 2009 в 19:47

Люди, нужен совет.
У меня есть сайт на Drupal5, где я использую некое количество документации выложенной в виде статического HTML.
Для интеграции в CMS был использован модуль wgHTML. Модуль отмечен на сайте Drupal как рекомендованный, однако с ним появились проблемы. (Прошу вас, не давайте мне ценных советов, что лучше всю статику затащить в Drupal, просто примите как данность, что мне нужна статика и точка.)

Первая проблема связана с тем, что у меня постоянно и очень быстро росли таблицы модуля wghtml_versions и wghtml_pages. При относительно небольшом размере статического HTML буквально за неделю эти таблицы достигали в сумме 300 мегабайт. Я стал их просто чистить по cron'у и думал, что проблема решена, но тут возникла вторая проблема.

Вторая проблема заключается в том, что у меня растёт таблица node_revisions. Растёт она не так быстро как wghtml_versions, но тем не менее размер у неё уже такой, что я понимаю - надо что-то с этим делать! Но как же мне грамотно её почистить? Ведь кроме статики на моём сайте есть и обычный материал? Посоветуйте пожалуйста!