ForgeCMS
bg

CMS

Настройки, публикации, файлове и посетители на CMS на Total.js и къде се съхранява всичко

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Настройки

Добавката 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() ги записва обратно. Затова архивът на хранилището е архив на сайта.