This Redmine plugin allows you to show up your projects as a tree.
Initially, only the root projects are determined and displayed in projects overview. This can be helpful when Redmine hosts many projects including sub projects where the fetching and rendering takes a considerable amount of time.
If a root project has sub projects, then they can be lazy loaded via mouse click.
For this plugin a new REST resource /projects/:id/children
was introduced, which determines and delivers the available children of given project in JSON format:
{
"children": [
{
"id": 7,
"name": "MySubProject_01",
"identifier": "mysubproject_01",
"has_children": true
},
{
"id": 8,
"name": "MySubProject_02",
"identifier": "mysubproject_02",
"has_children": false
},
{
"id": 9,
"name": "MySubProject_03",
"identifier": "mysubproject_03",
"has_children": false
},
{
"id": 10,
"name": "MySubProject_04",
"identifier": "mysubproject_04",
"has_children": false
}
]
}
The response of this REST resource is used within AJAX call, to manipulate the DOM tree via jQuery.
The plugin is compatible with Redmine 3.2.X
Please apply general instructions for Redmine plugins here.
Following steps are required to install the plugin:
-
Clone this repository to your Redmine instance as
plugins/project_tree
:$ git clone https://github.com/UweHeber/redmine-project-tree-plugin plugins/project_tree
The name is important, because of the way the Redmine plugin system works.
-
Finally restart your Redmine instance.
This plugin is licensed under the MIT license. See LICENSE for details.
Special thanks go to Matthias for his feedback and support in finding an optimal approach to load sub-projects lazy and testing support.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request