wiki:SimpleMultiProjectPlugin

Version 36 (modified by akliewer99, 3 years ago) (diff)

--

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

was planned, now done:

#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
#10096
support permission handling
#10119
show project description as project box header on roadmap page
#10365
check 1.0 compatibility

seems it works, now testing:

#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

work in progress: No results

still just an idea:

#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)
#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:

project admin interface


Add project summary and description. This is displayed on the roadmap page then:

write project summary and description


Associate a milestone in a project:

STEPS TO GET TO THE NEW EDITIONS OF EITHER Milestone & Version PAGES:

  • From the "Roadmap" Page, find the desired milestone/version and click it
  • Scroll to bottom of page and "Edit" the page.

The "PLUGIN" edition of that page will be seen so you make assignments to a "Project". NOTE: You can NOT get to them through the "Admin" area'''

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


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:

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 [download:simplemultiprojectplugin 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
    
  5. 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

15523 by Cinc-th on 2016-04-30 22:18:21
SimpleMultiProjectPlugin: bumped version to V0.5.2dev.
15522 by Cinc-th on 2016-04-30 22:12:17
Release V0.5.1.

The following new features are available:

  • #12367:
    • associate projects and components using the components panel of Trac
  • #12702:
    • new plugin to add a column to the milestone table with version information if ExtendedVersionPlugin is installed and enabled
  • #12703:
    • allow hiding of completed milestones on milestone admin page
    • allow filtering of milestones by project on milestone admin page
  • #12704:
    • allow hiding of completed versions on version admin page
    • allow filtering of versions by project on version admin page

The following bugs were fixed:

  • #12568
    • UnicodeError: source returned bytes, but no encoding specified when using Genshi 0.7
  • #12628
    • IndexError: list index out of range
  • #12761

Some minor fixes not tracked by tickets were applied.

See log:simplemultiprojectplugin@15018:15521 for full changelog since V0.5.0.

Closes #12765

15521 by Cinc-th on 2016-04-30 21:58:37
SimpleMultiProjectPlugin: prepare release V0.5.1.
(more)

Author/Contributors

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

Attachments (8)

Download all attachments as: .zip