Hello everyone, I am trying to fix a minor bug in the "Manage Software Channels" section, and I would like to know your opinion about the possible solutions.
Steps to reproduce the bug: - click on the "Channels" tab, - click on "Manage Software Channels", - click on any one of the available channels (the "Details" sub-tab gets opened), - click on the "Managers" sub-tab, - click on "delete software channel" Expected output: the "Managers" sub-tab stays selected Actual output: the "Details" sub-tab gets selected Basically the navigation bar will "remember" whatever sub-tab you had opened before "Managers" and will select it after you click on "delete software channel". Note that this does not happen in any of the other sub-tabs ("Details", "Patches", "Packages" and "Repositories"). As far as I understand that happens because NavTreeIndex tries to determine the current sub-tab in order to "select" it, and since none of the URLs match the current one it will pick the most recently used: // If we have a lastActive URL we // will add it to the end of the list of URLs to // use it as a last resort. if (lastActive != null) { … } This does not work for the "Managers" sub-tab because it is actually implemented in Perl, thus it has no visibility over Java session state variables and lastActive will remain untouched. So: - as far as I understand there is no standard mechanism to share session data between the Perl and Java stacks; - as far as I understand this is a general problem whenever Perl and Java pages need to share temporary state information; anyway I am not aware of other cases in which that is necessary; - the specific problem could be worked around by adding an extra query string parameter to the "delete software channel" link and having NavTreeIndex (or some other controller class) interpret it. Similar solutions could be implemented if analogous bugs are found; - the specific problem could also be resolved by porting the page form Perl to Java, even if it seems to be quite a lot of effort for this bug alone. What are your thoughts about this? Do you think that adding a parameter would be acceptable? Thanks in advance, Silvio _______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel