wiki:SimpleMultiProjectPlugin

Version 21 (modified by falkb, 2 years ago) (diff)

--

SimpleMultiProjectPlugin

Description

Lets you easily manage multiple projects with one instance of trac. This implements the idea of http://trac.edgewall.org/wiki/TracMultipleProjects/SingleEnvironment.

Experimental version.

You need to define an additional custom ticket field 'project' in your trac.ini, because on creating tickets the milestone combobox shows only milestones appropriately to the chosen project. Furthermore, you can have tickets of certain projects without milestone.

Plan

#10074
roadmap page filter for certain projects
#10075
new ticket page needs support for project selection
#10076
timeline page needs support for project filtering (for tickets)
#10085
version selection depending on projects
#10086
version as date on roadmap
#10087
project-related roadmap filtering/grouping: project group boxes on|off
#10088
project-related roadmap filtering/grouping: only milestones vs. only versions
#10089
project-related timeline page filtering of wiki changes
#10090
user-defined field used to define the "project" (e.g. by using component)
#10096
support permission handling
#10119
show project description as project box header on roadmap page
#10152
Localization / translation support (L10N)
#10365
check 1.0 compatibility
#11162
improve project selection widget
#11543
Per-project ticket.default_* settings

Technical thoughts

This plugin adds a new ressource 'project' implemented by database table:

  1. 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:

  1. smp_milestone_project: the association of milestones to projects
  2. smp_version_project: the association of versions to projects
  3. smp_component_project: the association of components to projects

Example

Admin Interface:

http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/project_admin.png


http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/edit_project.png


Associate a milestone in a project:

http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/edit_milestone.png


Group milestones in the roadmap, and display only projects chosen in the filter box:

http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/roadmap_projects_filter.png


display only tickets in the timeline of projects chosen in the filter box (adapted from TimelineComponentFilterPlugin):

http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/timeline_projects_filter.png

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

  1. 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 =
    
  2. Generate the plugin .egg file from sources
    python setup.py bdist_egg
    
  3. Copy the plugin to Trac, e.g.
    cp dist/SimpleMultiProject-0.0.1-py2.6.egg /instance_trac/plugins/
    
  4. Restart Apache. After installation of this plugin Trac needs a database upgrade!
    trac-admin /instance_trac/ upgrade
    

Recent Changes

[14001] by falkb on 2014-07-07 09:48:13
fixed #11748: hide projects instead of showing "no permissions" (patch has passed all my testing, Thyrador, thank you very much for the patch!)
[14000] by falkb on 2014-07-07 09:38:19
fixed #11854: attachments added to wiki pages are not shown with this plugin enabled (patch of Hauke Münting, thank you very much!)
[13786] by falkb on 2014-03-21 12:09:40
fixed #11639: unicode encode error in get_project_info() fixed, thanks to aaron315

Author/Contributors

Author: crossroad, falkb, thomasd
Maintainer: crossroad
Contributors:

Attachments (8)

Download all attachments as: .zip