Redmine Collapse plugin

Collapse is a plugin for Redmine which transforms the default, static sidebar into a collapsible sidebar on the left side providing some additional tabs containing project- and menu-links.

Author

  • Mischa The Evil

History

The Redmine Collapse plugin is a Redmine plugin-port of the collapsible-sidebar implementation created by Sebastian Kurfürst for the Typo3-Forge. He has implemented the feature in the following revisions in the Redmine-fork they use:

This implementation depended on core-hacks and some custom Typo3 Redmine plugins. It also didn't do good to the Default, Alternate and Classic themes). This made the author decide to implement the feature within a seperate and independed Redmine plugin.

Changelog

For the complete changelog see the CHANGELOG-file in the Redmine Collapse plugin directory.

Latest stable release

The currently available, latest stable release of the plugin is version 0.2.2.

Features

The following features are provided by the plugin:
  • Replaces the Redmine core's sidebar
    • The provided sidebar is made collapsible using JavaScript-helpers
    • The default sidebar-content is made available on the default "Actions"-tab
  • A first, optional tab named "Projects" provides (nested) project-links to projects for which the current user has a role
    • on Redmine 0.8.0 project-links are pointing to project overviews
    • on Redmine 0.8.1 and later project-links are pointing to the currently-watched menu-item in the selected project (if available)
  • Optionally, the core's project-selector drop-down menu can be hidden
  • A second, optional tab named "Menus" provides links to all global (cross-project) views and reports (respecting the current users roles and permissions)
    • optionally, the default project-menu (by default placed horizontally below the header) can be "moved" to the menus tab
  • Used strings can be centrally translated to every language (currently only Czech, Dutch, English, German and Slovak are translated, for others English stubs are provided)
  • 100% compatible with all the core-themes (Default, Alternate & Classic) and the currently supported and registered community-themes (Basecamp and Squeejee)

One note should be made: currently the plugin overrides the Redmine base-layout to implement the features as described.

Screenshots

Note: the following screenshots are taken from version 0.1.0 of the plugin. They do not reflect the complete feature-set of the latest available release (0.2.2) yet.

Global view; Collapsed sidebar Global view; Un-collapsed sidebar, Projects-tab
Global view; Collapsed sidebar Global view; Un-collapsed sidebar, Projects-tab
Project view; Un-collapsed sidebar, Projects-tab Project view; Un-collapsed sidebar, Actions-tab
Project view; Un-collapsed sidebar, Projects-tab Project view; Un-collapsed sidebar, Actions-tab
Settings view; Project-selector shown Settings view; Project-selector hidden
Settings view; Project-selector shown Settings view; Project-selector hidden

Compatibility

The following compatibility information only applies to versions 0.2.x of the Redmine Collapse Plugin.

0.2.x Redmine Compatibility

0.2.x releases of the plugin requires at least Redmine 0.8.0 and are compatible with the Redmine trunk and the 0.8-stable branch as visible in the following table:

Redmine Branch: Revision/Release: Tested: Compatible: Comments: Supported:
Trunk CURRENT Yes Yes Yes
0.8-stable CURRENT Yes Yes Yes
0.8-stable 0.8.4 Yes Yes Yes
0.8-stable 0.8.3 Yes Yes Yes
0.8-stable 0.8.2 Yes Yes Yes
0.8-stable 0.8.1 Yes Yes Yes
0.8-stable 0.8.0 Yes Yes Yes
0.7-stable 0.7.x No No No

0.2.x Browser Compatibility

0.2.x releases of the plugin are (for about 99%) compatible with the major browser-engines. Though some tiny differences may occur between different browsers. Some known issues are listed in the following table:

Rendering Engine: Browser: Version: Tested: Compatible: Comments: Supported:
WebKit Google Chrome 2.0.172.30 Yes Yes Yes
Gecko Mozilla Firefox 3.0.10 Yes Yes Yes
Trident Microsoft Internet Explorer 7.x Yes No IE7 misses full-support for the inherit-value (which is defined by CSS 2.1) Yes, but workaround is required
Trident Microsoft Internet Explorer 8.0.6001.18702 Yes Yes Yes
WebKit Apple Safari (Win32) 3.2.3 Yes Yes Yes
Presto Opera 9.64 Yes Yes Yes

Obtaining

The plugin can be downloaded as a packaged release from:

