As you already know, starting in version 15, SUSE Linux follows a modular approach. Apart from the base products, the packages are spread through a set of different modules that the user can enable if needed (basesystem module, desktop module, server module, devtools, you name it).
In this situation, you may want to install a package, but you do not which module contains such a package. As libzypp only knows the data of those packages included in your registered modules, you will have to do a manual search.
Fortunately, zypper introduced a new search-packages
command some time ago
that allows to find out where a given package is. And now it is time to bring
this feature to YaST.
For technical reasons, this online search feature cannot be implemented within the package manager, so it is available through one of its menus.
QUESTION 1: Should the package manager suggest to use the online search when a user cannot find a package? Or is it too intrusive?
Selecting the Search Online menu option takes the user to the Online Search YaST UI. It mimics the appearance of the package manager with a small search box, a table for the results, and a box for the details.
QUESTION 2: The layout is similar to the package manager. But, as the search options are quite limited, there is quite some space below the search box. Is it OK? Any suggestion?
QUESTION 3: The table does not reflect whether an addon is registered/selected. You only can see its status in the details box. Should we include a new column for addon status? Or could we use the package status column adding another indicator? Any better idea?
In this
video,
you can see how a user can use the module to search for a container-connect
package, registering the Containers
module and selecting the package for
installation. These are the steps:
- The user searches for the packages to install by introducing its name (or
part of it) and clicking
Search
. - The user selects the package for installation.
- If the package is included in a module that is not registered, YaST asks the
user whether it should register the module. Bear in mind that the module will
be registered when the user clicks
Next
. - The user can repeat 1-3 for any other package. Of course, if an addon was selected to be registered, YaST will not ask again.
- After selecting the wanted packages, the user clicks
Next
. - YaST registers the needed modules (including license agreements, regcodes, etc.).
- After finishing, it takes the user to the package manager with the packages selected for installation.
If the user decides to unselect a package, the corresponding module might not be needed anymore (the user has not selected any other package for installation of this module). In this case, the idea is to ask the user whether to keep the module as selected.
Finally, we would like to introduce a Summary
screen that should be displayed
when the user clicks Next
.
QUESTION 4: Does the workflow make sense?
During a meeting to discuss the current implementation, we got a proposal to use a
different approach. Instead of asking whether to register/enable after the user
selects a package, we could wait until the end and ask about
registering/enabling modules when the user clicks the Next
button.
QUESTION 5: Is this approach better?
- SMT/RMT are not supported.
- Not tested in openSUSE yet.
- Better handling of communication problems (network errors, timeouts, etc.).
Do not allow to search for the empty string ("") as it might cause getting the full list of packages.When YaST asks a user whether to register/enable a module, it should display its dependencies.- Inform when a user is going to need a regcode for a given module.