eZ Publish: Admin Interface, Requirements, 4.3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Author: ar $ $Revision: 24757 $ $Date: 2010-01-29 13:29:47 +0100 (Fri, 29 Jan 2010) $ :Status: Draft .. contents:: ======= Preface ======= Current admin design, both in its styling and in its UI has been increasingly subject to criticism for being outdated, slow, impossible to extend cleanly, unintuitive and a lack of a central place to get a overview of all the task a user (both editor and admin) needs to look after. Overall there is a need to update the admin interface to adhere more closely to how web applications have evolved with the improved usability, simplified interfaces, ajaxified features and clean designs that users are becoming used to in the web 2.0 era. For the out dated part, this comes down to over styled design compared to other admin interfaces. Both in overwhelming the user with options to click, to much screen real-estate wasted on styling and a out dated styling. For slowness, this is first and foremost number of clicks and page refreshes you have to go true to accomplish some key tasks. Identified key tasks are: * Class attribute moving + adding + removing * Adding policies to roles * Finding relations on object relation and object relation list object attributes * Browsing for nodes during actions like: move to, copy to, relations, assign role and add node / sub tree function limitations to policies Extendability is defined as possibility for extensions to extend the admin interface without having to override template files, as it then would be impossible for several extensions to extend the same parts. Making the interface more intuitive involves improving usability and removing / moving / hiding features that users does not need during the operation they are performing. Identified tasks: * Hide right menu by default * Customize media tab to for better media asset managment * Reduce page space used by node boxes (preview, details,...) to easier browse sub items and actions on sub items pane. A overview of user task need a dashboard, where she can follow here own content, approval and other tasks she might do on a regular basis. Community preface ----------------- Some members in our community has written some articles on what they would like to see changed in the Admin interface, here are some of them: http://www.stuffandcontent.com/2009/10/ez-publish-admin-interface-overhaul.html http://pwet.fr/blog/some_thougths_about_the_admin_interface_refresh_of_ez_publish A note on browser compatibility ------------------------------- We follow the YUI A-Grade Browser Support Chart, meaning we fully support all major browsers. However, we all (developers and their managers) know how painfully it can be to support Internet Explorer 6(IE6). Therefore we will only choose to support IE6 on a functional level. Meaning all functions should work as expected in it, but we will not strive to remain pixel perfect at the esthetic level. In addition we might decide to degrade gracefully and not enable key JavaScript / Ajax enhancements if it requires additional coding or workaround to support IE6. For CSS this will mean we'll take advantage of CSS 2 features that has been around for 11 years and have been implemented in all other A-Grade browsers. ======== Features ======== In prioritized order for 4.3: #1 New admin interface style ---------------------------- Should: Look more modern and up to date Should: Reclaim screen real estate for content area Should: Not require any new kernel features or changes Should: Continue being flexible width design Should: Not make any changes to the layout / wire frame except for other features of this document Should: Be less over designed and have better text contrast (black on white) Should: Add for attribute on all form labels so they work as intended (WAI) Could: Make admin style more accessible for modern mobile devices Could: Color code / style buttons depending on what they do: delete / get / store Could: Use CSS sprites for small image buttons, icons and logos to reduce download amount and size for admin graphic #1.1 New possibility to hide the right menu, and hide it by default ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Should: Not involve any page refresh to (show /) hide it. Should: Move logout link to header so it is always accessible. Could: Make the code for layout change general so it can be reused by size selector on left menu, as well as the hide / show buttons on right menu and left menu items. #1.2 Change how Media library is displayed ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Should: Improve media library so it is more media specific and make it easier and faster to browse for media files #1.3 Reduce scrolling on large pages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Could: Have store/discard buttons on top of content & class edit forms as well as bottom or using a fixed position bar that always stays on screen. Could: Move "create here" input to top box instead of bottom Could: Move upper buttons (Preview, details,..) + related blocks to a tabbed, minimize able block beneath top block. (similar for class/view boxes) #1.4 Optimize speed of admin interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Should: Sync pagelayout structure with ezwebin and enable cache-block's This should also make it easier to override sections of pagelayout like webin 1.4+ #1.5 Only show options that user has access to ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Should: Allow Tabs to specify policy to check for access in menu.ini Should: Allow Links in Leftmenu_* to specify policy to check for access in menu.ini #1.6 Only options that are relevant for the current context ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Should: Show create here classes only defined placed in class group that relates to structure part (Content class in Content tab, Media classes in Media tab ....) #2 New dashboard as login page ------------------------------ Should: Be the default login page in admin interface Should: Provide box for last published content Should: Provide box for last modified content by current user Should: Provide a box for own object drafts (stored drafts) Should: Provide short links to user specific task like changing password Should: Provide a box for your pending content for approval Should: Be extend able so extensions can add /override blocks Should: Hide right menu to use full screen area Could: Provide a box for highest/lowest rated content (ezstarrating) Could: Provide a box for comment approval (ezjscomment) #3 New Ajax features for relation object and list content attributes -------------------------------------------------------------------- Should: Add a inline Ajax search interface to find possible relations Could: Be able to remove relations without page refresh Could: Be able to reorder relations without page refresh (list) Could: Provide drag and drop features to relations for reordering(list) #4 New Ajax features for adding policies to roles ------------------------------------------------- Should: Be able to select module and function without any page refresh #5 New Ajax functionality for class edit interface -------------------------------------------------- Should: Be able to move attributes without page refresh Should: Set focus on added attribute after page refresh OR Should: Be able to add attribute without page refresh Could: Be able to remove attribute without page refresh Could: Allow using drag and drop to move attributes #6 Add Ajax feature to re order sub items using drag and drop ------------------------------------------------------------- Could: Merge drag and drop feature from ezwt extension #7 Enhance the eZ Publish Content Class Model for richer edit ui ---------------------------------------------------------------- Should: Add translatable description text per class for use as help text for editors (ie serialized_description_list) Should: Add translatable description text per class attribute for use as help text for editors Should: Add translatable (long)text attribute on class attributes for use as translatable default string on string/text and as options on selection datatype (ie serialized_data_text) Should: Add class attribute category / type to be able to group specific attributes together (types should be extendable) Could: Allow category / type setting to specify if they should be displayed in node view or not Wishful:Add class inheritance to be able to extend other classes that have a set of common attributes and overload the ones that differ (and/or add additional ones). #8 [Not planned] Provide context sensitive help system ------------------------------------------------------ Should: Have a visible help link in header at all times opening a new tab. Should: Send module + view as parameters to help view so specific help information on for instance content/edit can be shown when clicked during editing. Should: Support extensions so they can provide context sensitive help as well. Could: Be organized so that you'll have general information on the module and specific help pr view. Could: Host the help content online, so it is always up to date, and centralized. Thus modules (incl. extensions) only need to provide a url to help pags. If so, there should be guidelines on requirements for these help pages and project.ez.no could provide such a interface for projects. Also there should be possible to disable external help by setting if it is hosted externally, maybe provide a white list of domains you allow to link to for help. #9 [Not planned] New Ajax interface for browsing node(s) -------------------------------------------------------- Could: Use when selection node / sub tree limitations on role policies Could: Use when selecting target for move to operation Could: Use when selecting target for copy to operation Could: Use when selecting relation while browsing for new relations Could: Use when assigning role with and without sub tree limitation