Page Management
User guide for managing pages in TentoCMS admin interface.
Quick Start
Creating a Page
- Go to Pages → New Page (or click "New Page" button)
- Select page type (e.g., "Standard Page", "Blog Post")
- Enter page name: "About Us", "Contact", etc.
- Enter slug (auto-generated from name, or customize)
- Click Create
- Editor opens with blank form
- Fill in content according to page type schema
- Auto-save saves your work in the background shortly after you stop typing
- Click Publish when ready (requires Publisher role)
Editing a Page
- Go to Pages → Find your page in the list
- Click to open the page editor
- Edit content in the form
- Watch the auto-save indicator for status
- Click Save button for manual save (increments version)
- Click Publish when ready to go live
Publishing a Page
- Open page editor
- Ensure all required fields are filled (validator shows errors)
- Click Publish button
- Confirm in dialog if prompted
- Status changes to "Published"
- 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
- Open a page in the editor
- Start typing/editing content
- Look at the header for the auto-save indicator
- Wait 30 seconds without making changes
- See "All changes saved" appear briefly
- Continue editing knowing changes are preserved
Auto-Save Indicator Meanings
| Indicator | Meaning |
|---|---|
| (nothing) | No unsaved changes |
| Saving... | Currently saving in background |
| ✓ Saved | Changes saved successfully (shows for 3s) |
| ✗ Error | Auto-save failed, click Manual Save button |
Manual Save vs. Auto-Save
| Aspect | Auto-Save | Manual Save |
|---|---|---|
| When | 30 seconds after you stop typing (the timer resets on every keystroke) | When you click the button |
| Version | Does NOT increment | Does increment |
| Conflicts | The request does check for a concurrent edit and can be rejected, but the editor currently ignores that result — a conflicting auto-save just fails silently | Checks for concurrent edits and shows an error if the page was changed by someone else |
| Use for | Interim draft saves | Committing 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
- Saves draft content immediately
- Increments version number (5 → 6)
- Checks if another user edited the page simultaneously
- 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:
- You click Save
- The system detects that the version has changed since you loaded the page
- 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
Search
- Go to Pages list
- Enter text in the search box
- 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
- In Pages list, click the Status filter
- 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
- In Pages list, click the Type filter
- 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
- Open a page you want to clone
- Click "Clone" in the page menu
- Enter new name: "Copy of About Us"
- Enter new slug: "copy-of-about-us"
- Click Clone
- 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.
- Open a page
- Click Delete
- Confirm deletion
- Page is moved to trash
- Slug becomes available for reuse
- 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.
- Go to Pages → Trash
- Find your page
- Click Restore
- Page restored to its previous state
- 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:
- Enter page name: "Contact Us"
- Slug auto-generates: "contact-us"
- Click Edit to customize if needed
Changing Slugs
- Open page editor
- Go to sidebar → Slug section
- Click Edit
- Enter new slug: "contact-form"
- System checks availability (shows an error like
A page with slug "contact-form" already exists in this page typeif it's taken) - Save page
- 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
- Auto-save is your friend: Don't worry about losing changes
- Use meaningful slugs: Easy to read, remember, search-friendly
- Fill required fields: Check for red asterisks (required fields)
- Preview before publishing: See how page looks
- Use page types: They structure content consistently
- Clone similar pages: Start from templates, not scratch
- Keep slugs stable: Don't change published page slugs without planning
- Review validation errors: Read them carefully before publishing
- Check who edited: Version history shows who made changes when
- 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:
- Reload the page (Cmd+R / Ctrl+R)
- Content should still be there if auto-save had a chance to fire
- 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:
- Read the error message
- Find the field in the form
- Fill in the required value
- 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:
- Reload the page to see their latest version
- Check Version History to review what changed
- 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

