I'm looking for a part-time remote job.

Hire me


I'm the author of:

Mastering Redmine is a comprehensive guide with tips, tricks and best practices, and an easy-to-learn structure.

Check the book's project or

Buy the book

Social pages of the book:

By buying this book you also donate to Redmine (see this page).


Follow me:

Project Sections plugin

The Project Sections plugin makes it possible to truly categorize your projects by, among other things, splitting them between sections. Sections also let you “describe” projects better as their names are prepended to project names (e.g., “Redmine › Project Sections”, where “Redmine” is a section). Additionally sections modify URLs to projects’ overview pages this way making them more descriptive and SEO-friendly (e.g., "/project/redmine/project-sections”).

The section hierarchy is built “on top” of the project hierarchy, i.e., you can select sections only for root top-level projects and all their subprojects are forced to share parent projects’ sections. Though section hierarchy can include root and leaf sections and a project can be “attached” to a leaf or to a parent section.

It’s also possible to define project, version and issue custom fields, which will be available only for projects, that belong to specified sections. For this, the plugin allows to select such sections in project, version and issue custom field edit forms.

Managing project sections

Project sections can be managed under the new “Project sections” menu item in Administration.

New item in Administration

Certainly only administrators can manage sections here.

The list of project sections includes the special virtual Unsectioned section, which just shows the number of projects, that do not belong to any section:

List of project sections

Here sections can be added and edited using the form:

New project section form

Like for projects the identifier of a section can be set only once.

Moving project to section

To be able to assign a section to a project one should have the “Select project section” permission (this permission is added by the plugin) or be an administrator. In either case this can be done in the main project form, which is available under the “Information” tab in project settings, or on the new project page:

Note, that a project can have either a parent project or a section, not both!

Enjoying sections

As soon as you add a project to a section project sections become available throughout the system.

Thus the project list, which can be found under the “Projects” link in the top menu, gets split into sections:

New list of projects

“Unsectioned” projects go first here, then projects of a parent section go and then subsections with their own projects.

Each section has its own page, which copies the look and feel of the main project list. To get to the section page you can click the section heading or select the section from the drop-down list.

Section pages are also available under the links in the main project heading, which now also includes sections of the project:

New project title

Sections also affect names of projects in drop down lists. For example, check the jump box:

New look of the jump box

Effect on URLs

Sections are used not only to categorize projects, but also to extend and make their names more precise. This also effects project URLs, which now contain sections as well.

Thus, if we had “SCM Creator” in the section “Redmine » Plugin”, the new full name of the project would be “Redmine » Plugin › SCM Creator” and the new URL could be, e.g.:

project/redmine/plugin/scm-creator

Note, that the first URL segment is the singular “project”, not the plural “projects”, which is used by the core Redmine.

This URL change, however, applies only to the main project URL, which points to the project overview page.

Recommendations

  • Choosing name of a section take into account, that:
    • This name is going to be prepended to the project name!
      Thus, “Redmine › SCM Creator” is fine, while “Redmine Plugins › SCM Creator” is, perhaps, too verbose.
    • This name should play nice with possible subsection and parent section names!
      For example, “Redmine » Theme › Red-Andy”.
    • This name is going to be used as a title for a project list.
      Here “Redmine Plugins” would work better, but you should consider all other usage cases as well.
  • Avoid having empty parent sections!
    Thus, if you have Redmine plugins and themes, consider putting ones of them into the parent section and have others, more specific ones, in a subsection. This way I have plugins in the “Redmine” section and themes in its “Theme” subsection.
  • Avoid too deep section hierarchy!
    Usually two levels are more than enough.
  • If you feel, that you want to add some common phrase to your project name, consider creating a section instead!
    Thus, instead of “Word-Andy theme for WordPress” consider creating “WordPress” and “Theme” sections to get “WordPress » Theme › Word-Andy”.

Install

To install this plugin do:

  • Copy project_section directory to #{RAILS_ROOT}/plugins
  • Install the awesome_nested_set gem (can be skipped, if you upgrade):
    • If you installed Redmine using bundle install ..., repeat that command in Redmine root directory, e.g.:
      • bundle install --without development test
    • Otherwise, install this gem using one of the following commands:
      • apt-get install ruby-awesome-nested-set (for Debian/Ubuntu)
      • gem install awesome_nested_set (for other systems)
  • Run: rake redmine:plugins:migrate RAILS_ENV=production
  • Restart Redmine

Themes support

This is an advanced topic.

For some themes it may be needed to fix display issues related to the Project Sections plugin. Instead of modifying the theme you can add such fixing CSS rules to the special CSS file named after the theme and located in the plugin's project_section/assets/stylesheets directory.

Thus, the plugin comes with CSS rules specific to the Red-Andy theme -- these rules can be found in the source:assets/stylesheets/red-andy.css file.

If you've modified some public theme for Redmine, please consider sharing your <theme>.css with me (using the Theme issue category), so I could include it into the next release of the plugin.

Administration.png View - New item in Administration (24.8 KB) Andriy Lesyuk, 18 Sep 2013 21:30

Project-section-list.png View - List of project sections (25.7 KB) Andriy Lesyuk, 18 Sep 2013 21:30

Project-section-form.png View - New project section form (25.3 KB) Andriy Lesyuk, 18 Sep 2013 21:30

Project-section-in-Settings.png View (15.8 KB) Andriy Lesyuk, 19 Sep 2013 13:54

Project-list.png View - New list of projects (98.7 KB) Andriy Lesyuk, 19 Sep 2013 14:27

Project-title.png View - New project title (10.5 KB) Andriy Lesyuk, 19 Sep 2013 14:27

Project-jump-box.png View - New look of the jump box (46.2 KB) Andriy Lesyuk, 19 Sep 2013 14:27

Terms of use | Privacy policy