Installing

  1. Download the plugin from the available sources (see Obtaining)
  2. Install the plugin as described at: http://www.redmine.org/wiki/redmine/Plugins (this plugin does not require a plugin database migration)
  3. Login to your Redmine as an Administrator
  4. Initially configure the plugin settings

Configuration

This plugin can be configured under Administration -> Plugins -> Redmine Collapse plugin -> Configure. It provides the following settings:
  • Show the projects tab (default: checked)
  • Hide the core project selector (default: unchecked)
  • Show the menus tab (default: unchecked)
    • Show the project menu in the menus tab (default: unchecked, only configurable when "Show the menus tab" is checked)
  • Sidebar position (default: Left, though functionality isn't implemented [yet])

Upgrading

  1. Download the latest archive file from the available sources (see Obtaining)
  2. Backup the currently deployed collapse plugin (mv /vendor/plugins/redmine_collapse /vendor/plugins/redmine_collapse-backup)
  3. Unzip the downloaded file to your Redmine into the plugin-directory "../vendor/plugins"
  4. Restart your Redmine

Uninstalling

  1. Remove the directory "redmine_collapse" from the plugin-directory "../vendor/plugins"
  2. Restart Redmine

Make sure that no plugin-assets remain available in "../public/plugin_assets/redmine_collapse".

Workaround for Internet Explorer 7

Due to the fact that Microsoft Internet Explorer 7 doesn't fully support the inherit-value (which is defined by CSS 2.1), a manual modification of a CSS-declaration is required when either using the Default or the Classic theme (or every other theme which sets an incorrect background-color on #main). You need to hard-code the wanted enumeration of the inherit-value by changing the following snippet in "../assets/stylesheets/collapse.css";

from:

/***** Overloading Redmine Core layout-selectors *****/
#main {
    background-color: inherit; /* not in IE7 */
    padding: 2px 0px 0px 14px;
}

to:

/***** Overloading Redmine Core layout-selectors *****/
#main {
    background-color: #FFFFFF; /* hard-code white (#FFFFFF) for IE7 with either the Default- or the Classic-theme */
    padding: 2px 0px 0px 14px;
}

Todos

Note that these can be a subject of change:
  • Make the position of the collapsible sidebar configurable (left ánd right)
  • Refactor the plugin to remove the requirement of overriding the base-layout

Credits

Thanks goes out to the following people:

Code-credits

  • Eric Davis, Little Stream Software (http://www.littlestreamsoftware.com)
    • Provided skeleton for Redmine core patches (see "../lib/collapse_application_helper_patch.rb")
    • Helped a lot making the overall plugin-source more Ruby-ish
  • Sebastian Kurfürst, Typo3 Development Team (http://www.typo3.org)
    • Author of the Redmine core hacks, to implement this feature for Typo3-Forge, used as a base for this plugin
  • Lalit Patel, (http://www.lalit.org)
    • Provided Javascript code to store data as JSON-strings in cookies (initially used by Sebastian)

Translation-credits

Licensing

This plugin is open-source and licensed under the GNU General Public License v2 (GPL). See the COPYRIGHT.txt and GPL.txt files for details.

Support

If you need help, would like to report a bug or request a new feature you can contact the
author via mail (mischa_the_evil [AT] hotmail [DOT] com) or at his (upcoming) website: http://www.evil-dev.net.

As an alternative you can also join the #redmine-channel on the freenode IRC network to see if the author is connected (with the nickname Mischa_The_Evil).

Attached screenshots

settings_project-selector-hidden.jpg - Settings view; Project-selector hidden (15.1 KB) Mischa The Evil, 2009-01-09 05:29

global_collapsed.jpg - Global view; Collapsed sidebar (14 KB) Mischa The Evil, 2009-01-09 05:29

global_un-collapsed_projects-tab.jpg - Global view; Un-collapsed sidebar, Projects-tab (14.7 KB) Mischa The Evil, 2009-01-09 05:29

project_un-collapsed_projects-tab.jpg - Project view; Un-collapsed sidebar, Projects-tab (15.5 KB) Mischa The Evil, 2009-01-09 05:29

project_un-collapsed_actions-tab.jpg - Project view; Un-collapsed sidebar, Actions-tab (15.7 KB) Mischa The Evil, 2009-01-09 05:29

settings_project-selector-not-hidden.jpg - Settings view; Project-selector shown (14.1 KB) Mischa The Evil, 2009-01-09 05:29