= Contributions to Trac plugins = The overall goal of my work is a multi-Trac and multi-SVN environment for the university I work at, the so called LISTrac. Below you find the description of this environment and the patches committed so far to existing plugins to enable this environment. == LISTrac == The central idea of LISTrac can be described in a few points by the requirements we put on our project management system: * Use Trac and SVN, with a Trac environment and a repository for each project * One authorization for all projects, no anonymous access (although possible with current project status) * Centralization of user information (name, e-mail-adress) * Fine grained authorization for Trac and SVN with consistent groups, controlled by project administrators * Beside this no further functionality for the project administrators (i.e., plugin management etc. by the system administrators) * Global groups, that are kept in sync with the project group files * Repository hooks, that in special can be opted by users * Use as much as possible from existing plugins * No significant invasive changes to the Trac core and the plugins. When changes necessary try to bring them to the mainline development Apparently those criteria conflict with the standard Trac setup, so that we current work on necessary steps, that are * Management scripts and plugin for global management (done) * Centralize management of groups and synchronization of them (done) * Evaluate how to keep session information and centralized user information in sync (current work in progress) * Extend hook system == !HtGroupEditorPlugin == The HtGroupEditorPlugin is a trac plugin to administrate the htgroups file. Some enhancements are necessary, so that the following contributions were made: * A patch to an existing bug, that an empty group file did create an error. Patch committed at ticket #6249 * A further minor bug is the wrong assumed key in the configuration for the AuthzPolicy plugin. Ticket created and patch committed at ticket #6658 * The first enhancement is the refinement of empty user lists. There was an empty string user always added to the list. From my point of view this is not necessary. Instead I created a patch to show a message when all users are in the group. Ticket created and patch comitted at ticket #6659 * The plugin is capable of modifying the page permissions for fine grained authorization. I added the support for TracSvnAuthzPlugin. Ticket created and patch comitted at ticket #6660 * The plugin does not support creation and deletion of groups. This may be forbidden in the GUI, but is necessary in my case. Thus I created a patch that introduces a configuration key: {{{ [htgroupeditor] allowgroupedit = enabled }}} With this enabled, a delete button and new group-fieldset appear in the plugin. Ticket created and patch comitted at ticket #6668 When you want to use all fixes and enhancement, there is one major patch file of them, that can be applied to the SVN head: LISTrac-htgroupeditor.patch [[ListTagged(wallento)]] [[TagIt(user)]]