Настройки, публикации, файлове и посетители на CMS на Total.js и къде се съхранява всичко
Настройки
Добавката Settings (settings_read, settings_save; право settings) редактира конфигурацията, която CMS пази в метаданните на сайта и зарежда в CONF при всяко стартиране:
| Ключ | Значение |
|---|---|
name | името на сайта, използва се в <title> на всяка страница освен / и в името на файла на архива |
url | публичният адрес на сайта; CMS го обновява и от хоста на заявките към администрацията |
smtp | настройките за SMTP като текст JSON (server, from, user, password, port); settings_test ги изпробва |
icon | икона за сайта |
$tms, secret_tms | публикува събитията чрез TMS и тайната на тази връзка |
op_reqtoken, op_restoken | токените на приложение OpenPlatform; когато са зададени и двата, влизането в администрацията се заменя с това на OpenPlatform |
totalapi | ключ за услугите на Total.js API |
Добавките могат да добавят още ключове, които се появяват в същата форма. Стойностите, които живеят във файла config ($api, cdn, salt и, ако го добавите, token), не се редактират тук.
Публикации
Добавката Posts е малък мениджър на статии, пазени в собствен NoSQL файл във хранилището. Публикацията има name, category, picture, summary, body, reference, icon, color, hidden и date; администрацията ги изброява от най-новите (по 100 на страница), а posts_categories връща използваните категории. Публикациите са данни за вашия собствен код: публичният рендер на CMS (controllers/default.js) не ги изписва, затова ваш уиджет или маршрут трябва да ги прочете и нарисува.
Файлове
Добавката Files пази качванията във файловото хранилище и ги маркира като публични. GET /download/<id>.<ext> сервира публичен файл (само публичните; останалите отговарят 404). За изображения ?s=<percent> връща по-малък JPEG (стойността трябва да е между 10 и 80, с качество 80), а ?download=1 налага сваляне. Маршрутите за качване и техните ограничения са в API на администрацията.
Посетители и таблото
Модулът modules/visitors.js брои посещенията на публичните страници чрез скрипта /visitors.js, който включва всяка страница: уникални посетители, прегледи, браузъри, препращащи сайтове, трафик от търсене, социални мрежи и директен, мобилни и настолни, часове от денонощието и хората онлайн (посетителят е онлайн 20 минути без активност). Добавката Dashboard рисува тези числа от dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers и dashboard_pages.
OpenPlatform
Когато op_reqtoken и op_restoken са зададени, CMS вписва хората чрез OpenPlatform (модул modules/openplatform.js) и всяка добавка допълва своето право към списъка, който OpenPlatform показва при възлагането на групи: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings и admin. Запомнете правилото на OpenPlatform: едно приложение се вижда само от групите, на които го възложите.
Моделът на данните
MAIN.db държи метаданните на сайта (pages, layouts, widgets, redirects, vars, nav, config и storage) и се записва като един JSON документ с име meta във файловото хранилище. HTML на всяка страница и layout е файл от това хранилище, чието име е идентификаторът на страницата или layout-а. FUNC.load() чете метаданните при стартиране, компилира уиджетите (изпълнявайки функцията им install) и възстановява кешовете; FUNC.save() ги записва обратно. Затова архивът на хранилището е архив на сайта.