//Исправления
//TODO: сделать, чтобы при удалении ветки так же удалялись и все дочерние элементы дерева категорий. Сделать это без событий. Но каждая удалённая категория должна кидать событие типа после удаления и перед удалением. Чтобы можно отслеживать чистку дочерних элементов.  Ибо остатки мусора это не комильфо. Работать конечно будет дольше да и в жопу. Главное чтобы работало корректно. На данный момент такие приоритеты.
//TODO: не удаляется страница в менеджере

//Рефакторинг
//TODO: зарефакторить jstree - чтобы там нормальные вызовы контроллеров были
//TODO: Замерить число вызовов функции get_package. Сделать чтобы <package_nam>.js файлы и язковые приблуды могли грузиться в обход pre_generation - типа так будет существенно быстрее и позволит уменьшить исходники на 20-40 килобайт, что неплохо. Сделать вообще этап resources_loading как контроллер или вид. Настраивать что грузить css/js/lang. Вообще тут на одних только get_package вызовах будет чумовая экономия. Замерить число вызовов функции get_package. Сравнить с тем что было до оптимизации. Порадоваться )
//TODO: зафигачить все пакеты по кешированию в один пакет cache - геморройно все пакеты править, но это даст больше порядка. Упроститься структура проекта.
//TODO: сделать пакет sape - бизнес-компонентом и исключить его из стандартного дистрибутива, чтобы был только в seo_tools, ибо нефиг
//TODO: удалить все описания страниц и перенести их в базу данных. Проследить, чтобы вся инфа нормально отображалась в менеджере. Почистить пакет для доступа к страницам. На этом этапе уже некоторое части его можно будет удалить.

//New functionality
//TODO: Начать тестировать JS код с помощью QUnit JavaScript Testing Framework'а - похоже это уже насущная необходимость. Попробовать интегрировать его в ту систему, которая уже есть ) Вот хороший мануал про попытки нажать на кнопку при тестировании http://compendiumnews.blogspot.co.uk/2008/06/clicking-the-buttons-in-qunit-functional-testing-with-jquery.html Видимо придётся сильно извращаться, чтобы это протестировать ( Типа браузер отдельно запускать. Да, очевидно надо браузеры запускать (( Разные причём. Тестировать всё на Лисе, но сделать возможность запускать произвольные. Типа просто передавать строку к экзешнику браузера. А тесты как запускать? А как получать
	- запуск произвольного браузера (это можно сделать)
	- получение результата из браузера (типа джаваскрипт отправляет результаты на сервер, а с сервера их забирает наша тестелка?)
	- закрытие браузера (это можно сделать)
	- или браузер не закрывать а просто считывать то что он показал, а как?
	- авторизация на странице веб-приложения (хз вообще как это делать)
	- мля, какой же это геморрой будет (это точно!)

//TODO: Загружать временную зону из конфига
//TODO: fetch pages from DB in the get_list_of_pages method
//TODO: object_permit_manager - типа унифицированный менеджер доступов для разных объектов, теперь это можно легко внедрить для ВСЕХ объектов, в том числе и для страниц
//TODO: page_permit_manager
//TODO: store page permits in db
//TODO: create select package field (two editable inputs for package name and version + select package dialog)
//TODO: create default page for file uploads with name 'upload_file.html' with public permit
//TODO: report_permit_manager
//TODO: create permition_domain_access package
//TODO: сделать тип чекбокса, который скрывает/показывает DOМ элемент
//TODO: сделать тип радиобаттона, который показывает нужный DOM элемент а остальные скрывает (типа таба)
//TODO: сделать заполнение полей master_package_name/master_package_version если этот пакет выделен в дереве
//TODO: сделать установку пакетов
//TODO: Сделать макрос для переключения языков и задокументировать его
//TODO: сделать создание проектного пакета
//TODO: сделать создание дерева папок в созданном проектном пакете
//TODO: дублирование путей в дереве папок созданного проектного пакета в cached_multy_fs
//TODO: диалог создания записи (автоширина и автовысота, иначе ширина и высота формы могут быть больше чем диалог, а скроллы это не комильфо)
//TODO: add file manager - list of files with the deleting of files
//TODO: use permit::permition_domain somewere, in the gui::context package for example
//TODO: rename ownership into 'permition_domain' ad entity in the database
//TODO: сделать session_cache, в котором попробовать хранить разные прикольные вещи типа доступов (для начала - это будет типа первое внедрение)
//TODO: сделать переключение с cache на session_cache и обратно, и попробовать протестировать это. Насколько быстрее будет. Или не будет. Или будет, т.к. все файлы-то в памяти хранятся. Причём они будут общие для всех пользователей. Не будет ли это геморроем? Не будет ли тут ошибок? В общем надо пробовать.

//Project++
//TODO: Добавить мануал про то как отлаживать Ультимикс