Customizing with a plugin
The most advanced customization can be accomplished by writing a custom plugin. With a plugin, you can customize anything in Redmine. Of course, to write a full-featured plugin, you need to be familiar with Ruby, Rails, the Redmine API, JavaScript, HTML, CSS, the concept of web development, and so on. But who said that you need a full-featured plugin?
As you already know, the files of a plugin are kept in a separate directory that is named after the plugin and located under the plugins
directory of Redmine. So, when Redmine is upgraded, such files remain untouched. On the other side, many users put their customizations into the Redmine core files that are overridden on upgrades. So why not use a special plugin for this instead?
The Redmine plugin API is quite flexible. In particular, it allows you to:
Override any core view file without touching the original one
Add custom content to some views
Load additional CSS style sheets, JavaScript files, and so on
This makes it...