Содержание

Limb 2.4-alpha2 release

Статус - выпущен. CHANGELOG , скачать

Краткое описание

Это второй альфа релиз новой ветки LIMB 2.4, в котором исправлено большое число ошибок и добавлен новый функционал.

Стоит выделить следующие наиболее важные изменения:

Совместимость с PHP-4.4.x

Мы старались найти и исправить все проблемматичные места в коде, которые приводили к warning в PHP-4.4.x(по крайней мере тесты выполняются без ошибок). Однако, в виду частичного покрытиями тестами, мы пока не даем полной гарантии того, что код полностью совместим с новыми версиями PHP4.

Переработка locale констант

Запутанные константы CONTENT_LOCALE_ID и MANAGEMENT_LOCALE_ID ушли в прошлое, на смену им пришла единственная константа LOCALE_ID. Именно она определяет, какие установки locale действительны в текущий момент обработки запроса. Для большей гибкости LOCALE_ID, возможно, в будущем будет глобальной переменной.

'locale_id' аттрибут удален из site_object

Данный аттрибут себя морально изжил в виду перехода на UTF-8. К тому же, правильнее было бы его называть translation_id, однако пока функционала для множественных переводов объектов у нас нет, от него стоит избавиться.

Привязка сессии к ip адресу

В целях повышения безопасности сессия пользователя жестко привязана к его ip адресу, что уменьшает риск умышленной подмены сессии пользователя(один из видов XSS атаки)

Исправление работы транзакций драйверов баз данных

Работа с транзакциями в MySql драйвере содержала серьезные ошибки, которые были исправлены.

JIP с использованием AJAX

Для облегчения fetch операций назначение доступных действий объекта было убрано из fetcher. Для вывода JIP на фронтальной части используется AJAX технология, т.е. происходит обращение к серверу для получения списка доступных действий объекта.

Новые WACT теги

Низкоуровневый доступ к системе через CLI

Был добавлен эксперементальный CLI доступ к системе с помощью cli/limb.php скрипта(также существуют два удобных алиаса: limb.bat win32 batch и limb bash скрипты). Суть сводится к тому, чтобы предоставить разработчику возможность интерактивного доступа к системе через командную строку.

Доступ к системе через CLI можно описать следующей обобщенной схемой:

$ limb /path/to/limb/project module_name service_name arg1 arg2 arg3 … argN, где

Небольшой пример исследования доступных CLI модулей/сервисов и использования site_object модуля:

$ limb . help
=== available modules ===
cache
class
controller
db
site_object

$ limb . site_object help
=== module 'site_object' available services ===
add
edit
info
mv
rename
rm
set_class
set_controller
show

$ limb . site_object info /
array(32) {
  ["id"]=> string(3) "180"
  ["class_id"]=> string(2) "38"
  ["current_version"]=>string(1) "7"
  ["modified_date"]=>string(10) "1134135616"
  ["status"]=>string(2) "-1"
  ["created_date"]=>string(10) "1132056858"
  ["creator_id"]=>string(2) "25"
  ["title"]=>string(12) "Some title"
  ["identifier"]=>string(2) "ru"
  ["controller_id"]=>string(2) "53"
  ["object_id"]=>string(3) "180"
  ["version"]=>string(1) "7"
  ...
}