[Freeipa-devel] Optimizing for the common case: automount and DNS
Adam Young
ayoung at redhat.com
Thu Sep 9 19:03:37 UTC 2010
Both Automount and DNS are heirarchical entities.
DNS starts with a zone. Usually, a zone is a domain name, like
redhat.com. It might be more specific, like devel.redhat.com.
A DNS setup is going to have at a minimum one zone, and is likely to
only have a single zone.
A Zone is pretty much just a name, and then a collection of records.
The records are owned by the zone. THere will be very little or no
crossover between zones. Thus, I'm thinking that the most common thing
people are going to want to do is to manage the records for a single zone.
So the question becomes, one tab or two? If we go two, we have DNS
zones and DNS records, with an association facet on the zone that points
to the record. The difference that doesn't map to existing use cases is
that a given record is always associated with a zone, so creating a
records, and then later associating it with a zone does not make sense.
We could put a UI element like the finder on the associations page on
the record page. So to create a record, one of the steps you'd do would
be to run a zone search. This seems awkward.
I'm thinking instead that we should have a single DNS tab. If we have a
single zone, this tab defaults to the finder page for records for that
zone. Clicking add creates a new record form, with the zone hardcoded
already to be the default one.
In the case where there are more than one zone, the default facet is the
zone search. I suspect that this search should be automatically
executed with a blank filter upon load so that the set of zones is
available. Selecting a zone then goes to the finder page for the
records , again, with the search pre-executed, and the name of the zone
hyperlinked at the top.
This approach also works with automounts. The default case for
automounts is a single location. There are two entities beyond location
to manage: maps and keys. These two are hierarchical: location owns
map, map owns key.
For this entity, I think the default page should be the search page for
maps, with a search that specifies the default location. Each map entry
has a hyperlink to its keys page, again a search pre-executed.
Once multiple locations are defined, the default page for automount
should be the location search page, pre-executed.
Here is the criticisms I've thought of so far. It requires multiple
calls to the server to determine what to display. The second is that it
is more complicated, and will take somewhat more time to implement. The
user will not expect the content of a tab to change out from under them.
An alternative approach is that we can make DNS and Automount top level
tabs, with zone and records tabs under DNS, and locations, maps and keys
as tabs under Automount. Then, all we do is change which is the
default tab based on the above logic. That would make the top level tabs:
Identity DNS Automount Config
I'm not sure if this is a scalable approach, once we add entitlements,
sudo, hbac, hci, and so on.
More information about the Freeipa-devel
mailing list