PluginCollapse » History » Version 11

Mischa The Evil, 2009-05-31 12:01
Corrected internal (anchor) links

1 1 Mischa The Evil
h1. Redmine Collapse plugin
2 1 Mischa The Evil
3 10 Mischa The Evil
{{>toc}}
4 1 Mischa The Evil
5 10 Mischa The Evil
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.
6 10 Mischa The Evil
7 10 Mischa The Evil
h2. Author
8 10 Mischa The Evil
9 10 Mischa The Evil
* Mischa The Evil
10 10 Mischa The Evil
11 10 Mischa The Evil
h2. History
12 10 Mischa The Evil
13 10 Mischa The Evil
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:
14 10 Mischa The Evil
* revision 1085: "Adding blindLeft and blindRight":http://forge.typo3.org/repositories/diff/team-forge?rev=1085
15 10 Mischa The Evil
* revision 1086: "Adding left menu collapser to SVN":http://forge.typo3.org/repositories/diff/team-forge?rev=1086
16 10 Mischa The Evil
* revision 1087: "Adding missing image":http://forge.typo3.org/repositories/diff/team-forge?rev=1087
17 10 Mischa The Evil
* revision 1088: "Fixing small JS error":http://forge.typo3.org/repositories/diff/team-forge?rev=1088
18 10 Mischa The Evil
19 10 Mischa The Evil
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.
20 10 Mischa The Evil
21 10 Mischa The Evil
h2. Changelog
22 10 Mischa The Evil
23 10 Mischa The Evil
For the complete changelog see the @CHANGELOG@-file in the Redmine Collapse plugin directory.
24 10 Mischa The Evil
25 10 Mischa The Evil
h2. Latest stable release
26 10 Mischa The Evil
27 10 Mischa The Evil
The currently available, latest stable release of the plugin is version *0.2.1*.
28 10 Mischa The Evil
29 1 Mischa The Evil
h2. Features
30 1 Mischa The Evil
31 10 Mischa The Evil
The following features are provided by the plugin:
32 1 Mischa The Evil
* Replaces the Redmine core's sidebar
33 10 Mischa The Evil
** The provided sidebar is made collapsible using JavaScript-helpers
34 10 Mischa The Evil
** The default sidebar-content is made available on the default "Actions"-tab
35 10 Mischa The Evil
* A first, optional tab named "Projects" provides (nested) project-links to projects for which the current user has a role
36 10 Mischa The Evil
** on Redmine 0.8.0 project-links are pointing to project overviews
37 10 Mischa The Evil
** on Redmine 0.8.1 and later project-links are pointing to the currently-watched menu-item in the selected project (if available)
38 1 Mischa The Evil
* Optionally, the core's project-selector drop-down menu can be hidden
39 10 Mischa The Evil
* A second, optional tab named "Menus" provides links to all global (cross-project) views and reports (respecting the current users roles and permissions)
40 10 Mischa The Evil
** optionally, the default project-menu (by default placed horizontally below the header) can be "moved" to the menus tab
41 10 Mischa The Evil
* 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)
42 10 Mischa The Evil
* 100% compatible with all the core-themes (@Default@, @Alternate@ & @Classic@) and the currently supported and registered community-themes (@Basecamp@ and @Squeejee@)
43 1 Mischa The Evil
44 10 Mischa The Evil
One note should be made: currently the plugin overrides the Redmine base-layout to implement the features as described.
45 10 Mischa The Evil
46 1 Mischa The Evil
h2. Screenshots
47 1 Mischa The Evil
48 10 Mischa The Evil
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.
49 1 Mischa The Evil
50 10 Mischa The Evil
|=. *Global view; Collapsed sidebar*                    |=. *Global view; Un-collapsed sidebar, Projects-tab*  |
51 10 Mischa The Evil
| !global_collapsed.jpg!                                | !global_un-collapsed_projects-tab.jpg!               |
52 10 Mischa The Evil
53 1 Mischa The Evil
|=. *Project view; Un-collapsed sidebar, Projects-tab*  |=. *Project view; Un-collapsed sidebar, Actions-tab*  |
54 1 Mischa The Evil
| !project_un-collapsed_projects-tab.jpg!               | !project_un-collapsed_actions-tab.jpg!               |
55 1 Mischa The Evil
56 10 Mischa The Evil
|=. *Settings view; Project-selector shown*             |=. *Settings view; Project-selector hidden*  |
57 10 Mischa The Evil
| !settings_project-selector-not-hidden.jpg!            | !settings_project-selector-hidden.jpg!      |
58 1 Mischa The Evil
59 1 Mischa The Evil
h2. Compatibility
60 1 Mischa The Evil
61 10 Mischa The Evil
The following compatibility information only applies to version @0.2.1@ of the Redmine Collapse Plugin.
62 1 Mischa The Evil
63 10 Mischa The Evil
h3. 0.2.1 Redmine Compatibility
64 1 Mischa The Evil
65 10 Mischa The Evil
This release 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:
66 1 Mischa The Evil
67 10 Mischa The Evil
|_. Redmine Branch: |_. Revision/Release: ||_. Tested: |_. Compatible: |_.Comments:                       |_. Supported: |
68 10 Mischa The Evil
|                   |                     ||           |               |                                  |              |
69 10 Mischa The Evil
|<._Trunk_          |@CURRENT@            ||Yes        |Yes            |                                  |Yes           |
70 10 Mischa The Evil
|<._0.8-stable_     |@CURRENT@            ||Yes        |Yes            |                                  |Yes           |
71 10 Mischa The Evil
|<._0.8-stable_     |@0.8.4@              ||Yes        |Yes            |                                  |Yes           |
72 10 Mischa The Evil
|<._0.8-stable_     |@0.8.3@              ||Yes        |Yes            |                                  |Yes           |
73 10 Mischa The Evil
|<._0.8-stable_     |@0.8.2@              ||Yes        |Yes            |                                  |Yes           |
74 10 Mischa The Evil
|<._0.8-stable_     |@0.8.1@              ||Yes        |Yes            |                                  |Yes           |
75 10 Mischa The Evil
|<._0.8-stable_     |@0.8.0@              ||Yes        |Yes            |                                  |Yes           |
76 10 Mischa The Evil
|<._0.7-stable_     |@0.7.x@              ||No         |No             |                                  |No            |
77 1 Mischa The Evil
78 10 Mischa The Evil
h3. 0.2.1 Browser Compatibility
79 10 Mischa The Evil
80 10 Mischa The Evil
This release of 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:
81 10 Mischa The Evil
82 10 Mischa The Evil
|_.Rendering Engine: |_.Browser:                      |_.Version:       ||_.Tested: |_.Compatible: |_.Comments: |_.Supported: |
83 10 Mischa The Evil
|                    |                                |                 ||          |              |            |             |
84 10 Mischa The Evil
|WebKit              |<._Google Chrome_               |@1.0.154.65@     ||Yes       |Yes           |            |Yes          |
85 10 Mischa The Evil
|WebKit              |<._Google Chrome_               |@2.0.172.28@     ||Yes       |Yes           |            |Yes          |
86 10 Mischa The Evil
|Gecko               |<._Mozilla Firefox_             |@3.0.10@         ||Yes       |Yes           |            |Yes          |
87 11 Mischa The Evil
|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/wiki/redmine/PluginCollapse#Workaround-for-Internet-Explorer-7 is required |
88 10 Mischa The Evil
|Trident             |<._Microsoft Internet Explorer_ |@8.0.6001.18702@ ||Yes       |Yes           |            |Yes          |
89 10 Mischa The Evil
|WebKit              |<._Apple Safari (Win32)_        |@3.2.3@          ||Yes       |Yes           |            |Yes          |
90 10 Mischa The Evil
|Presto              |<._Opera_                       |@9.64@           ||Yes       |Yes           |            |Yes          |
91 10 Mischa The Evil
92 10 Mischa The Evil
h2. Obtaining
93 10 Mischa The Evil
94 10 Mischa The Evil
The plugin can be downloaded as a packaged release from:
95 10 Mischa The Evil
* -this page; the archive is attached-
96 10 Mischa The Evil
* this MediaFire-mirror: http://www.mediafire.com/evildev
97 10 Mischa The Evil
* the upcoming website: http://www.evil-dev.net
98 10 Mischa The Evil
99 10 Mischa The Evil
h2. Installing
100 10 Mischa The Evil
101 11 Mischa The Evil
# Download the plugin from the available sources (see "Obtaining":http://www.redmine.org/wiki/redmine/PluginCollapse#Obtaining)
102 10 Mischa The Evil
# Install the plugin as described at: http://www.redmine.org/wiki/redmine/Plugins (this plugin does not require a plugin database migration)
103 10 Mischa The Evil
# Login to your Redmine as an Administrator
104 10 Mischa The Evil
# Initially configure the plugin settings
105 10 Mischa The Evil
106 1 Mischa The Evil
h2. Configuration
107 1 Mischa The Evil
108 10 Mischa The Evil
This plugin can be configured under Administration -> Plugins -> Redmine Collapse plugin -> Configure. It provides the following settings:
109 10 Mischa The Evil
* Show the projects tab (default: checked)
110 10 Mischa The Evil
* Hide the core project selector (default: unchecked)
111 10 Mischa The Evil
* Show the menus tab (default: unchecked)
112 10 Mischa The Evil
** Show the project menu in the menus tab (default: unchecked, only configurable when "Show the menus tab" is checked)
113 10 Mischa The Evil
* Sidebar position (default: Left, though functionality isn't implemented [yet])
114 1 Mischa The Evil
115 10 Mischa The Evil
h2. Upgrading
116 1 Mischa The Evil
117 11 Mischa The Evil
# Download the latest archive file from the available sources (see "Obtaining":http://www.redmine.org/wiki/redmine/PluginCollapse#Obtaining)
118 10 Mischa The Evil
# Backup the currently deployed collapse plugin (@mv /vendor/plugins/redmine_collapse /vendor/plugins/redmine_collapse-backup@)
119 10 Mischa The Evil
# Unzip the downloaded file to your Redmine into the plugin-directory _"../vendor/plugins"_
120 10 Mischa The Evil
# Restart your Redmine
121 1 Mischa The Evil
122 10 Mischa The Evil
h2. Uninstalling
123 1 Mischa The Evil
124 10 Mischa The Evil
# Remove the directory _"redmine_collapse"_ from the plugin-directory _"../vendor/plugins"_
125 10 Mischa The Evil
# Restart Redmine
126 1 Mischa The Evil
127 10 Mischa The Evil
Make sure that no plugin-assets remain available in _"../public/plugin_assets/redmine_collapse"_.
128 1 Mischa The Evil
129 10 Mischa The Evil
h2. Workaround for Internet Explorer 7
130 1 Mischa The Evil
131 10 Mischa The Evil
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"_;
132 10 Mischa The Evil
133 10 Mischa The Evil
from:
134 10 Mischa The Evil
135 10 Mischa The Evil
<pre>
136 10 Mischa The Evil
/***** Overloading Redmine Core layout-selectors *****/
137 10 Mischa The Evil
#main {
138 10 Mischa The Evil
    background-color: inherit; /* not in IE7 */
139 10 Mischa The Evil
    padding: 2px 0px 0px 14px;
140 10 Mischa The Evil
}
141 10 Mischa The Evil
</pre>
142 10 Mischa The Evil
143 10 Mischa The Evil
to:
144 10 Mischa The Evil
145 10 Mischa The Evil
<pre>
146 10 Mischa The Evil
/***** Overloading Redmine Core layout-selectors *****/
147 10 Mischa The Evil
#main {
148 10 Mischa The Evil
    background-color: #FFFFFF; /* hard-code white (#FFFFFF) for IE7 with either the Default- or the Classic-theme */
