Почему TextPattern это не совсем CMS

07.05.2007

Тут я скорее всего буду немножко ругать TextPattern, раз уж я в заголовке сказал, что это не совсем CMS. Я бы назвал его просто скриптом, удобным в своей области, но без претензий на что-нибудь, сопоставимое, например, с Joomla. И ругать я буду программную часть, ну или то, насколько это удобно программисту и тому, кто решится создавать решения, основанные на данной CMS.

Удобство API

Возможно я привык к классу database в Joomla, но то, как сделан класс абстракции здесь мне не очень нравится. Субъективно, и соответственно фтопку :)

Ситуация с префиксами таблиц не шибко интересная, или константу пихать в строку (не трудно конечно, но читаемость кода падает, когда кавычки сначала, потом точки для сцепления строк а потом саму константу), или класс абстракции сам добавит этот префикс (да и то не всегда, а только в случае использвания специальных функций, когда этот класс точно знает, что N’ный параметр это имя таблицы и к ней надо приписать префикс).

Система расширений

Основной минус плагинов в TextPattern это то, что плагин физически находится в одном файле. Я рад за то, что создатель TxP не программист, а дизайнер, но ему сильно необходимо все-таки подумать над тем, что бы как-то сделать разделение кода. Понятно, что можно ставить некую интерфейсную часть плагина, а остальные файлы заставлять пользователя при установке копировать куда-нибудь в www-директорию и подключая их с интерфейсной части, и уже разделять логику самому. Но ведь не будешь же каждому пользователю это объяснять. Аналогично не совсем понятно как поступать с картинками для моего расширения.

Т.е. нет понятия унифицированной установки расширений. Что бы раз – и сразу таблицы создать, файлы дополнительные скопировать и что-то еще сделать. Инсталляция – это чтение ридми файлов и выполнение различных манипуляций в браузере руками самим пользователем (это для серьезных плагинов, для тех что в одном файле – им как раз все-равно, про них речь, конечно, не идет).

Модульность системы

Модульности с точки зрения CMS/CMF я почти не нашел. Есть намеки на модульность в виде плагинов, но это не такая модульность, которая должна быть в настоящей CMS. Т.е. в любом случае, то, какой модуль сейчас работает, должно однозначно определять адресом. Некоторые скажут, а мол, почему это? Да все потому, что именно адрес это единственная вещь, которая дает разработчикам сторонних расширений создавать модули и вообще иметь возможность отделяться от модулей системы или других разработчиков. Не зависеть от них. А сейчас простите, я не могу использовать в адресе переменную “q”, только потому, что в данном случае она занята плагином поиска.

Мы имеем ситуацию, когда, напиример, что бы установить гостевую книгу или форум надо создавать для них секцию, потом в этой секции вставлять тэг и она только в этой секции будет работать. Довольно коряво все-таки (причем это единственное решение, которое в принципе возможно, насколько я понял). В Joomla, например, по умолчанию идет десяток разных компонент, и что – если такое же будет в TxP – надо будет только под основные расширения создать десяток пустых секций, которые будут нужны только для того, что бы расширения можно было запустить.

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

Логика и уровни плагинов

Странно это как-то, но один плагин, будет работать и в шаблонах сайта, и в ваших публикациях. Т.е. нет разделения – на публикативную часть, и некую шаблонную часть. А было бы логично как-то ограничивать запуск плагинов для отдельных смысловых разделов сайта, будь-то ваши статьи, где, ежу понятно, никогда в жизни не надо использовать <txp:article> и раздела общего дизайна сайта (прикол, взял и написал этот тэг в качестве примера с нормальными скобками – и в результате вся статья у меня повторилась еще раз).

Мой единственный вывод – TextPattern это блог. Просто хороший блог.


Комментирование этой статьи закрыто

