Retire a convention prototype

Table of Contents

Item Where
Prototype the prototype
Gemini review none
Group Conventions prototypes

1. Summary

This prototype argues how a person deletes a convention document safely. The reach panel comes before the dialog, because the only thing that makes a delete safe is knowing what else reads the row. The panel says what it cannot read, and does not show an empty list as if it meant none. The delete is a proposal, so the document stays until a second person approves. It answers to Retire a convention.

It is throwaway. It reads no server, opens with no build and no session, and draws mock data. The page marks each place where the server does not provide what the screen needs. A toggle in the bar at the foot hides those notes.

2. Detail

2.1. The steps

  1. The document. The record page of one document with Delete drawn for a person who may write.
  2. What reads it. The conventions file, the sets that name the document, the report definitions bound to those sets, trades and runs. A tenant kind is marked as read by every party. Documents with the same terms are listed, so the person knows a run keeps those terms.
  3. The request. The request with its state: pending, approved, declined or withdrawn. A person can withdraw a pending request.
  4. The history. The versions of the document newest first, with the field difference and Revert on every version but the current one.

2.2. How it is reached

It is a line in the Workflows menu of one document's record page: Retire a convention. The record page offers no plain Delete, because the delete needs the reach panel and a second person. The owner may decide that Delete stays a button whose dialog carries the reach. The trail is Home › Reference data › Retire a convention.

2.3. The UX rules it follows

The screen follows Record screen standard, UX Language and UI design principles. It is one screen with a rail of steps. A list has a search, a sort, a pager that starts at 15 rows and states for loading, no records, no match and an error. A write that a second person must approve says Propose and not Save, and the dialog says that nothing changes until the other person approves. An action a person may not take is not drawn. The access mark says Editable or Read only, and no permission code appears on a screen. A reason is a choice from a list. A time is relative, with the exact time on hover. A key is monospace, and an empty value is a muted dash. Colour carries meaning only: green, amber and red are status, grey is inactive, and violet marks a classification. No native select is used. Every string is in English only; the product needs French and Portuguese before a screen ships.

2.4. States, by query string

?step=0..3, ?kind, ?key, ?outcome=waiting|approved|declined, ?dialog=1 opens the delete dialog, ?actor=m.okafor|k.mori.

2.5. What is fake

Only the curated AED swap is named by a set. The reach of runs is stated as not recorded, because no run stores the version it read. The approval changes nothing in the server, because no apply step exists for a convention. The history is a fixture: every document at version 2 or more shows the same version 2 entry, and the delete entry carries a fixed time. The Revert dialog proposes nothing and only closes.

2.6. Where the code lives

doc/prototypes/conventions/retire-a-convention/. The page is index.html with its own prototype.js. management.css and management.js are shared by copy with the other three management prototypes, and the inventory check keeps the copies identical. The icons are the Fluent paths of the application's own icon set.

2.7. Verdict

Open. The question for review is whether the reach step should sit before the record page or after it. The journey puts it after, so the person opens the document first.

3. See also

Emacs 29.3 (Org mode 9.6.15)