ForgeCMS
es

CMS

Ajustes, posts, archivos y visitantes del CMS de Total.js y dónde se guarda todo

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Ajustes

El plugin Settings (settings_read, settings_save; permiso settings) edita la configuración que el CMS guarda dentro de los metadatos del sitio y carga en CONF en cada arranque:

ClaveSignificado
nameel nombre del sitio, usado en el <title> de todas las páginas salvo / y en el nombre del archivo de la copia de seguridad
urlla dirección pública del sitio; el CMS también la actualiza a partir del host de las peticiones del admin
smtplos ajustes SMTP como texto JSON (server, from, user, password, port); settings_test los prueba
iconun icono para el sitio
$tms, secret_tmspublica los eventos por TMS, y el secreto de esa conexión
op_reqtoken, op_restokenlos tokens de una aplicación de OpenPlatform; cuando están los dos, el acceso al admin se sustituye por el de OpenPlatform
totalapiuna clave para los servicios de la API de Total.js

Los plugins pueden añadir más claves, que aparecen en el mismo formulario. Los valores que viven en el archivo config ($api, cdn, salt y, si lo añades, token) no se editan aquí.

Posts

El plugin Posts es un pequeño gestor de artículos, guardado en su propio archivo NoSQL dentro del almacén. Un post tiene name, category, picture, summary, body, reference, icon, color, hidden y date; el admin los lista del más nuevo al más antiguo (100 por página) y posts_categories devuelve las categorías en uso. Los posts son datos para tu propio código: el renderizador público del CMS (controllers/default.js) no los imprime, así que un widget o una ruta tuyos tienen que leerlos y dibujarlos.

Archivos

El plugin Files guarda las subidas en el almacén de archivos y las marca como públicas. GET /download/<id>.<ext> sirve un archivo público (solo los públicos; el resto responde 404). Para imágenes, ?s=<percent> devuelve un JPEG más pequeño (el valor debe estar entre 10 y 80, con calidad 80), y ?download=1 fuerza la descarga. Las rutas de subida y sus límites están en la API del admin.

Visitantes y el panel

El módulo modules/visitors.js cuenta las visitas de las páginas públicas mediante el script /visitors.js que incluye cada página: visitantes únicos, impresiones, navegadores, referentes, tráfico de búsqueda, social y directo, móvil y escritorio, horas del día y la gente conectada (un visitante está conectado durante 20 minutos sin actividad). El plugin Dashboard dibuja esas cifras con dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers y dashboard_pages.

OpenPlatform

Cuando op_reqtoken y op_restoken están definidos, el CMS inicia sesión a través de OpenPlatform (módulo modules/openplatform.js) y cada plugin aporta su permiso a la lista que OpenPlatform muestra al asignar grupos: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings y admin. Recuerda la regla de OpenPlatform: una aplicación solo es visible para los grupos que le asignas.

El modelo de datos

MAIN.db guarda los metadatos del sitio (pages, layouts, widgets, redirects, vars, nav, config y storage) y se guarda como un único documento JSON llamado meta en el almacén de archivos. El HTML de cada página y layout es un archivo de ese almacén cuyo nombre es el id de la página o del layout. FUNC.load() lee los metadatos al arrancar, compila los widgets (ejecutando su función install) y reconstruye las cachés; FUNC.save() los vuelve a escribir. Por eso una copia de seguridad del almacén es una copia de seguridad del sitio.