Contents
SimpleMultiProjectPlugin
Description
Lets you easily manage multiple user projects with one Trac instance or, respectively, one Trac database (.db file).
- This is not a meta project in front of several other Trac projects, it just implements the idea of wiki:TracMultipleProjects/SingleEnvironment.
- Milestones and versions are assigned to their projects, and both are displayed on the roadmap. There are several possibilities to filter by projects on that page, and also the timeline.
- Components can be assigned to all or only certain projects.
- 'New Ticket' will just offer the associated milestones, versions and components of the chosen project. This requires a new custom-ticket field 'project'.
Still an experimental version, though actually already running stable in a real production environment; feedback much appreciated.
Note: The Multiple Project feature in the sense of having a meta Trac project on top of several Trac projects is discussed in T:#130 and scheduled for Trac topic-multiproject which is eventually part of Trac next-dev-1.1.x.
Plan
in testing state:
work in progress:
- #10084
- component selection depending on projects
still just an idea:
- #10087
- project-related roadmap filtering/grouping: project group boxes on|off
- #10089
- project-related timeline page filtering of wiki changes
- #10090
- user-defined field used to define the "project" (e.g. by using component)
- #10152
- Localization / translation support (L10N)
Technical thoughts
This plugin adds a new ressource 'project' implemented by database table:
- smp_project: a list of all defined projects
Actually, most database tables of Trac core related to ressources would need a new column 'project_id'. This way tickets, components, milestones, versions or even wikis could attach to certain projects. Since a plugin just adds stuff but cannot change the core structure, it implements the new dimension 'project' not by adding a new column to each ressource table but rather by adding several mapping tables smp_[ressource]_project, each one mapping a certain ressource to projects:
- smp_milestone_project: the association of milestones to projects
- smp_version_project: the association of versions to projects
- smp_component_project: the association of components to projects
Example
Admin Interface:
Add project summary and description. This is displayed on the roadmap page then:
Associate a milestone in a project:
- From the "Roadmap" Page, find the desired milestone/version and click it.
- Scroll to bottom of page and "Edit" the page. Select the project from the given combobox.
Traps:
- Mapping milestones and versions to a project is not supported via main menu item "Admin" -> "Ticket System" -> "Milestones" / "Versions".
- If you forget to map milestones and versions to a new project, and you try to create a new ticket, it will happen to you that after you have selected a project from its combobox the "New Ticket" form cannot offer any in the comboboxes of milestone and version.
Group milestones and versions on the roadmap by project, show project summary and description in the header of the project box, and display only projects chosen in the filter box:
display only tickets in the timeline of projects chosen in the filter box (adapted from TimelineComponentFilterPlugin):
Bugs/Feature Requests
Existing bugs and feature requests for SimpleMultiProjectPlugin are here.
If you have any issues, create a new ticket.
Download
Download the zipped source from here.
Source
You can check out SimpleMultiProjectPlugin from here using Subversion, or browse the source with Trac.
Installation
- Add a custom ticket field 'project' in your trac.ini to give tickets the information to which project they belong. Milestones selection depends on that as well.
[ticket-custom] project = text project.label = Project project.value =
- Generate the plugin .egg file from sources
python setup.py bdist_egg
- Copy the plugin to Trac, e.g.
cp dist/SimpleMultiProject-0.0.1-py2.6.egg /instance_trac/plugins/
- Restart Apache. After installation of this plugin Trac needs a database upgrade!
trac-admin /instance_trac/ upgrade
- Give permissions to certain users. Available permissions are:
- PROJECT_SETTINGS_VIEW - you can see the list of projects with their description and their component mapping on the Admin panel
- PROJECT_ADMIN - full access, you can also create and delete projects, and map to milestones, versions and components
Recent Changes
[13138] by falkb on 05/15/13 08:34:25
Fixed #10989: call render() instead of str() in extract_div_milestones_array() to avoid UnicodeEncodeError (Thanks to ykrocku for the patch and rjollos for reviewing)
[13125] by falkb on 05/14/13 13:13:21
Refs #11058: fixed some SQL statement string formatting, trial and error approach to get adding of tickets work again for the reporter of this ticket (big thanks to rjollos for his review!)
[13112] by falkb on 05/13/13 13:31:11
- now renaming of milestones and versions works via Admin panel
- now deleting and renaming of components works via Admin panel also
[13111] by falkb on 05/13/13 12:01:08
refs #10733: now deletion of milestones and versions works via Admin panel also (open issue: silent deletion of milestones which became ghosts already)
Author/Contributors
Author: crossroad, falkb, thomasd
Maintainer: falkb
Contributors:
Attachments
- project_admin.png (43.1 kB) -
Project admin Interfaz
, added by crossroad on 10/10/11 23:04:03. - edit_project.png (33.9 kB) -
Edit Project
, added by crossroad on 10/10/11 23:08:06. - edit_milestone.png (26.3 kB) -
Edit milestone
, added by crossroad on 10/10/11 23:11:57. - roadmap_projects.png (35.9 kB) -
Roadmap Projects
, added by crossroad on 10/10/11 23:17:02. - roadmap_projects_filter.png (54.7 kB) -
roadmap can display project summary+description; project filter displays milestones and versions of certain projects, only
, added by falkb on 06/22/12 22:33:06. - admin_projects_modify.png (30.4 kB) -
write project summary and description
, added by falkb on 06/22/12 22:35:06. - admin_project.png (31.4 kB) -
project admin interface
, added by falkb on 06/22/12 22:48:10. - timeline_projects_filter.png (35.5 kB) -
timeline filter demo
, added by falkb on 07/15/12 00:08:27.






