Now that trac is up and running, I went through all the open tickets and added my two cents to a fair number of them. One of them was ticket 11, regarding adding a javascript mechanism for selecting categories/locales.
You can see the result of my work at http://boston.openguides.org/?id=Home;action=edit , under the Locales and Category sections. My comment below provides a brief summary of the way that I did it.
#11: Edit page category/locale selection Comment:
Okay, so I've tossed something for this together on the Boston OpenGuides site.
* Created CGI::Wiki::Plugin:: Summariser, for generating metadata summary lists, http://crschmidt.net/projects/Summariser.pm * Added some code to wiki.cgi in edit_node():
{{{ my $summariser = CGI::Wiki::Plugin::Summariser->new; $wiki->register_plugin( plugin => $summariser ); my @categories = $summariser->metadata_list( type => 'Category' ); my @locales = $summariser->metadata_list( type => 'Locale' ); my %tt_vars = ( global_categories => @categories, global_locales => @locales, ... }}} * Added some code to edit_form.tt:
{{{ [% FOREACH category = global_categories %] <a href='#' onclick="javascript:d=document.getElementById('categories');d.value = d.value + '[% category %]\n'; return false;"> [% category %] </a> * [% END %] }}} and the same for locales.
It's not a *clean* solution by any means, but it works, and should get anyone else who's interested in attacking the problem a running start.