Files
RenewCMS/docs/design/screens/schema-later.md
T

4.1 KiB
Raw Blame History

Schema: later

All states on this page are Later: relations, permissions and schema export and import are not built. Drawn now so the model and the layout are settled.

Visual reference: RenewCMS Screens Schema.dc.html, groups "Relations", "Permissions", "Export and import". Frames: SchemaFrame.dc.html mounted in AppFrame.dc.html (shell, sidebar, topbar, drawer). Every state is drawn in light and dark (theme switch) at 1440×900 (shown at 50%) and 390×844 (shown at 75%). Copy is exact. Strings in a Copy cell are separated by " · " and listed in reading order. Nothing is clock-sensitive.

7 Relation field and picker (group "7 Relations", 3 states)

Route: /schema/:key, /content/:key/:id. API: not built. Auth: Owner or admin (picker), any verified user (form).

All later. The model reads as two sentences, with a live preview of both sides. Three shapes: one to one, one to many, many to many.

# State Trigger Copy Scope
1 Relation in the builder A seventh type, Relation, in the type gallery. Relation · Related content type · How are they connected? · One to one · Each Event has one Venue, and each Venue has one Event. · One to many · Each Event has one Venue. A Venue has many Events. · Many to many · Each Event has many Venues, and each Venue has many Events. · Each Event has one Venue · Each Venue has many Events · shown on Venue as the field "Events" Later
2 Relation in the entry form Search and pick; chips for many. Venue · Speakers · Search to add · An event can have many speakers. Later
3 Relation in the list One chip, two chips and +N, or a dash. One chip for a single relation. Up to two chips and a "+N" for many. Empty shows a dash. Later

8 Permissions grid (group "8 Permissions", 2 states)

Route: /settings/permissions. API: not built. Auth: Owner or admin.

All later. Rows are types, columns are actions, one role at a time. Built-in rows are locked. Mobile collapses to one card per type with four checkboxes.

# State Trigger Copy Scope
1 Default: today's rules Role User selected. Everything on, as today. Permissions · What each role can do with each content type. · Today's rules are the starting point · Owners and admins edit the schema. Any verified user can read, add, edit and delete entries. · Owner · Admin · User · Read · Create · Update · Delete · Built-in types. RenewCMS sets these rules. · Schema (create, edit and delete content types): owners and admins only. Set by RenewCMS. · No changes · Discard · Save permissions Later
2 Changed, not saved Two types restricted for the User role. 4 changes not saved · Changed Later

9 Schema export and import (group "9 Export and import", 3 states)

Route: /schema (dialogs). API: not built. Auth: Owner or admin.

All later. Dev-to-production flow: export a file, import it elsewhere, preview, same compatibility review as group 3, explicit confirm.

# State Trigger Copy Scope
1 Export Export on /schema. Export schema · Download the fields of your content types as a file. Entries aren't included. · All content types · 3 content types · One content type · Choose which one · File name · renewcms-schema.json · Import this file on another RenewCMS site to create the same content types. · Cancel · Download file Later
2 Import preview A file was chosen. Import schema · renewcms-schema.json · 3 content types · Create 1, change 1, no change 1 · Recipes · New content type with 4 fields. · Events · Add 2 fields, remove Description. Events has 37 entries on this site. · Removes data · Press mentions · Same as on this site. · Existing entries are checked against the changes when you import. If any entry doesn't fit, nothing is imported. · Cancel · Import schema Later
3 Import refused The server answers schema_incompatible. Nothing was imported · Some entries on this site don't fit the imported fields. RenewCMS can't tell which entries. The flagged change can cause this. · Try again Later