Simple Multi Project plugin for managing several projects with one Trac instance.
Project description
Simple Multi Project Plugin
SimpleMultiProjectPlugin lets you easily manage multiple user projects with one Trac instance. This is not a meta project in front of several other Trac projects. It implements the idea of a SingleEnvironment.
Key features
- Milestones, versions and components can be assigned to all or certain projects
- Milestones and versions are displayed on the Roadmap page and can be grouped by project
- On the roadmap page and timeline page it is possible to apply filters to show only projects that meet certain criteria.
- New Ticket will just offer the associated milestones, versions and components of the chosen project. This requires a new custom-ticket field project.
- Restrict access to certain milestones, versions and tickets by defining members or non-members of a project.
Integration with other plugins
MultiProjectBacklogPlugin integrates with this plugin allowing you to maintain project specific backlogs in your agile process.
Source
You can check out SimpleMultiProjectPlugin from here using Subversion, or browse the source with Trac.
Download the zipped source from the Homepage or Pypi.
Installation
Note: The plugin doesn't use Genshi for Trac 1.4+.
-
Add a custom ticket field 'project' to your trac.ini file to give tickets the information to which project they belong. Milestones selection depends on that as well.
[ticket-custom] project = select project.label = Project project.value =
-
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 panelPROJECT_ADMIN
- full admin access, you can also create and delete projects, and map to milestones, versions and components
-
Add the new policy
SmpPermissionPolicy
to the front of your permission policy provider list to enable project permission checks for users.[trac] permission_policies = SmpPermissionPolicy, ... any other ...
Configuration
The plugin comes with sane default values, but if you have specific requirements you may change some configuration options using the Trac admin web interface.
Set project permissions for users
A new permission system is implemented by a new permission policy SmpPermissionPolicy
and additional request filtering. The latter is necessary because TracFineGrainedPermissions are limited to some resources, notably excluding versions and components.
For permission checking and proper filtering the permission policy plugin must be activated and configured in trac.ini:
[trac]
permission_policies = SmpPermissionPolicy, ... any other ...
Make sure the new policy is the first in the list of available policies.
You may mark a project as restricted on the project admin page which has the following effects.
-
Tickets linked with a restricted project can't be accessed by users without permissions.
This works for individual ticket pages, ticket queries, the timeline page and everywhere else a ticket is shown.
-
Milestones belonging to restricted projects can't be accessed without permissions.
This affects ticket queries, the roadmap and timeline pages and individual ticket pages.
-
Components and versions of restricted projects are not available for queries or when creating/modifying ticket pages.
Projects without restrictions and their linked resources can be accessed by any user. Normal Trac permission settings apply.
Project permissions are assigned using the Trac permission admin panel. Each project has a unique ID which is not changing over the lifetime of a project, even if you change the project name.
To give a user access to a project you have to give the permission PROJECT_<id>_MEMBER
where <id>
is the unique project id. For finer control over individual resources the normal Trac permissions are available.
This means a project permission is a coarse filter to only prevent global project resources access. You can't have individual fine grained resource access for different projects (like TICKET_VIEW
) because normal Trac permissions are defined for all projects. Use TracFineGrainedPermissions if you need such control.
Authors
Christopher Paredes, falkb, Cinc-th, Ryan J Ollos
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for TracSimpleMultiProject-0.7.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59863d2bc027d6701e95f18b183aeca9fa1c993f9970a93692af38b18d36ff99 |
|
MD5 | 756327e15d2139a4e939ff8cd8b7df24 |
|
BLAKE2b-256 | d5e4321cdd2d487e27b632e0f060ed42db9096586ab4073a385ce634c9a3d11d |
Hashes for TracSimpleMultiProject-0.7.4-py2.7.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e66add8b99a5a558b2331ff27d72b5ffc1439a0e26f37248f845e353dc6429e |
|
MD5 | 077e080a618ff2e3ef7d2be3bdb35735 |
|
BLAKE2b-256 | 8b948ecc03405a38403fae066821a81719464504f9d6511c4974630e1bd93af0 |
Hashes for TracSimpleMultiProject-0.7.4-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bac159d74b5c26ff8d74a0ec5031558cfc02791ee50fda654404d90bdece5bd |
|
MD5 | 26d836cbba760c5ef0add8bb6577c6e3 |
|
BLAKE2b-256 | d7fbd49821ea0917a43e775fa0475d7b5fb9ba6bce153d50616580777453bc9a |