Has to be revisited
Specified, but no longer a priority, has to be revisited in light of latest chgs.
Magnolia is easy to set up and configure through a special panel, from which I can access most static settings. I can see a small group of main topics, which in turn contain smaller setting units such as messaging or performance. Each setting unit uses one or several forms to set up one or several components associated with the unit.
I also have a favorites section at my disposal. I can mark setting units as favorites and then access them more easily and quickly through this section. In addition, I can also use a search box to search for a particular setting. Search works so well that I can find names used in a main topic, a setting unit or an individual setting - clicking on a result takes me to the corresponding form.
Description of desired behavior
The Setup panel
The Setup panel replaces the JCR browser to the "config" JCR workspace as the only means to configure Magnolia. It assembles settings, which are configured mainly during initial setup, for a migration or during maintenance. The overall nature of such settings is static and technical. By contrast, security settings and template definitions have panels of their own, which have to be changed more frequently and/or belong to the core competence of a CMS.
Settings are grouped into four setting topics:
- Content Authoring: definitions of processes and workflows, setup of content aggregators
- User Interface: overall configuration of AdminCentral, interface appearance and user experience
- Infrastructure: all technical aspects such as performance settings, messaging definitions and the chaining of instances
- Other: left for additional settings not clearly belonging to one of the above topics
Topics in turn contain setting units, which are comprised of a number of settings belonging together and configuring a single element, which may be a component or (Magnolia) module. Examples are "activation" for the definition of subscribers and their subscriptions, but also for providing a single switch to turn activation on or off, or "performance" for setting up the cache and its policy. A setting unit may then use any of the available forms such as the single-page complex form to further structure their settings.
Modules may add setting units and locate them under any of the available setting topics, but may not add any topics of their own. No mechanism exists for a module to add an individual setting to an existing setting group.
If a setting unit receives the focus, it highlights and a description explaining the purpose of the unit is shown. This is similar to how field descriptions are handled in a form - note however that in contrast to the latter, descriptions of setting units are not optional. In particular, they may not be replaced by a simple help page.
If problems exist in one of the settings units due to missing or inaccurate values, the setup panel may emit notifications to inform the user.
In particular, right after the initial setup stage of Magnolia, any missing values which should be filled in, such as the default base URL or mail settings, will cause a system warning message to be shown. This message may be acknowledged and ends up in the list of system messages.
To ensure that such warnings are not lost in the stream of messages, the tab of the settings & tools work area as well as the menu entry leading to the setup panel shall both show a message light and labels. This is equal to how personal messages are treated by AdminCentral's main menu.
A settings unit itself also shows the warning using visual indicators such as a warning icon and background colors. This, in turn, is similar to how the vertical tabs of a single-page complex form show validation messages.
A user thus sees there's an issue in settings & tools, clicks its tab, sees that there's a warning in the setup panel, selects it and then immediately realizes which of the settings units are affected. Actual warning or error messages on the subsequent forms are presented using the mechanisms for showing form validation messages.
Search for settings
A user may also use the search box to search for settings. A search is performed on all settings topics and units as well as all strings used in forms making up the units. Clicking on a result takes you to the corresponding match according to the following list:
- match is a settings topic: opens the setup panel, puts the focus on the first unit in the topic
- match is a settings unit: opens the setup panel, sets the focus on the unit
- match is a string in a form inside a unit: opens the setup panel, then opens the settings unit which shows the form, chooses the vertical tab where the string was found
The last matching is demanding in that strings in forms have to be properly mapped to the tabs and the settings unit showing them. Alternatively, matching a string inside a form could also just act like a match of a settings unit: the setup panel is opened and the focus is set on the unit showing the form containing the string that matched.
Advanced configuration using the JCR browser
Previously, configuring Magnolia was only possible by using a JCR browser to edit nodes directly. The goal of the Setup panel is to make setup and maintenance of Magnolia easier. For the panel, we pick out configuration topics, which are common during these two stages, and cover them with specific, tailored user interfaces to make them easier to handle. Both configuration options (browser and panel) will be supported in Magnolia 5, but the browser should become the choice for advanced configuration tasks only.
The menu item opening the Setup panel shall thus expose a sub item for opening the JCR browser. This will offer a user with the proper access right the familiar interface known from previous versions of Magnolia containing the two root nodes "server" and "modules".
Search for settings
The above mockup demonstrates a simple search implementation, which marks settings units even in the case a string inside their form matches. An advanced implementation would even open the form and switch to the tab containing the string.