#pragma page-filename DEV/versions/7962631 = Global Requirements = Consistency in user interfaces lets users make less errors and they feel more secure in what they do. <
> {{{ In theory all clients should conform to the following requirements.<
> In practice mileage depends on what the client technology gives.}}} == Interface Architecture == Mailman makes a huge amount of configuration options available on its interfaces. MM3 will make orientation in easier: * Main menu options will be ordered by usage frequency * The interface will be task-oriented * The homepage will list the most frequent tasks (and will show a statistic graph to give the owner a quick overview of the systems health state). * Navigation will be completely reorganized (see Navigation principles below). === Navigation Principles === The following rules, ordered by priority, should apply: 1. Separate options by their effect or purpose e.g. "configuration", "statistics" or "pending requests". 1. Group similiar options e.g. "filter" subsumes filtering options for senders, recipients, content, headers, etc. 1. Combine all simliar options in one page 1. Within a page show only the most used options and hide the less used ones 1. Unhide the less used ones upon user request === First Login Wizzard === When an owner logs in for the first time - after list creation - a wizard is offered. The wizzard takes the user on a quick tour across all configuration options that usually are consulted after list creation. The goal is to give the owner an overview of the most important configuration options and their current settings as well as a chance to set basic list behaviour without having to search and click through endless configuration pages. == Accessibility == If a client technology provides means to make the interface more accessible, they should be followed. == Design Patterns == Operating systems have design patterns that describe how things should look and how standard processes should work. If we develop a client for a system that provides such a catalog we should follow it. Users will honour the consistency, feel at home and will make less errors. == Information Architecture == === Navigation Structure === ==== Role: Admin (owner) ==== See a commented [[../administrator navigation structure|administrator navigation structure]]. {{{ maintenance requests options General Subscription Rules Language Non-Digest/Digest Filter Sender Recipient Spam Message Topics Bounces Archive Gateways Auto-Responder Plugins subscriptions subscribe remove statistics System List User plugins plugin 1 configuration options plugin 2 }}} ==== Role: Moderator ==== See a commented [[../moderator navigation structure|moderator navigation structure]]. {{{ requests statistics     System     List     User plugins     plugin 1         configuration options     plugin 2 }}} ==== Role: Subscriber ==== See a commented [[../subscriber navigation structure|subscriber navigation structure]]. {{{ options general topics plugins subscriptions     subscribe     remove     modify statistics     List }}} === messages and notifications === We should provide a set of MM3 specific help messages and notifications. Any client should use these, so users get a consistent experience - no matter which client. === Permitted actions === ==== Role: Anonymous ==== * account * create * list * subscribe * archive * read * admin * contact ==== Role: User ==== * login * logout * account * modify * list * subscribe * unsubscribe * modify personal settings * archive * read * admin * contact ==== Role: Moderator ==== * login * logout * requests * modify ==== Role: Admin (owner) ==== * login * logout * account * modify * list * create * modify * delete * moderator * create * modify * delete * user * create * modify * delete * member * subscribe * unsubscribe * requests * modify ---- * [[DEV/Pro - Con ACL in different Layers (WebUI)|Pro - Con ACL in different Layers (WebUI)]] * [[DEV/administrator navigation structure|administrator navigation structure]] * [[DEV/moderator navigation structure|moderator navigation structure]] * [[DEV/subscriber navigation structure|subscriber navigation structure]] ---- <>