/additional_tags

Redmine Plugin for adding tags functionality to issues and wiki pages.

Primary LanguageRubyGNU General Public License v2.0GPL-2.0

Additional Tags - Tags for Redmine

Rate at redmine.org Run Linters Run Tests

Features

  • Tags for issues. To use them you need to:
    • Activate issue tags in the plugin configuration
    • and update your role permissions in the Redmine administration Roles & permissions / Issue tracking.
  • Tags for wiki pages. To use them you need to:
    • Activate wiki tags in the plugin configuration
    • and update your role permissions in the Redmine administration Roles & permissions / Wiki
  • Available role permissions for issue tags (section Issue tracking):
    • Add issue tags
    • Edit issue tags
    • Display issue tags
  • Available role permissions wiki tags (section Wiki):
    • Add wiki tags
  • Managing tags centrally in the plugin settings (edit, delete, merge)-
  • Grouped tags.
    • Grouping of tags possible, when using a colon in tag (all tags with same base name get the same color). Typo example: Plugin:HRM
  • Scoped tags:
    • Grouping of tags via Scoped tags possible, when using two colons in tag. Typo example: Product::Sprint 1
    • Only one tag of the same base name is allowed for an entity
    • Base name and tag value are displayed seperatly
  • Accented and non-latin characters supported for tag order
  • Color theme selection possible
  • Custom tags and tagging tables (additional_tags and additional_taggings). If another plugin used tags or tagging tables for issue or wiki tagging, tags will be migrated automatically there
  • Based on the very popular acts-as-taggable-on

screenshot

The screenshot shows: regular tags, grouped tags and scoped tags. The colors are assigned randomly. But you can change the color by choosing a Color theme in the plugin settings.

screenshot

Other plugins use additional_tags as framework in order to support tags for their entities. At the moment this are:

  • redmine_db (db entry tagging)
  • redmine_passwords (password tagging)
  • redmine_reporting (project tagging)
  • redmine_hrm (holiday tagging)
  • redmine_servicedesk (tagging of contact, canned responses, invoices, helpdesk issues)
  • redmine_wiki_guide (wiki page tagging)

Start using it, too. The example image shows the centralized tag management in the plugin configuration.

screenshot

Why another Tag plugin?

  1. Main reason: a stable tag solution for a current Redmine version is needed - NOW
  2. Other plugins are no longer maintained or not available on a public community plattform as github or gitlab
  3. Redmine (core) does not support tags. A feature request for issue tags exists since 2008, see #1448.
  4. Lots of plugins are using its own tag implementation (redmine_knowledgebase, redmine_contacts, redmine_products, redmine_passwords, redmine_db, ....). A common functional base was required. This plugin closes this gap. It would be great, if other plugins would use additional_tags for it.

Requirements

  • Redmine >= 5.0
  • Ruby >= 3.0
  • Redmine plugins: additionals

Installing

1. Get correct plugin version

To install stable version of additional_tags, use

cd $REDMINE_ROOT
git clone -b stable https://www.github.com/alphanodes/additionals.git plugins/additionals
git clone -b stable https://www.github.com/alphanodes/additional_tags.git plugins/additional_tags

It is also possible to use stable version as a gem package as an alternative. If you want it, add this to your $REDMINE_ROOT/Gemfile.local:

gem 'additional_tags'

At the moment, additionals should be installed before using gem method. In later versions addtionals plugins is usable as gem, too.

If you want to use the latest development version, use

cd $REDMINE_ROOT
git clone https://github.com/alphanodes/additionals.git plugins/additionals
git clone https://github.com/alphanodes/additional_tags.git plugins/additional_tags

2. Install dependencies and migrate database

bundle install
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

3. Restart your Redmine web server

Running tests

Make sure you have the latest database structure loaded to the test database:

bundle exec rake db:drop db:create db:migrate RAILS_ENV=test

Run the following command to start tests:

bundle exec rake redmine:plugins:test NAME=additional_tags RAILS_ENV=test

Migrate from other plugin

If you use redmine_tags or redmineup_tags you can migrate your tags. additional_tags uses its own database tables, to prevent conflicts with other plugins (e.g. redmine_knowledgebase, redmine_contacts, etc) To migrate your data to additional_tags use the following steps (order is important):

  1. Remove plugin directory of your old plugin, e.g plugin/redmine_tags
  2. Install additional_tags as is descript above (this automatically migrate data to new tables)

The old database tables are existing after these steps.

Uninstall

cd $REDMINE_ROOT
bundle exec rake redmine:plugins:migrate NAME=additional_tags VERSION=0 RAILS_ENV=production
rm -rf plugins/additional_tags

License

This plugin is licensed under the terms of GNU/GPL v2. See LICENSE for details.

Credits

The source code is a (almost) rewrite of

Special thanks to the original author and contributors for making this awesome hook for Redmine.