Комментарии [10]

  1. Июн 3, 14:56 , Гигафон

    Ну уж не просто блог! Лично мне сайты сделаные на Текстпаттерн нравятся. К тому-же и выглядят классно!

  2. Дек 13, 04:33 , Franzee

    ИМХО
    У TxP неплохое будущее… как мне кажется...
    Все твои замечания с точки программера и это конечно минусы...Но все таки как мне кажется у TxP нет соперников в своем роде
    В Joomla пытаюсь разобраться, но её “карявотсь” меня просто убивает...

    p.s. Не нравятся сайты joomla ну там форум поддержки или фэн сайт тоже “карявые” какие то

  3. Дек 28, 23:20 , Dead Krolik

    Надо всегда говорить в чем выражается это будущее. В роде блога – возможно он и дальше будет неплохо справлять. А вот в словосочетании “CMS Textpattern” слово CMS абсолютно лишнее.

    Joomla – согласен, стандартно она может и не шибко красивая. Но я не для того ее люблю, что бы из дистрибутива сайты делать. Мне нужен лишь ее функционал как CMS – то есть способность расширяться, чего нет у textpattern.

  4. Дек 29, 18:46 , kzew

    Не согласен. Впрочем, если кому-то нравится жить в заложниках у стереотипа “CMS = шаблоны + блоки + модули” (а также мамботы, виджеты, плагины, компоненты, mvc, сниппенты – нужное подчеркнуть), я не против.
    Хотел только отметить, как забавно звучит выражение “TextPattern это не совсем CMS”. Разве TextPattern не позволяет “управлять содержанием”? CMS – это категория, рынок. Корректный, на мой взгляд, заголовок для данной статьи всплыл только в конце “TextPattern это просто хорошиий блог”. А давно блоги лишились звания систем управления содержанием?

  5. Дек 29, 19:48 , Dead Krolik

    kzew – знакомый какой-то ник, если не ошибаюсь видел вас на XForum. Если так – добрый вечер.

    На самом деле тема дискуссионная, и прямо упирается в вопрос – а что же должна уметь CMS. В том плане какого рода контентом она должна управлять. TxP несомненно управляет, кто спорит. Но способна ли она управлять разнородным контентом. Мой ответ – нет. Почему нет под нее больших галерей или файловых менеджеров – потому что это физически не возможно – я сто раз плюну на это, но не буду под TxP программить такие вещи, не приспособлен он для этого.

    В данном подходе это еще один минус – если под CMS не возможно програмить что-то крупное – она не интересна с точки зрения коммерции и нафик не нужна сторонним разработчикам.

    Кроме того хочу указать еще на одну особенность “плагинной системы” TxP. Дело в том, что они обрабатываются при помощи регулярных выражений, а потому задача построения сложных конструкций рекурсивно не разрешима. На втором уровне вложенности он уже будет запинаться и выдавать ерунду. И такой пример у меня был, когда два плагина нельзя было рядом разместить в одном уровне вложенности. Я плюнул и не стал ничего делать.

  6. Дек 29, 23:41 , kzew

    Вообще-то, я говорил не о проблемах или достоинствах бедной Txp. Ее неспособность управлять каким-то там разнородным контентом совершенно не отвергает ее CMS’ной сущности.
    У каждой системы есть задачи, ради выполнения которых она и создавалась. Я к тому, что если система плохо реализует то, что требуется конкретно вам, то это не повод говорить, что она “не совсем CMS” ;)
    С наступающим!

  7. Июн 9, 03:00 , Максим

    > Основной минус плагинов в TextPattern это то, что плагин физически находится в одном файле
    Если установить в настройках директиву plugin_cache_dir, то расширения можно использовать в виде неограниченного числа файлов, в незакодированном base64 виде и без закачки в базу данных. Просто добавить нужные файлы в нужную папку.

    > если под CMS не возможно програмить что-то крупное – она не интересна с точки зрения коммерции и нафик не нужна сторонним разработчикам
    См. решение ТП-Бизнес
    У компании имеется модуль регистрации пользователей во фронт-энде, управления ими в бэк-энде с автоматическим оповещением по мылу, аутентификацией, внутренним счётом и прочими фишками. Т.е. это настоящее CRM расширение, которое выходит далеко за рамки блога.

  8. Июн 9, 13:09 , Dead Krolik

    Я знаю про эту директиву, но если ее использовать, то это означает, что установка плагина это не скопировал-вставил, а еще некие манипуляции с файлами и доп инструкции для пользователя.

    > У компании имеется модуль регистрации
    Я не совсем понимаю слово модуль в контексте TxP. Да и не видел я объемов этого дела :-)

  9. Июн 10, 05:26 , Максим

    > еще некие манипуляции с файлами и доп инструкции для пользователя.
    Почему? Если память не изменяет, мне пока не требовалось. Есть специфические методы от txp, без которых часто не обойтись. Ну, так у всех CMS есть какие-либо требования в расширениям. У Joomla там целый XML файл должен быть.

    > Я не совсем понимаю слово модуль в контексте TxP.
    Ну, пусть не модуль. Как ни назови, функционалу от наименования не убудет :-)

  10. Июн 15, 01:10 , Dead Krolik

    Чего-то уведомления о комментариях перестали приходить. Вообщем, у меня только один вопрос – как в текстпаттерне во фронте отправить форму на самого же себя вне зависимости от используемого шаблона или набора категорий.

Комментирование этой статьи закрыто

Кто я


Возраст: 23
Профессия: заяц


Категории


Полезные ссылки


Стишок

Зайчик-зайчик, скок-поскок!
Н-нна тебе дробину в бок!
Не с капустой же мы будем
Жрать на Новый год пирог...

eu-shestakov.livejournal.com