Simple tagging for redmine. Features:
-
Tag cloud in the sidebar
-
Tag suggestion/autocomplete
-
Redmine search integration (search for #tag to find wikis/issues)
-
Filter issues on tags
-
Project summary
-
Mass assignment and detachment
-
Issue journal logging
Spaces or commas will act as a separator when editing tags
{{tagcloud}} will render a tag cloud. Most likely use would be in an wiki sidebar. The tagcloud will automatically be rendered in the issues list sidebar.
Installation is performed with:
$ script/plugin install git://github.com/friflaj/redmine_tagging.git $ bundle install
You need to set up database for acts-as-taggable-on:
1a) for Rails 2 (which Redmine currently uses):
$ env RAILS_ENV=production script/generate acts_as_taggable_on_migration
1b) for Rails 3:
$ rails generate acts_as_taggable_on:migration
2)
$ rake db:migrate RAILS_ENV=production $ rake db:migrate_plugins RAILS_ENV=production
See the README of acts-as-taggable-on for details.
I’ve added a switch so you can choose between in-line tag editing with {{tag(some tags here-or-there)}} or editing the tags in a separate edit field. After you’ve changed the setting in Administration -> Plugins -> Configure -> Tagging, run
$ rake redmine:tagging:reconfigure RAILS_ENV=production
to put tags in the body or remove them, depending on what you configured for your installation. Not doing so will cause data (tag) loss when moving from non-inline to inline.
Inline tagging using {{tag(bla bla)}} saves your tags when the body is rendered. A nasty side-effect of this is that if you want to remove all tags from an object, you must add {{tag}} to the body to actually clear the tags. After it’s been rendered once, you can remove it from the body.
If you’re getting “Mysql::Error: Specified key was too long; max key length is 1000 bytes: CREATE INDEX ‘index_taggings_on_taggable_id_and_taggable_type_and_context` ON `taggings` (`taggable_id`, `taggable_type`, `context`)”, that’s a known problem in mysql, triggered by acts-as-taggable-on. You can work around it by changing
add_index :taggings, :tag_id add_index :taggings, [:taggable_id, :taggable_type, :context]
into
add_index :taggings, :tag_id add_index :taggings, :taggable_id add_index :taggings, :taggable_type add_index :taggings, :context
in the migration of acts-as-taggable-on