[[PageOutline(2-5,Contents,pullout)]] = 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. == Future Ideas == [[TicketQuery(component=SimpleMultiProjectPlugin&keywords=~planned)]] == 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: 2. smp_milestone_project: the association of milestones to projects 3. smp_version_project: the association of versions to projects 4. smp_component_project: the association of components to projects == Example == '''''Admin Interface''''': [[BR]] [[Image(http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/project_admin.png?format=raw,center)]] ---- [[Image(http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/edit_project.png?format=raw,center)]] ---- '''''Associate a milestone in a project''''': [[BR]] [[Image(http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/edit_milestone.png?format=raw,center)]] ---- '''''Group milestones in the roadmap, and display only projects chosen in the filter box''''': [[BR]] [[Image(http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/roadmap_projects_filter.png?format=raw,center)]] ---- '''''display only tickets in the timeline of projects chosen in the filter box (adapted from TimelineComponentFilterPlugin)''''': [[BR]] [[Image(http://trac-hacks.org/attachment/wiki/SimpleMultiProjectPlugin/timeline_projects_filter.png?format=raw,center)]] == Bugs/Feature Requests == Existing bugs and feature requests for SimpleMultiProjectPlugin are [report:9?COMPONENT=SimpleMultiProjectPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=SimpleMultiProjectPlugin&owner=crossroad new ticket]. == Download == Download the zipped source from [download:simplemultiprojectplugin here]. == Source == You can check out SimpleMultiProjectPlugin from [http://trac-hacks.org/svn/simplemultiprojectplugin here] using Subversion, or [source:simplemultiprojectplugin 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 == [[ChangeLog(simplemultiprojectplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:crossroad], [wiki:falkb], [wiki:thomasd] [[BR]] '''Maintainer:''' [wiki:crossroad] [[BR]] '''Contributors:'''