Drupal и PostgreSQL

Попытка использовать Drupal совместно с PostgreSQL 8.3 с грохотом провалилась. Основная функциональность работает, но стоит копнуть чуть глубже и налетаешь на проблемы. Например на эту, судя по переписке там ниже - проблема не только в блоках (ну и вообще, идея делать join по двум полям, одно числовое, а второе - какое-то, несколько потрясла)

Довольно печально, кстати, смотреть, как ошибка найденная 2 месяца назад - не поправлена, хотя с тех пор было 1 или 2 релиза.

Натыкался и на проблемы с форматом даты, при попытке поставить русский формат (DD.MM.YYYY) оно прямо в таком формате и в базу хочет записаться.

Еще про Drupal: словил невнятный подземный стук. Смена языка пользователем сначала работала, а потом почему-то перестала, работает только смена в системе в целом. В том же месте другие грабли: экспорт строк для перевода экспортирует только те строки, которые встречались системе при работе, нормального способа экспортировать все на свежеустановленной CMS - не нашел.

Резюме. Несмотря на то, что система мне очень понравилась, впечатление пионерской поделки временами перебивает все прочие.

Comments

помоему Drupal ужасен, чем глубже в него копаешь тем страшнее становится

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

Но на мой взгляд, поднять сайт для поддержания "community" вокруг опенсорсного проекта - задача выполняется, после некоторой тренировки - за пару часов. Программировать ничего не надо.

А CMS-ы "в коробке" - вообще ужасны, по жизни, просто такое приложение.

Алексей, а с Joomla вы работали? Какое мнение о с сравнении с Drupal?

Алексей, а с Joomla вы работали? Какое мнение о её с сравнении с Drupal?

не работал, нет мнения.

Судя по тому, что это мировой лидер (тройка: Joomla, Wordpress, Drupal) - работает.

знаю, что работает))
Интенсивно работаю с Joomla, а вот Drupal не пробовал. Интересно было узнать, если вдруг знаете, отличия этих систем с вашей точки зрения...

Я, в свою очередь, ничего не могу сказать про другие CMS, сразу начал с Joomla, но пока, в общем и целом, вполне доволен ей, приличная софтина. Я в веб-программинг пришёл из разработки довольно низкоуровневых систем и оттуда есть привычка к жестким требованиям на качество кода и стабильность работы. С точки зрения пользователя/девелопера, любящего подстраивать под себя, за 2 месяца работы с ней пока совершенно не могу сказать, чтобы она коробила или вызывала пионерское впечатление, - отнюдь, вполне приличная софтина.
Последняя мажорная версия 1.5 имеет вполне разумную понятную архитектуру и довольно легко понимаема, когда надо что-то подкрутить под себя (что сложнее сказать о версиях 1.0.х). Функциональность в базе вполне приличная, хотя можно было бы и больше (ну это всегда можно ;). С качественными дополнениями, конечно, есть сложности... Там часто пионерии - хоть отбавляй. Но, как я понимаю, это общая черта всех дополнений к открытым системам, что почти всегда приходится дорабатывать "напильником" ;)

В общем, если вы вдруг получите какой опыт работы с ней, мне было бы интересно узнать ваше мнение)

Я, честно говоря, очень надеюсь, что повода познакомиться с Joomla у меня не возникет.

Django? :)

Это же, типа, фреймворк. А мне нужна, типа, CMS, да еще чтобы из полусотни бесплатных дизайнов можно было выбрать не совсем позорный

Фреймворк у меня уже есть, перловый. На ем даже CMS-ы есть, только вот последнее условие не выполнено.

Я в результате остановился на MT, все таки в пхп смотреть тошнит. А без смотреть их не бывает.
МТ правда взял не бесплатную, и там есть профешнл пак, в котором непозорные дизайны. И один непозорный доточил до <s>позорности</s> готовности.

Я, как ты понимаешь, про это думал. Тем более, что "небесплатный MT" дают пронетовским мемберам, который мембершип - бесплатен.

Но там все-таки очень много не хватает. Ну там многостраничных документов, версий для печати и прочей подобной срани. За форум для MT каких-то неприличных денег просят, а народу нужен форум.

Т.е. я и сам в это место замахивался, но там по мелочи набирается всяких недостатков, которые частично лечатся программированием на перле, а частично - за разумное время не лечатся.

Я его так и взял, понятное дело.

Насчет многостраничных не помню, а для печати там что-то было.

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

Ну для печати, понятное дело, можно отдельно варить копию документа.
Я пользуюсь MT (см. blog.lexa.ru) и мне нравится, но он все-таки блогоориентированный.

Ну в общем то - его обычно юзают с MySQL- соответственно баги там вылавливаются много быстрее..

Кгхм. Баги.

В database schema написано delta char(32);
А потом, значит, delete ... where delta=1;

