ForgeCMS
pt

CMS

Definições, artigos, ficheiros e visitantes do CMS do Total.js e onde fica guardado tudo

CMS · cms@8071e48 cmssettingspostsfilesvisitorsstorage

Definições

O plugin Settings (settings_read, settings_save; permissão settings) edita a configuração que o CMS guarda nos metadados do site e carrega em CONF a cada arranque:

ChaveSignificado
nameo nome do site, usado no <title> de todas as páginas exceto / e no nome do ficheiro da cópia de segurança
urlo endereço público do site; o CMS também o atualiza a partir do host dos pedidos do admin
smtpas definições SMTP como texto JSON (server, from, user, password, port); settings_test testa-as
iconum ícone para o site
$tms, secret_tmspublica os eventos por TMS, e o segredo dessa ligação
op_reqtoken, op_restokenos tokens de uma aplicação OpenPlatform; quando ambos estão definidos, o início de sessão no admin é substituído pelo do OpenPlatform
totalapiuma chave para os serviços da API do Total.js

Os plugins podem acrescentar mais chaves, que aparecem no mesmo formulário. Os valores que vivem no ficheiro config ($api, cdn, salt e, se o acrescentar, token) não se editam aqui.

Artigos

O plugin Posts é um pequeno gestor de artigos, guardados num ficheiro NoSQL próprio dentro do armazenamento. Um artigo tem name, category, picture, summary, body, reference, icon, color, hidden e date; o admin lista-os do mais recente para o mais antigo (100 por página) e posts_categories devolve as categorias em uso. Os artigos são dados para o seu próprio código: o renderizador público do CMS (controllers/default.js) não os imprime, por isso um widget ou uma rota sua tem de os ler e desenhar.

Ficheiros

O plugin Files guarda os envios no armazenamento de ficheiros e marca-os como públicos. GET /download/<id>.<ext> serve um ficheiro público (só os públicos; os restantes respondem 404). Para imagens, ?s=<percent> devolve um JPEG mais pequeno (o valor tem de estar entre 10 e 80, com qualidade 80), e ?download=1 força a transferência. As rotas de envio e os seus limites estão em a API do admin.

Visitantes e o painel

O módulo modules/visitors.js conta as visitas das páginas públicas através do script /visitors.js que cada página inclui: visitantes únicos, visualizações, navegadores, referentes, tráfego de pesquisa, social e direto, móvel e computador, horas do dia e as pessoas online (um visitante está online durante 20 minutos sem atividade). O plugin Dashboard desenha esses números a partir de dashboard_stats, dashboard_online, dashboard_browsers, dashboard_referers e dashboard_pages.

OpenPlatform

Quando op_reqtoken e op_restoken estão definidos, o CMS inicia a sessão das pessoas através do OpenPlatform (módulo modules/openplatform.js) e cada plugin acrescenta a sua permissão à lista que o OpenPlatform mostra ao atribuir grupos: pages, layouts, widgets, navigation, posts, files, redirects, variables, settings e admin. Lembre-se da regra do OpenPlatform: uma aplicação só é visível para os grupos que lhe atribuir.

O modelo de dados

MAIN.db guarda os metadados do site (pages, layouts, widgets, redirects, vars, nav, config e storage) e é gravado como um único documento JSON chamado meta no armazenamento de ficheiros. O HTML de cada página e layout é um ficheiro desse armazenamento cujo nome é o id da página ou do layout. FUNC.load() lê os metadados no arranque, compila os widgets (executando a sua função install) e reconstrói as caches; FUNC.save() volta a escrevê-los. Por isso uma cópia de segurança do armazenamento é uma cópia de segurança do site.