Skip to content

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

License

Notifications You must be signed in to change notification settings

alphanodes/additional_tags

Repository files navigation

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.1
  • 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

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 config set --local without 'development test'
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.

Redmine Copyright

The additional_tags is a plugin extension for Redmine Project Management Software, whose Copyright follows. Copyright (C) 2006- Jean-Philippe Lang

Redmine is a flexible project management web application written using Ruby on Rails framework. More details can be found in the doc directory or on the official website http://www.redmine.org

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Credits

Code

The source code is a (almost) rewrite of

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

Icons

Thanks to:

  • Font Awesome Free Icons (https://fontawesome.com/license/free) licenced under - Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License. Copyright (c) 2018- Fonticons, Inc.
  • Tabler Icons - Free and open source icons (https://tabler.io/icons) licensed under MIT License. Copyright (c) 2020- Paweł Kuna