zerkms

Topic: Roadmap на mzz 1.0

Здравствуйте, господа.
Хотелось бы обозначить некоторые ключевые моменты разработки mzz v.1.0, которая стартовала сегодня в ветке /branches/trunk.

Предупреждаю сразу:
1. mzz v.0.3 release не будет. мы выпустим mzz v.0.3 rc2, исключительно для того, чтобы продолжать вести на нём свои проекты. следующая стабильная будет только 1.0
2. изменения в 1.0 будут кардинальными, но миграция, конечно же, будет реальна! ;-)

А теперь о хорошем. Что нового и что изменится в 1.0:
1. будут переписаны и подтюнены часть важных классов и процессов, вроде роутеров, резолверов, процесса загрузки, подсистемы проверки прав, кеширования
2. модули перестанут зависеть от многочисленных таблиц sys_* (modules, actions, access, ...). да и вообще эти таблицы будут удалены. установка модулей упразднится до обычного копирования директории. вообще модули станут более автономными - в том числе роуты будут также храниться вместе с модулями (а не как сейчас в routes.php)
3. авторизация: ACL в текущем виде будет удалён, а права будут назначаться на основе ролей
4. почти все (или вообще все) конфигурационные файлы из формата .ini будут переведены в форму .php-файлов. это облегчит расширение и просто удобнее.

постарался перечислить ключевые моменты :-)

striker

Re: Roadmap на mzz 1.0

rev. 3665

  1. Получение мапперов для классов возложено на класс-модуль (extends simpleModule)

  2. Упразднен simpleFactory: теперь за получение контроллера и вызов экшна отвечает класс-модуль, что позволит реализовать свою схему получения и исполнения контроллеров

  3. Все конфиги экшнов переехали из ini файлов в php.

  4. Файлы доменных объектов переехали в подкаталог <module>/model

striker

Re: Roadmap на mzz 1.0

rev. 3684

  1. Введена сущность simpleAction: класс, представляющий собой описание экшна. Благодаря этому, стали возможны следующие конструкции $toolkit->getModule('news')->getAction('list')->run()
    Также, появилась возможность определять политику запуска контроллера самостоятельно.

  2. Проделана большая работа по переопределению мапперов и действий в своём приложении:

Вместо копирования всего файла маппера в свой проект (например, www/modules/news/newsMapper.php) появилась возможность использовать наследование:
www/modules/news/myNewsMapper.php

class myNewsMapper extends newsMapper

Файлы действий копировать полностью также не надо. Файл из www/modules/<module_name>/actions/<class_name>.php автоматически будет дополнять файл из system/modules/<module_name>/actions/<class_name>.php. То есть в файле экшнконфига своего проекта вы будете указывать только новые экшны (и удалять ненужные)

zerkms

Re: Roadmap на mzz 1.0

В ряде ревизий от 3710 и до (пока продолжается) было удалено очень много рудиментарного кода и некоторый существующий код был причёсан :-)

zerkms

Re: Roadmap на mzz 1.0

r3751:

перенесли разработку 1.0-deep-alpha из /branches/trunk в /trunk
а прежний транк был "зарелизен" в /tags под номером 0.3_rc2

zerkms

Re: Roadmap на mzz 1.0

Вчера была добавлена поддержка php 5.3!

Сегодня - добавил старые и гибкие getAcl() в дополнение к текущим ролям.

zerkms

Re: Roadmap на mzz 1.0

r3786
Выполнен очень важный тикет: http://trac.mzz.ru/ticket/270

Теперь приложение - это отдельная директория, в которой есть свой www (это и есть искомый webroot)

Для запуска демки теперь необходимо чекаутнуть /trunk (сам мзз) и отдельно /apps/demo/trunk (демо-приложение)

zerkms

Re: Roadmap на mzz 1.0

Господа, (почти) все запланированные тикеты на v1.0 завершены.
Я приступил к написанию документации. Можете уже начинать вычитывать и советовать по поводу будущей её структуры.