User:Daniel Kinzler (WMDE)/Wikibase/TermBox

User stories for the Wikibase "term box". This is a "if I was king" style brain dump.


 * when viewing an entity, I see a term box with rows of labels, descriptions, and aliases in my preferred languages, if they are defined for that item.
 * open: how are my preferred languages determined?
 * open: should all fallbacks/variants of my preferred languages be included?
 * open: what should I see if no terms (labels, descriptions, or aliases) are defined for any of my preferred languages?
 * entries are sorted by preference. The current UI language is always on top.
 * at the top of the box, there is a "hide" or "collapse" button.
 * when I click "hide", the term box is replaced by a button labeled "show labels, descriptions, and aliases"
 * when clicking "show labels", the term box is again shown with my preferred languages.
 * at the bottom of the term box, there is a button labeled "show all n languages"
 * open: how should the languages be sorted? Shall we use the same ordering algorithm as we do for language links in the sidebar on the client? Shall preferred languages remain at the top?
 * when I click the "show all" button, all languages for which a term is defined are shown in the term box.
 * the "show all" button is replaced by a "show only my preferred languages" button
 * when I click "show only preferred", the term box returns to only showing my preferred languages, as described above.
 * at the top right of the term box, there is an "edit" button
 * when "edit" is clicked, input fields for labels, descriptions, and aliases are show for each row.
 * the language associated with a row cannot be changed.
 * in edit mode, I see an "add language" button, near the bottom of the term box, on the right side.
 * when I click "add language", I get a fresh row with input boxes for a language, label, description, and aliases.
 * All fields except the language are initially disabled.
 * I select a language from the language selector
 * the fields for label, description, and aliases get enabled after selecting a language
 * if there were already terms defined for that language, they get loaded into the input fields
 * if the terms for the language I selected are already shown on the page, that row of the term box stays unchanged until the input is saved.
 * the "add language" button stays visible and can be used to add more fresh rows
 * in edit mode, I see a "save" button at the bottom of the term box, towards the right side.
 * "save" is enabled if any changes were made
 * rows with no language selected are ignored
 * rows with a language but no terms remove all terms for that language, if there were any
 * if there are multiple rows for a language, the lowest one replaces all earlier ones.
 * open: show new rows be re-sorted after saving, or stay in the order they were added?