PluginCollapse » History » Version 10

Version 9 (Mischa The Evil, 2009-03-22 05:14) → Version 10/14 (Mischa The Evil, 2009-05-31 11:58)

h1. Redmine Collapse plugin

{{>toc}}

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

h2. Author

* Mischa The Evil

h2. History

The Redmine Collapse plugin is a Redmine plugin-port of the collapsible-sidebar implementation created by Sebastian Kurfürst for the "Typo3-Forge":http://forge.typo3.org. He has implemented the feature in the following revisions in the Redmine-fork they use:
* revision 1085: "Adding blindLeft and blindRight":http://forge.typo3.org/repositories/diff/team-forge?rev=1085
* revision 1086: "Adding left menu collapser to SVN":http://forge.typo3.org/repositories/diff/team-forge?rev=1086
* revision 1087: "Adding missing image":http://forge.typo3.org/repositories/diff/team-forge?rev=1087
* revision 1088: "Fixing small JS error":http://forge.typo3.org/repositories/diff/team-forge?rev=1088

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.

h2. Changelog

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

h2. Latest stable release

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

h2.
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 Actions-tab
* A first, ** An optional tab named "Projects" Projects-tab provides (nested) project-links to of projects for which the current user has a role 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 views 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 All 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
used strings can be centrally translated to every language (currently only Czech, Dutch, English, German English and Slovak Dutch 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.

h2. 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.1@) yet.

|=. *Global view; Collapsed sidebar* |=. *Global view; Un-collapsed sidebar, Projects-tab* |
| !global_collapsed.jpg! | !global_un-collapsed_projects-tab.jpg! |

|=. *Project view; Un-collapsed sidebar, Projects-tab* |=. *Project view; Un-collapsed sidebar, Actions-tab* |
| !project_un-collapsed_projects-tab.jpg! | !project_un-collapsed_actions-tab.jpg! |

|=. *Settings view; Project-selector shown* |=. *Settings view; Project-selector hidden* |
| !settings_project-selector-not-hidden.jpg! | !settings_project-selector-hidden.jpg! |

h2. Compatibility

The following compatibility information only applies to version @0.2.1@ of the Redmine Collapse Plugin.

h3. 0.2.1 Redmine Compatibility

This release plugin requires at least Redmine 0.8.0 and is compatible with the Redmine trunk and the 0.8-stable branch as visible in the following table: 0.8-Stable branch.

|_. Redmine Branch: |_. Revision/Release: ||_. Tested: |_. Compatible: |_.Comments: |_. Supported: | version|_. Compatible?|
| | || | | | | |@trunk < r2304@|Yes|
|<._Trunk_ |@CURRENT@ ||Yes |Yes | |Yes | |@trunk &gt; r2304@|No|
|<._0.8-stable_ |@CURRENT@ ||Yes |Yes | |Yes | |@0.8.1@|Probably, but yet to be tested|
|<._0.8-stable_ |@0.8.4@ ||Yes |Yes | |Yes | |@0.8.0@|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.7.x@|No|

h3. 0.2.1 Browser Compatibility h2. Installation

This release of 1. Obtain the plugin is (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_ |@1.0.154.65@ ||Yes |Yes | |Yes |
|WebKit |<._Google Chrome_ |@2.0.172.28@ ||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":http://www.redmine.org/projects/redmine/wiki/PluginCollapse#Workaround-for-Internet-Explorer-7 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 |

h2. Obtaining

The plugin can be downloaded as a packaged release from:
* -this page;
downloading the latest archive is attached-
*
file attached to this MediaFire-mirror: http://www.mediafire.com/evildev
*
page or from the upcoming website: http://www.evil-dev.net

h2. Installing

# Download the plugin from the available sources (see "Obtaining":http://www.redmine.org/projects/redmine/wiki/PluginCollapse#Obtaining)
website http://www.evil-dev.net.
# 2. Install the plugin as described at: http://www.redmine.org/wiki/redmine/Plugins (this &quot;here&quot;:http://www.redmine.org/wiki/redmine/Plugins#Installing-a-plugin. _This plugin does not doesn&#x27;t require a plugin database migration) migration_.
# 3. Login to your Redmine as an Administrator
# Initially configure the plugin settings


h2. Configuration

This plugin can be configured under Administration -> Plugins -> Redmine Collapse plugin -> Configure. It provides the following implemented settings:
* Show the projects tab (default: checked) yes)
* 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])
no)

h2. Upgrading Upgrade

# 1. Download the latest archive file attached to this page or from the available sources (see "Obtaining":http://www.redmine.org/projects/redmine/wiki/PluginCollapse#Obtaining) upcoming website http://www.evil-dev.net.
# Backup the currently deployed collapse plugin (@mv /vendor/plugins/redmine_collapse /vendor/plugins/redmine_collapse-backup@)
#
2. Unzip the downloaded file to your Redmine into the plugin-directory _"../vendor/plugins"_ vendor/plugins directory
# 3. Restart your Redmine

h2. Uninstalling Uninstall

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

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

h2. Workaround for Internet Explorer 7 Todo

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:

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

to:

<pre>
/***** 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;
}</pre>

h2. Todos

Note that these can be a subject of change:
* Make the position of the collapsible sidebar configurable (left ánd and right)
* Refactor Add a new tab which could provide a neat location for global-report links
* Try to make
the plugin upwards compatible with Redmine @trunk &gt; r2304@ while maintaining backwards compatibility with the @0.8-stable branch@
* Add a new configurable tab
to remove hold the requirement of overriding project-menu items (thanks to Eric Davis for the base-layout idea)

h2. Credits

Thanks goes out to the following people:

h3. Code-credits

* Eric Davis, Little Stream Software (http://www.littlestreamsoftware.com)
** Provided skeleton for Redmine core patches (see _"../lib/collapse_application_helper_patch.rb"_) _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)

h3. Translation-credits

* Czech (CS): Stanislav Pach (http://www.redmine.org/account/show/2564)
* German (DE): Andreas Schnederle-Wagner (http://www.Futureweb.at)
* Slovak (SK): Stanislav Pach (http://www.redmine.org/account/show/2564)

h2. Licensing License

This plugin is open-source and licensed under the "GNU General Public License v2":http://www.gnu.org/licenses/old-licenses/gpl-2.0.html (GPL). GNU GPL v2. See the @COPYRIGHT.txt@ LICENSE.txt and @GPL.txt@ files GPL.txt for details.

* ©2009, Mischa The Evil (http://www.evil-dev.net)

h2. Support Project help

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

As an alternative you can also
upcoming &quot;website&quot;:http://www.evil-dev.net. Or, join the @#redmine@-channel on the "freenode":http://freenode.net/irc_servers.shtml IRC network to and see if the author maintainer is connected (with the nickname @Mischa_The_Evil@).

h2. Attached screenshots