Users (Tools > Users) - Everyone can update their display name, email and password; administrators can add, edit, invite (one-time link), block and delete accounts. - Accounts in config.local.php stay locked to config (the main administrator); CMS accounts live in data/users.json. Sign-in is by login name. - Roles are now editor and administrator (publisher is an alias of editor). - Account protection: password hashes only (12-72 characters), administrator password confirmation for sensitive actions, rate-limited failures, hashed single-use invite tokens, self-lockout guards, sessions of blocked/deleted users end on the next request, every account event audited without secrets. - dataDirectory can move data outside the web root; the dashboard recommends it. Media library - Upload images, documents, video and audio, sorted into four categories by extension. - Extension allow-list; executables, scripts, HTML/SVG, archives, legacy and macro Office files refused; content sniffing; files containing code refused; PDFs with scripts refused; Office/OpenDocument packages inspected for macros and embedded objects. - Media library button in the editor inserts an image, document link, video or audio. Navigation menus, pages and interface - The site scan detects primary/secondary navigation and seeds Navigation Menus; menus can be renamed, edited and deleted but not created by the CMS; a scan button finds new navigation. - New page wizard (template, name, navigation group) in the Pages dialogue; new pages stay private drafts until published; pages can be used as templates. - Deleted pages can be recovered from the Dashboard. - Full-width top bar with the user at the top right, device icons, consistent buttons. Tests and docs updated (tests/run.php, README, ARCHITECTURE, DEVELOPMENT, CHANGELOG). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
80 lines
5.5 KiB
HTML
80 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-gb">
|
|
<head>
|
|
<!-- Built-in, read-only introduction displayed after login unless skipWelcomePage is enabled. -->
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Welcome to NeoCMS 3</title>
|
|
<meta name="description" content="A concise guide to the NeoCMS 3 administration interface.">
|
|
<style>
|
|
/* The welcome page is self-contained so it remains useful without a theme or network access. */
|
|
:root { color-scheme: light; font-family: system-ui, sans-serif; color: #25313c; background: #eef2f5; }
|
|
body { max-width: 1050px; margin: 0 auto; padding: 32px 20px 60px; line-height: 1.55; }
|
|
header { padding: 32px; border-radius: 12px; color: #fff; background: #185f91; }
|
|
h1, h2 { line-height: 1.2; }
|
|
h1 { margin-top: 0; }
|
|
main { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; margin-top: 22px; }
|
|
section { padding: 22px; border: 1px solid #d4dde4; border-radius: 10px; background: #fff; }
|
|
code { padding: 2px 5px; border-radius: 4px; background: #e8edf1; }
|
|
.important { color: #b3141f; }
|
|
.important code { color: inherit; background: #fbe4e6; }
|
|
footer { margin-top: 24px; color: #586673; text-align: center; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<!-- This page explains the administration tools; public site content is loaded with the Pages button. -->
|
|
<header>
|
|
<h1>Welcome to NeoCMS 3</h1>
|
|
<p>A database-free CMS with drafts, revisions, scheduled publishing, and rather fewer excuses for editing live HTML.</p>
|
|
</header>
|
|
|
|
<main>
|
|
<!-- Core page-editing workflow. -->
|
|
<section>
|
|
<h2>Edit and publish</h2>
|
|
<p>Open <strong>Pages</strong>, choose a page, and select any region carrying the configured editable class.</p>
|
|
<p>The editor offers <strong>Save Draft</strong> (private), <strong>Schedule Publish</strong>, and <strong>Publish Now</strong>, which creates a revision before replacing the public page.</p>
|
|
</section>
|
|
|
|
<!-- Content creation and rollback tools. -->
|
|
<section>
|
|
<h2>Pages and revisions</h2>
|
|
<p>Administrators can create, duplicate, rename, and delete pages. The <strong>New page</strong> section under the list in <strong>Pages</strong> is a three-step wizard: choose a template, name the page (the filename is generated for you), then choose a navigation group. The new page stays a private draft until it is published; publishing creates the file and adds it to the chosen menu.</p>
|
|
<p>Use <strong>Create Template</strong> on any page in the list to offer it as a template, and Delete in the template list to stop offering one. Editors can restore earlier revisions from <strong>Tools</strong>.</p>
|
|
<p>Deleted pages retain a restorable snapshot: editors can bring one back with <strong>Recover</strong> in the <strong>Dashboard</strong>'s Deleted pages list, because accidents should be reversible rather than memorable.</p>
|
|
</section>
|
|
|
|
<!-- Asset and metadata management. -->
|
|
<section>
|
|
<h2>Media and SEO</h2>
|
|
<p>The media library uploads images, documents, video and audio, sorts them by type, records alternative text or link text, and reports usage counts. In the editor, the <strong>Media library</strong> button inserts an uploaded file at the cursor. Executables and files containing code are refused.</p>
|
|
<p>The SEO dialogue manages titles, descriptions, canonical URLs, Open Graph images, and indexing instructions.</p>
|
|
</section>
|
|
|
|
<!-- Site-wide content management. -->
|
|
<section>
|
|
<h2>Shared content and menus</h2>
|
|
<p>Regions marked with <code>data-neo-shared</code> can be updated across every page. Open <strong>Navigation Menus</strong> to edit, rename, or delete menus; changes propagate to every page. Menus are created by your web developer, not the CMS: <strong>Site Scan</strong> and the menu dialogue's scan button find navigation in the site files (primary and secondary are detected automatically).</p>
|
|
</section>
|
|
|
|
<!-- Publication timing and preview controls. -->
|
|
<section>
|
|
<h2>Schedule and preview</h2>
|
|
<p>Editors may queue a future release. The desktop, tablet, and mobile icon buttons resize the preview without altering page markup.</p>
|
|
</section>
|
|
|
|
<!-- Quality and operational tools. -->
|
|
<section>
|
|
<h2>Users, checks and activity</h2>
|
|
<p>The accessibility checker catches common authoring problems before publication. The dashboard lists drafts, schedules, deleted pages you can recover, recent activity, writable-directory warnings, and recommendations.</p>
|
|
<p>Everyone can update their display name, email address and password from <strong>Tools > Users</strong>. An <strong>Editor</strong> edits and publishes content; an <strong>Administrator</strong> can also manage pages, menus and shared content, and add, invite, edit, block or delete users. Accounts in <code>config.local.php</code> stay managed there. <strong class="important">Important: CMS-created accounts are stored in the data folder, so on a live site set <code>dataDirectory</code> in <code>config.local.php</code> to an absolute path outside the web root; administrators see a Dashboard recommendation until it is.</strong></p>
|
|
</section>
|
|
</main>
|
|
|
|
<!-- Detailed installation, configuration, role, cron, and markup guidance lives in README.md. -->
|
|
<footer>
|
|
<p>NeoCMS 3 documentation is available in the project README.</p>
|
|
</footer>
|
|
</body>
|
|
</html>
|