3. The Hub & Spoke model
One of the notable differences between Anaconda and most other operating system installers is its non-linear nature, also known as the hub and spoke model.
The hub and spoke model of Anaconda has several advantages, including:
users are not forced to go through the screens in some strictly defined order
users are not forced to visit every screen no matter if they understand what the options configured in it mean or not
it is good for the transactional mode where all desired values can be set while nothing is actually happening to the underlying machine until a special button is clicked
it provides way to show an overview of the configured values
it has a great support for extensibility, because additional spokes can be put on hubs without need to reorder anything and resolve some complex ordering dependencies
it can be used for both graphical and text mode of the installer
The diagram below shows the installer layout as well as possible interactions between hubs and spokes (screens):
In the diagram, screens 2-13 are called normal spokes, and screens 1 and 14 are standalone spokes. Standalone spokes are a type of screen which is a type of screen that should be used only in case it has to be visited before (or after) the following (or previous) standalone spoke or hub. This may be, for example, the Welcome screen at the beginning of the installation which prompts you to choose your language for the rest of the installation.
Screens mentioned in the rest of this section are screens from the installer's graphical interface (GUI).
Central points of the hub and spoke model are hubs. There are two hubs by default:
The Installation Summary hub which shows a summary of configured options before the installation begins
The Configuration and Progress hub which appears after you click Begin Installation in Installation Summary, and which displays the progress of the installation process and allows you to configure additional options (set the root password and create a user account).
Each spoke has several predefined properties which are reflected on the hub. These are:
ready - states whether the spoke can be visited or not; for example, when the installer is configuring a package source, that spoke is not ready, is colored gray, and cannot be accessed until configuration is complete
completed - marks the spoke as completed (all required values are set) or not
mandatory - determines whether the spoke must be visited and confirmed by the user before continuing the installation; for example, the Installation Destination spoke must always be visited, even if you want to use automatic disk partitioning
status - provides a short summary of values configured within the spoke (displayed under the spoke name in the hub)
To make the user interface clearer, spokes are grouped together into categories. For example, the Localization category groups together spokes for keyboard layout selection, language support and time zone settings.