И при этом запрос формируется на лету и передается строкой (а не через binded values).

Поубывав бы.

Тут внутренний голос мне подсказал (по реальным событиям), что еще FreeBSD надо на Linux менять.....

Вот про это я тебе и говорил - похоже, что PgSQL там как падчерица - невнятно и не всегда.

Что же до локализации - там вроде в пятерке есть модуль autolocale, который вроде это умеет, хотя не поручусь.

C локализацией я вообще не понял. В некоторый момент на тестовом сервере у меня отлично работал русский интерфейс для неавторизованных юзеров (поставленный через site defaults) и английский для админа (поставленный ему через преференсы).

Потом это пропало (но я переинсталлировал все хозяйство за последние несколько дней раз 100 по всяким тестовым причинам - модули разные смотрел и все такое), а почему - не могу понять.

А может мне оно приснилось, теперь уже не узнать.

Про локализацию - оно именно так и должно (как ты описал) работать - может это кто-то жестко закэшировал??? Или в одной из тестовых инсталляций ты русский недоставил...

Насчет переставлять с нуля - я от этой идеи отказался, держу отдельно продакшн и nextversion, экспериментирую на nextversion, потом ручками повторяю удачные эксперименты на продакшн. Автомат работает только в направлении production->nextversion. Учитывая, что все view можно перенести через файлы, получается не сильно геморройно.

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

Результат одинаковый - при смене системного языка все меняется (и для анонимуса и для залогиненого юзера), а при смене языка пользователем - смена не происходит. Если добавить к этому геморой с URL aliases, то лучше пусть язык будет один.

Ща еще проверим, каким боком там nginx. Потому как в режиме reverse proxy как-то не очень хорошо (собственно, все работает, кроме инсталляции), но есть же еще варианты...

C nginx работает ок, примеры конфигов на drupal.org/drupal.ru можно найти.

Леха, ошибка кастинга integer --> text в PostgreSQL 8.3 легко лечится, если что. Уже сталкивался со многими опенсорсными проектами, которые злоупотребляют такими вот преобразованиями типов. Drupal, значит, тоже в этом отношении коряво написан.

Да, собственно, следующий SQL создает соотв. кастинг integer --> text, должен помочь:

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;

Корявость - отдельная история. Прямые CMS - это такая фантастика

Как ты понимаешь, предлагаемый кастинг полечит проблему совместимости но с индексами при джойнах будет беда. Вообще, руки бы оторвал.

Но занесу в копилку опыта. Сам я поднял уже махарайку на MySQL, но если backup/restore сработает (заодно и проверим), можно и переехать.

> Натыкался и на проблемы с форматом даты, при попытке поставить русский формат (DD.MM.YYYY) оно прямо в таком формате и в базу хочет записаться.

Это подозреваю в каком-нибудь из контриб-модулей? Так в них ещё не такое попадается. В таблицах используемых базовыми модулями все даты в виде unix timestamp хранятся, форматирование применяется только при вводе/выводе.

> В том же месте другие грабли: экспорт строк для перевода экспортирует только те строки, которые встречались системе при работе, нормального способа экспортировать все на свежеустановленной CMS - не нашел.

Вообще-то, экспорт в модуле locale позволяет вывести все строки в виде pot-файла. Или можно скачать шаблоны с http://drupal.org/project/drupal-pot

Для модулей обычно шаблоны переводов лежат вместе с модулями, либо можно скачать из cvs утилиту po-extractor и генерить шаблоны с её помощью. А вообще, welcome на drupaler.ru :)

По пунктам

1) Ну да, наверное в модулях. Я не разбирался, мне надо чтобы работало. А с постгресом не работает даже Backup and Migrate, куда уж дальше.

2)Независимо от возможности экспорта, нормальной русификации друпала не получится. Ну вот любые счетчики:
1 чтение, 3 чтения, 15 чтений (или 1 раз, 2 раза, 15 раз).
Там еще я видел несколько мест, где фраза слепляется из кусочков, в английском они согласованы, а в русском - нет (и без шансов).

Это вообще большая очень проблема, думать что русифицировать можно нормально на gettext - это ошибка.

3) На друпалера не пойду, мне друпал попался под руку сугубо случайно и намерения с ним сожительствовать пока нет. Хотя один патч нужный (noindex к rel=nofollow) сделаю сегодня или завтра...

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

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

На drupal.ru сейчас не ведётся работ по переводу, хотя пользователи выкладывают свои собственные варианты. Пока лучше пользоваться переводами с drupaler.ru, там хотя бы в некоторой степени коллективный контроль за процессом.

Э.. у меня высшее образование, красный диплом, более 20 лет профессионального опыта в IT, 9 лет работал в МГУ.

Я не смог найти на drupaler.ru хоть какой-нибудь .po-файл, который можно было бы скачать, установить и попробовать.

Сделали бы страничку для тупых, а ?