TentoCMS
Guides

Page Management

Managing pages in the TentoCMS admin interface.

User guide for managing pages in TentoCMS admin interface.

Quick Start

Creating a Page

  1. Go to PagesNew Page (or click "New Page" button)
  2. Select page type (e.g., "Standard Page", "Blog Post")
  3. Enter page name: "About Us", "Contact", etc.
  4. Enter slug (auto-generated from name, or customize)
  5. Click Create
  6. Editor opens with blank form
  7. Fill in content according to page type schema
  8. Auto-save saves your work in the background shortly after you stop typing
  9. Click Publish when ready (requires Publisher role)

Editing a Page

  1. Go to Pages → Find your page in the list
  2. Click to open the page editor
  3. Edit content in the form
  4. Watch the auto-save indicator for status
  5. Click Save button for manual save (increments version)
  6. Click Publish when ready to go live

Publishing a Page

  1. Open page editor
  2. Ensure all required fields are filled (validator shows errors)
  3. Click Publish button
  4. Confirm in dialog if prompted
  5. Status changes to "Published"
  6. Page is now live to the public

Page Statuses

Draft

What it is: Work-in-progress page, not visible to public

Characteristics:

  • Only visible in admin
  • Can be freely edited
  • Content is not validated (allows incomplete drafts)
  • Auto-save works normally
  • Editors can delete only draft pages they created; publishers and above can delete any page

When to use:

  • Creating new pages
  • Making large changes before publishing
  • Testing page type schemas

Published

What it is: Live page, visible to the public

Characteristics:

  • Visible in public API/website
  • Content was validated before publishing
  • Can only be unpublished by Publisher role
  • Draft and published content are separate
  • URL is live and searchable

When to use:

  • Page is complete and ready for public
  • Want to make it official/permanent
  • Need SEO to index the page

Scheduled

What it is: Page set to publish automatically at a future date and time

Characteristics:

  • Not yet visible to the public
  • Content was validated when scheduling (same checks as publishing)
  • A scheduled time must be at least 5 minutes in the future
  • Publishes automatically when the scheduled time is reached
  • Can be unscheduled (reverts to Draft) by a Publisher

When to use:

  • Coordinating a launch for a specific time
  • Preparing content in advance to go live later

Unpublished

What it is: Was published, now hidden from public, but content preserved

Characteristics:

  • Not visible to public
  • Draft content is available for editing
  • Can be re-published at any time
  • Published content is preserved for rollback
  • Can be edited like a draft

When to use:

  • Found error in published page, need to hide it
  • Planning to re-launch page later
  • Deprecating old page

Auto-Save Explained

What is Auto-Save?

Auto-save is an automatic process that saves your draft changes without you having to click anything. It uses a 30-second debounce: every keystroke resets a 30-second countdown, and the save only fires once you've stopped typing for the full 30 seconds. This is not a fixed "every 30 seconds" tick — if you type continuously, auto-save waits until you pause.

How to Use It

  1. Open a page in the editor
  2. Start typing/editing content
  3. Look at the header for the auto-save indicator
  4. Wait 30 seconds without making changes
  5. See "All changes saved" appear briefly
  6. Continue editing knowing changes are preserved

Auto-Save Indicator Meanings

IndicatorMeaning
(nothing)No unsaved changes
Saving...Currently saving in background
✓ SavedChanges saved successfully (shows for 3s)
✗ ErrorAuto-save failed, click Manual Save button

Manual Save vs. Auto-Save

AspectAuto-SaveManual Save
When30 seconds after you stop typing (the timer resets on every keystroke)When you click the button
VersionDoes NOT incrementDoes increment
ConflictsThe request does check for a concurrent edit and can be rejected, but the editor currently ignores that result — a conflicting auto-save just fails silentlyChecks for concurrent edits and shows an error if the page was changed by someone else
Use forInterim draft savesCommitting changes for review

Best practice: Let auto-save work continuously, click Manual Save when you want to "finalize" changes.

Unsaved Changes Warning

If you have unsaved changes and try to navigate to a different page inside TentoCMS (e.g. back to the Pages list), you'll see a confirm dialog:

"You have unsaved changes. Are you sure you want to leave?"

Choosing Cancel keeps you on the page so you can save first.

Closing the browser tab or window shows no warning — any unsaved changes are lost immediately. Use Manual Save (or wait for auto-save to catch up) before closing the tab.

Auto-save reduces the risk of data loss, but because it only fires 30 seconds after you stop typing, work you're still actively typing hasn't been saved yet — the amount at risk isn't capped at 30 seconds of typing time.

Manual Save and Versioning

When to Use Manual Save

