I want to start a discussion about the future UX of Host creation/edit form 
from facets perspective. 

Let's start with a bit more explanation of facets and how I see the future 
of host data model.
First of all I'll stat with the purpose of facets - they try to solve a 
couple of problems: the ability to mix and match different aspects in 
host's lifecycle - to get users the power to decide which parts of 
lifecycle should be managed for this host. For example, some hosts should 
be present in Foreman only as a book keeping record (nothing should be 
managed by the foreman), but some other hosts will manage only the 
provisioning part and for the third group of hosts the user wants to manage 
only the configuration. Facets also solve the plugability problem - each 
facet can belong to a different plugin, which will make foreman models more 
flexible in the future. Another problem that facets solve is choice of 
plugins with overlapping responsibilities. For example salt, chef and 
puppet are competing for the same configuration management space, and the 
user should be able to choose which one he wants to use, or even choose 
some of them, and manage part of hosts using one plugin, while managing 
other hosts using the other.
In my vision core foreman host is a bare book keeping record, while every 
"manageable" aspect of hosts resides in a dedicated facet.

All this introduction was about the model - the data part of the object.
Now, about the UI part. As I can see there are two main options:
1. Make the UI flexible - create enough extension points in the form/wizard 
so each facet will get the opportunity to be shown everywhere.
2. Reflect the different management aspects to the user in the UI - create 
a dedicated block for each facet, where it will get opportunity to show its 
own data.

Personally I incline to the second approach - for me it gets clearer for 
both developers and the user where to put and expect each type of data. 
Especially since I don't see too much overlapping between facets.

I would like to see more thoughts about the subject from both users and UX 
team.
I did an attempt to implement the second approach in our current UI in this 
PR <https://github.com/theforeman/foreman/pull/3229>, although before I 
merge it, I want to make sure that I am not widening the feature gap for 
host form redesign.

I will be more than happy to answer any questions, so feel free to ask me 
anything.

Shim, AKA the facets guy :)

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to