Ready for implementation
Magnolia should let me a list of pages by using a mouse, a keyboard and using a touch device. I mainly use such a list to filter and sort items by different criteria. It also lets me group entries by selected criteria.
I can select one or multiple pages and execute an action on them (such as deleting or publishing them). Some actions, however, are only applicable to a single, selected page, such as editing a page.
A page list view shows attributes of a page such as its name, its navigation and page title in a table layout and allows me to edit them directly inside the table.
Description of desired behavior
Magnolia offers to view a site using a list in the page list view.
Using the page list
Selecting an item shows additional page details in a preview view. Focusing on an item for a longer time also causes the page details to be shown. An important element of the preview view is a thumbnail image showing a small rendering of the page.
Show, hide and rearrange table columns
All columns except the "Page name" (contains the page URI) and the column containing the checkboxes can be visible or hidden. Additional columns not initially visible may be offered for display by the page list view.
Columns are shown in a configurable order, but the "Page name" and checkboxes column are exempt and remain fixed at their initial position.
When using the keyboard, the columns displayed can be selected by focusing the last column of the header row, opening the context menu and selecting the columns to be shown or hidden. The column order can't be rearranged by using the keyboard only.
Sorting the list
You can sort the list of items shown by the page list view by any of the currently visible columns except functional columns (e.g. columns containing checkboxes to select items). Selecting a column header sorts all entries by the corresponding attribute in ascending order. Selecting it again, reverses the sort order.
For entries found to be equal, the secondary sort criteria (if not already equal to the first one) is the "Page name", followed by the date of the last modification. Entries still equal will be displayed in an undefined order.
Grouping the list
Items can be grouped by the template used. In additional, for sites supporting it, items can also be grouped by locale, site and assigned tags. The list can also be reset to use no grouping at all, which is the default.
If grouping is applied to the page list, the grouping criteria itself is sorted in ascending order and assembles all matching items visually underneath it. The page list can still be sorted as is described in #Sorting the list, but grouping always acts before sorting (e.g. pages are first grouped by template, then sorted incrementally by last modification date).
Since an item may match several grouping values, it may actually show up more than once in a grouped page list (it has multiple item instances), but still only once per grouping value. If the user selects one instance of such an item, all instances of this item are simultaneously selected as well. Note that any view counting the number of currently selected items will always only count the number of items, not the number of item instances.
Filtering the list
The list can be filtered using basic or advanced search.
Show parent items
An option allows to show the parent items of every item in the list. This positions an item in the site structure in order to distinguish it from other, possibly equally named items and, in general, visualizes the page hierarchy.
The parent items are visualized using a sorted breadcrumb showing their page names/URIs from the root level down to the level of their connected item. Any entry in the breadcrumb can be clicked to replace the current list of pages with one containing all sub items of the clicked parent item.
If the breadcrumb becomes too long to fit into the cell it should display in, it is truncated to only show the parent items closer to the level of the connected item. Parent items higher up in the page hierarchy are then no longer shown.
Inline editing of page attributes
Some page attributes shown in the page list view may be edited directly within the view. Among these are the page name/URI, the page title and navigation title. To enter inline editing, select an item, then click or tap on the attribute you'd like to edit after a short delay (to avoid actually double-clicking it) or hit ENTER on the keyboard.
The attribute you clicked or tapped on will then become editable. When using the keyboard only, the first attribute of all editable attributes in the currently selected row or of the currently selected item becomes editable. You may select to skip to a different item by repeatedly hitting the tabulator key.
For a list of all commands defined, please see Usage summary#Inline editing in tree or list.
Showing errors or warnings
The page name is a mandatory attribute and only accepts a limited range of characters. If validation discovers that the input is wrong or missing, a validating message is shown.
For a description of how validation messages work, please refer to Showing validation messages in lists, trees and grids.
For commands defined, please see Usage summary#Browse list of pages.
Inline editing restricted to simple attributes
Note that inline editing will be restricted to work for simple attributes only. While e.g. changing a page template in the structure view was possible in previous versions of Magnolia, it won't be supported in version 5. Changing a page template can be a complex operation and may require you to enter values for required attributes, both of which is not viable using inline editing. Complex page attributes thus may only be changed by actually editing the page properties in a dialog or by opening the page for editing.
The list of editable page attributes contains:
- page name/URI: mandatory, must not be empty, only accepts characters valid in a URI
- page title: optional, if empty, page name is taken
- navigation title: optional, if empty, page name is taken
Not editable are the page template, status fields, the author name and any dates.