Decide a convention change prototype

Table of Contents

Item Where
Prototype the prototype
Gemini review none
Group Conventions prototypes

1. Summary

This prototype argues how the second person decides a convention write. The change panel shows the old value beside the new one, because a request that shows only the new value cannot be decided. The queue never lists a request that the person raised, and a person who cannot decide sees only their own requests. A decline needs a comment. It answers to Decide a convention change.

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 queue. A list of requests with search, a filter on the kind of change, sort and a pager. The four kinds of change are a change to one document, a new document, a delete and a new set.
  2. The change. The reason, the change as a table of old and new terms, what it reaches, and the rule. A new set shows its name, purpose, description and documents.
  3. The decision. Approve, decline or hold, and a comment. A decline without a comment is refused under the field.
  4. The outcome. The state and what happened to the record.

2.2. How it is reached

It is not a workflow of the conventions. It is the Requests screen, because Requests is the one place for every kind of request. The record page of a document carries a Requests tab that lists the requests waiting on it and links here.

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, ?actor=j.ruiz|t.brandt|m.okafor|k.mori, ?request=r1|r2|r3|r4, ?decision=approve|decline|hold, ?comment.

2.5. What is fake

The four requests are fixtures. No approval kind exists for a convention and a request holds no pending change, so the change panel reads fixture data. Nothing applies an approved change.

2.6. Where the code lives

doc/prototypes/conventions/decide-a-convention-change/. 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 four kinds of change belong in one queue or in four. The Requests area is the one place for every kind of request, so the prototype draws one.

3. See also

Emacs 29.3 (Org mode 9.6.15)