149 10 Mischa The Evil
    padding: 2px 0px 0px 14px;
150 10 Mischa The Evil
}</pre>
151 10 Mischa The Evil
152 10 Mischa The Evil
h2. Todos
153 10 Mischa The Evil
154 3 Mischa The Evil
Note that these can be a subject of change:
155 10 Mischa The Evil
* Make the position of the collapsible sidebar configurable (left ánd right)
156 10 Mischa The Evil
* Refactor the plugin to remove the requirement of overriding the base-layout
157 1 Mischa The Evil
158 7 Mischa The Evil
h2. Credits
159 7 Mischa The Evil
160 3 Mischa The Evil
Thanks goes out to the following people:
161 1 Mischa The Evil
162 10 Mischa The Evil
h3. Code-credits
163 10 Mischa The Evil
164 1 Mischa The Evil
* Eric Davis, Little Stream Software (http://www.littlestreamsoftware.com)
165 10 Mischa The Evil
** Provided skeleton for Redmine core patches (see _"../lib/collapse_application_helper_patch.rb"_)
166 10 Mischa The Evil
** Helped a lot making the overall plugin-source more Ruby-ish
167 1 Mischa The Evil
* Sebastian Kurfürst, Typo3 Development Team (http://www.typo3.org)
168 1 Mischa The Evil
** Author of the Redmine core hacks, to implement this feature for Typo3-Forge, used as a base for this plugin
169 1 Mischa The Evil
* Lalit Patel, (http://www.lalit.org)
170 1 Mischa The Evil
** Provided Javascript code to store data as JSON-strings in cookies (initially used by Sebastian)
171 1 Mischa The Evil
172 10 Mischa The Evil
h3. Translation-credits
173 1 Mischa The Evil
174 10 Mischa The Evil
* Czech (CS): Stanislav Pach (http://www.redmine.org/account/show/2564)
175 10 Mischa The Evil
* German (DE): Andreas Schnederle-Wagner (http://www.Futureweb.at)
176 10 Mischa The Evil
* Slovak (SK): Stanislav Pach (http://www.redmine.org/account/show/2564)
177 1 Mischa The Evil
178 10 Mischa The Evil
h2. Licensing
179 1 Mischa The Evil
180 10 Mischa The Evil
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). See the @COPYRIGHT.txt@ and @GPL.txt@ files for details.
181 10 Mischa The Evil
182 10 Mischa The Evil
* ©2009, Mischa The Evil (http://www.evil-dev.net)
183 10 Mischa The Evil
184 10 Mischa The Evil
h2. Support
185 10 Mischa The Evil
186 10 Mischa The Evil
If you need help, would like to report a bug or request a new feature you can contact the 
187 10 Mischa The Evil
author via mail (mischa_the_evil [AT] hotmail [DOT] com) or at his (upcoming) website: http://www.evil-dev.net.
188 10 Mischa The Evil
189 10 Mischa The Evil
As an alternative you can also join the @#redmine@-channel on the "freenode":http://freenode.net/irc_servers.shtml IRC network to see if the author is connected (with the nickname @Mischa_The_Evil@).
190 10 Mischa The Evil
191 10 Mischa The Evil
h2. Attached screenshots