On 01/16/2015 11:51 AM, Stephen Herr wrote:
Hey everyone,

I'm starting to work on migrating the clone errata page
(/network/software/channels/manage/errata/clone.pxt?cid=) from Perl to
Java. Instead of doing a straight port though I think I'm going to
change it a bit, which is why I'm writing.

The existing page generates a dropdown menu for each erratum in the
original channel with the following options: Merge with <existing
org-owned erratum> (default if it exists, repeated for each clone of the
original erratum that this org owns (there are potentially many of them,
not just one)), Clone as <new clone> (default if no clones already
exist), Do Nothing.

A dropdown menu is required if we are going to give the user the option
to merge to any of the potentially many clones of that erratum that her
org owns. However that also makes this page very awkward to use. There
is currently no way to, for example, change all the errata to Do Nothing
and then only clone the one or two that you care about, except by
clicking through every erratum in the list and changing its default
action. In many large channels that can be hundreds or thousands of
errata. I can't imaging that many people would be using this page for
that purpose. I also can't really see the point of having multiple
clones of the same errata in the same org. It seems to me that you would
only really need one, and then associate it with the channels in your
org that you want it to be associated with.

In other pages of this type
(/rhn/channels/manage/errata/AddCustomErrata.do,
/rhn/errata/manage/Channels.do) Spacewalk only gives you the option
create a clone of the original erratum if your org does not already own
one, or to associate your org's clone to the channel if it does.
/rhn/errata/manage/CloneErrata.do gives you the option to clone an
existing errata as unpublished errata, which is a little different.
Tooling like spacewalk-clone-by-date always reuses existing clones if
they exist. And of course the API allows you to do whatever you want, so
you could still create additional clones if you really wanted to.

What I'm planning on doing for the Java port of this page is to instead
have a list of errata with two or three radio buttons each: Merge with
<oldest existing org-owned clone> (if it exists), Clone as <new clone>,
and Do Nothing. There will also be buttons at the top of the list to
change the selection for all errata. I think that will make this page a
lot more useful and usable, but it removes the ability to choose which
of your potentially many org-owned clones you want to merge with.

If anyone has a problem with that or can think of a use-case where we
need to keep the old behavior I'd love to hear about it.

-Stephen

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Actually I think I'm going to amend the plan of action so that there is only one checkbox per row that allows you to choose which errata to clone. If an existing org-owned erratum exists then it will be reused, if not one will be created.

The allows the list to be much more standard and play better with the rl:list tag and the infrastructure around managing elaborated paginated lists and rhnSets and ajax-y updates to what is selected and what is not. I think it will lead to a better, more familiar, and more standard interface for the user, while still doing the thing that they really want.

Again, if anyone disagrees with this plan let me know.

-Stephen

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to