Принцип побудови системи
Web-система відрізняється відносно простою та наочною реалізацією — практично всі дані представлені об'єктами — перерахованими в таблиці "cat" бази даних.
Приклади об'єктів
- Сторінка сайту — зазвичай має статус: видима (публічна) чи ні, дату публікації, "людино-зрозумілу" Url. Якщо Url не вказано — сторінка доступна за індексом (/?p=…), але заборонена для індексації пошуковими системами. Модуль — наприклад: форма зворотного зв'язку ("feedback", id=-20). Текст цієї форми ("опис" об'єкта) зазвичай відображається аяксом у спливаючому вікні. Або може бути вставлений у текст сторінки — аяксом або при її формуванні на сервері. Після успішного виконання форми відображається текст "Анонс" об'єкта, до якого вставляється результат форми. У полі коментаря вказується e-mail (або список через кому) — кому надсилати результат форми (адміністратору сайту…).
- Текст блоку, наприклад:
- "Шапка" сайту
- "Підвал" сайту
- Форма авторизації ("вхід"), внутрішні сторінки - типи користувачів
- Форма реєстрації, внутрішні сторінки — користувачі
- Характеристики (параметри) — наприклад: товарів. Характеристика може містити внутрішніми сторінками значення.
Сторінка сайту (список сторінок) може містити фільтр сторінок за значеннями характеристик.
Зв'язок характеристики зі сторінкою зберігається у таблиці "r", у цій таблиці може зберігатися і текстове значення характеристики кожної мови сайту.
Поля об'єкта в таблиці
- id
- ім'я ("name" для основної мови, для інших мов, наприклад: "name_en")
- анонс ("adt" для основної мови, інших мов, наприклад: "adt_en") — короткий текст
- примітка (note)
- батько ("parent")
- картинка ("img") і статус цієї картинки ("vimg") — показувати скрізь або тільки в список сторінок. Файл розміщено у папці "/i/cat"
- порядковий номер ("ord")
- статус ("v") — прихований, публічний або особливий
- тип ("final") — наприклад, для вказівки типу користувача: адмін, клієнт, новий… Назва склалася історично: так позначав фінальну сторінку каталогу, що містить товари
- кількість вкладених сторінок ("c") — як ознака їх наявності
- власник сторінки ("owner") — корисно, наприклад, для магазину з кількома продавцями
- дати створення ("d0"), публікації ("d1"), події ("d1")
Сторінка сайту зазвичай пов'язана з таблицею текстів `url`
- id = id об'єкта
- текст опису ("text" для основної мови, для інших мов, наприклад — "text_en")
- текст мета-даних ("meta" для основної мови, для інших мов, наприклад — "meta_en")
- людино-зрозумілий текст посилання ("url" для основної мови, для інших мов, наприклад — "url_en")
- дата зміни ("t")
Сторінки користувачів пов'язані з таблицею `person`
- id = id об'єкта
- e-mail ("mail")
- хеш пароля ("psw") — текст, за яким перевіряється правильність пароля — але який перетворити на пароль неможливо
- хеш тимчасового пароля ("new") — якщо користувач забув свій пароль, він може запросити на e-mail посилання з тимчасовим паролем: після авторизації поле очищається
- ознака: чи відобразити у формі авторизації капчу ("captcha") — якщо була спроба авторизації з неправильним паролем — захист від підбору пароля.
Звязки між об'єктами зберігаються в таблиці "r"
- `r` — id першого об'єкта
- `a` — довідник — id іншого об'єкта чи батька іншого об'єкта
- `b —` опція довідника — інший об'єкт є вкладеною сторінкою об'єкта `a`
- `c` — підопція довідника — порядковий номер при множинному виборі з довідника
- `s —` текстове значення зв'язку для основної мови
- `s_en` (приклад для англійської мови) — текстове значення для неосновної мови
Файли об'єкта
Будь-який об'єкт може мати свій файл (ім'я в полі "img") — наприклад: титульну картинку - у папці "/i/cat/" (ім'я файлу складається з id об'єкта та розширення файлу).
Також будь-який об'єкт може мати свою "галерею файлів" (всередині папки "/i/cat/" — у папці з ім'ям id об'єкта).
Файли галереї перераховані в таблиці "files" (files.cat=cat.id),
там кожному файлу вказуються тексти підпису всіма мовами сайту.
спочатку це початкове ім'я файлу (до приведення в малий регістр та трансліту) можуть редагуватися.
Зображення на сторінці можна вказати бажані розміри — запит до програми "img.php"— наприклад: «src="/?img=/i/cat/1.jpg&w=80&h=60"» — вказуючи ширину та/або висоту в пікселях. Якщо одночасно вказані ширина і висота — можна вказати: вписати картинку в розмір (&m) — а не обрізати. Можна вказати, що потрібно збільшити зображення до вказаних розмірів (&z).
Програма створює тимчасовий файл, якщо він не був створений раніше.
Якщо тимчасовий файл вже створено — він просто читається браузеру.
Картинка передається із заголовком, що дозволяє кешування файлу браузером.
Є в "адмінці" інструмент для видалення всіх цих тимчасових файлів.
Ієрархія об'єктів

В "адмінці" наочно представлена ієрархія об'єктів — починаючи від кореневих (у яких id батька дорівнює нулю).
Об'єкту можна додавати вкладені об'єкти, вказувати їх черговість ("ord"), статус ("v" - видимий, прихований ...), редагувати дані будь-якого об'єкта у формі редагування.
Можлива будь-яка кількість розділів з будь-якою глибиною вкладення.
Наявність інструментів підключення до сторінок файлів стилів та скриптів — з можливістю їх створення та редагування, наочного відображення зв'язків — дозволяє реалізовувати скільки завгодно великий проект.