Click the Save button (in header) to:

  • Save immediately (don't wait 30s for auto-save)
  • Increment the page version
  • Signal "I'm done with this change" to the system
  • Check for concurrent edits (version conflicts)

What Manual Save Does

  1. Saves draft content immediately
  2. Increments version number (5 → 6)
  3. Checks if another user edited the page simultaneously
  4. If a conflict is detected, the save is rejected and an error message appears (see Version Conflicts below)

Version Numbers

Each page has a version number:

  • New page: version = 1
  • After first save: version = 2
  • Auto-save: version stays same
  • Manual save: version increments

Example:

Create page                    v1
Auto-save 30s later           v1 (no change)
User clicks Save              v2 (incremented)
Auto-save again              v2 (no change)
Another manual save          v3 (incremented)

Version Conflicts

If another user saved changes to the page while you were editing:

  1. You click Save
  2. The system detects that the version has changed since you loaded the page
  3. Your save is rejected with an error: "Someone else has edited this page. Please review their changes."

What to do: Reload the page to load the latest saved content, then reapply the parts of your work you still want. Check Version History to see what the other user changed before you start reapplying edits. There's no in-editor "keep mine / keep theirs" choice for page conflicts today — you need to compare and reapply manually.

Finding Pages

  1. Go to Pages list
  2. Enter text in the search box
  3. Results show pages matching:
    • Page name
    • Page slug

Example searches:

  • "About" → finds "About Us", "About Team"
  • "contact-form" → finds page with slug "contact-form"

Filter by Status

  1. In Pages list, click the Status filter
  2. Select status:
    • All (show all)
    • Draft (not published)
    • Published (live)
    • Scheduled (set to publish at a future time)
    • Unpublished (was published, now hidden)

Filter by Page Type

  1. In Pages list, click the Type filter
  2. Select page type:
    • All
    • Standard Page
    • Blog Post
    • Landing Page
    • etc.

Sorting

The pages list shows Name, Slug, Type, Status, and Updated (last-modified date) columns. Column headers are static labels, not sort controls — you can't currently click them to change the sort order. Pages are listed newest-created first.

Cloning Pages

When to Clone

Clone a page when you want to:

  • Create a page similar to an existing one
  • Avoid starting from scratch
  • Reuse layout and structure
  • Change content while keeping format

How to Clone

  1. Open a page you want to clone
  2. Click "Clone" in the page menu
  3. Enter new name: "Copy of About Us"
  4. Enter new slug: "copy-of-about-us"
  5. Click Clone
  6. New page created with:
    • Content copied from original
    • Status: Draft
    • Different ID and slug
    • Version 1

What Gets Copied

  • ✅ Draft content
  • ✅ Content structure
  • ✅ All field values
  • ❌ Published status (clone is always draft)
  • ❌ Version history
  • ❌ Published content
  • ❌ Publish date

Deleting Pages

Soft Delete (Move to Trash)

Pages are soft deleted - moved to trash instead of permanently removed.

  1. Open a page
  2. Click Delete
  3. Confirm deletion
  4. Page is moved to trash
  5. Slug becomes available for reuse
  6. Page can be restored from trash

Who can delete:

  • Editors: Can delete only draft pages they created
  • Publishers+: Can delete any page (draft, published, scheduled, or unpublished)

Restoring from Trash

Restoring a trashed page is admin-only.

  1. Go to Pages → Trash
  2. Find your page
  3. Click Restore
  4. Page restored to its previous state
  5. Slug still available (might be taken by another page)

Permanent Delete

Admins can permanently delete a page from the trash (for GDPR compliance). This is admin-only and, unlike soft delete, cannot be undone — the page and its content are removed for good.

Slug Management

What is a Slug?

A slug is the URL-friendly part of your page URL:

Page name: "About Our Company"
Slug: "about-our-company"
URL: https://example.com/about-our-company

Slug Rules

  • Lowercase letters and numbers
  • Hyphens to separate words
  • No spaces or special characters
  • Unique per page type (the same slug can be reused across different page types in the same project)
  • 3-255 characters

Auto-Generating Slugs

When creating a page:

  1. Enter page name: "Contact Us"
  2. Slug auto-generates: "contact-us"
  3. Click Edit to customize if needed

Changing Slugs

  1. Open page editor
  2. Go to sidebar → Slug section
  3. Click Edit
  4. Enter new slug: "contact-form"
  5. System checks availability (shows an error like A page with slug "contact-form" already exists in this page type if it's taken)
  6. Save page
  7. Old slug added to history for redirects

Slug History

System tracks previous slugs:

  • Support redirects from old URLs
  • Preserve SEO rankings
  • Show you what's been used

View in sidebar when editing page.

Field Types

Your page type defines what fields you can edit. Common field types:

Text

Single-line text input:

Label: "Page Title"
Input: "About Our Company"

Textarea

Multi-line text input:

Label: "Description"
Input: "This is a longer description..."

WYSIWYG (Rich Text Editor)

Format text with bold, italics, links, etc.:

Bold, italic, underline
Lists (bullet and numbered)
Links and images
Headings

Number

Numeric input:

Label: "Product Price"
Input: 99.99

Boolean (Checkbox)

True/false toggle:

Label: "Show on homepage"
Checked: Yes/No

Date/DateTime

Pick a date/time:

Label: "Published Date"
Picker: Click to select date

Image/Media

Upload or select media:

Label: "Featured Image"
Click to open media browser
Select or upload image

Color

Pick a color:

Label: "Theme Color"
Picker: Shows color palette

JSON

Raw JSON data:

Label: "Advanced Config"
Input: {"key": "value"}

Reference

Link to another content item:

Label: "Related Page"
Input: Dropdown of available pages

Component Picker

Select multiple components:

Label: "Sections"
Input: "Add Section" buttons
Reorderable list of selected items

Nested Component

Embed a sub-component:

Label: "Hero Section"
Input: Form for hero component fields

Keyboard Shortcuts

Coming in Phase 2: Keyboard shortcuts for common actions.

Permissions

Editor Permissions

Editors can:

  • ✅ Create new pages
  • ✅ Edit page content
  • ✅ Auto-save and manual save
  • ✅ Delete draft pages they created
  • ✅ Clone pages
  • ❌ Publish pages
  • ❌ Delete published pages
  • ❌ Access admin settings

Publisher Permissions

Publishers can:

  • ✅ All Editor permissions
  • ✅ Publish pages
  • ✅ Unpublish pages
  • ✅ Delete any page (draft, published, scheduled, or unpublished)
  • ✅ Create and manage preview API keys
  • ❌ Access admin settings (need Developer role)
  • ❌ Create or manage production/secret API keys (need Admin role)

Developer Permissions

Developers can:

  • ✅ All Publisher permissions
  • ✅ Manage page types
  • ✅ Manage components
  • ✅ Manage webhooks
  • ❌ Manage users (need Admin role)

Admin Permissions

Admins can:

  • ✅ All other permissions
  • ✅ Manage users
  • ✅ Tenant settings
  • ✅ Audit logs
  • ✅ Create and manage production/secret API keys (publishers and above can already manage preview keys — see above)

Best Practices

  1. Auto-save is your friend: Don't worry about losing changes
  2. Use meaningful slugs: Easy to read, remember, search-friendly
  3. Fill required fields: Check for red asterisks (required fields)
  4. Preview before publishing: See how page looks
  5. Use page types: They structure content consistently
  6. Clone similar pages: Start from templates, not scratch
  7. Keep slugs stable: Don't change published page slugs without planning
  8. Review validation errors: Read them carefully before publishing
  9. Check who edited: Version history shows who made changes when
  10. Publish frequently: Small changes are easier to manage than large rewrites

Troubleshooting

I Lost My Changes!

Auto-save only fires 30 seconds after you stop typing, so anything typed since the last save can be lost if the browser tab is closed unexpectedly (closing a tab shows no warning). Check:

  1. Reload the page (Cmd+R / Ctrl+R)
  2. Content should still be there if auto-save had a chance to fire
  3. If work is missing, check version history for the last saved version

Prevention: Click Manual Save when making important changes, and pause typing occasionally so auto-save can catch up.

Slug Is Not Unique

Error: A page with slug "your-slug" already exists in this page type

Solutions:

  • Add number: "page-2", "page-3"
  • Add adjective: "new-about-us", "about-us-updated"
  • Use suggestion provided by system
  • Delete old page with that slug first (if no longer needed)
  • Remember slugs only need to be unique within the same page type — the same slug is fine on a different page type

Can't Publish - Says Required Fields Missing

Error: "Validation failed: field name is required"

Solution:

  1. Read the error message
  2. Find the field in the form
  3. Fill in the required value
  4. Try publishing again

Another User Edited My Page

You see: An error message: "Someone else has edited this page. Please review their changes."

What happened: The page's version changed on the server since you loaded it — another user saved first.

What to do:

  1. Reload the page to see their latest version
  2. Check Version History to review what changed
  3. Reapply the parts of your work you still want, then save again

Page URL Not Updating

Issue: Changed slug but URL still old

Cause: Draft URL doesn't update until published

Solution: Publish the page to make URL live

See Also

Copyright © 2026