Reduce coupling between plugins and the "plugins/" directory
Today plugins are just directories in
<redmine root>/plugins/ directory. There are a few implicit assumptions in Redmine code that this is the case, which doesn't add much benefit I think. This reference is needed in the plugin discovery mechanism, but I can see obvious reasons why it may appear anywhere else.
It has at least one disadvantage: it prevents from easily distributing plugins as gems or via an other mechanism (which I think has a long list of advantages that I could enumerate an other day).
An other motivation is that removing this would lead to clearer code I think, we could remove some
File.xxx calls in favor of new, clear methods in
I'll try to work on that and link commit to this issue.
Updated by Toshi MARUYAMA over 10 years ago
Toshi MARUYAMA wrote:
The reason of moving "plugins" to "lib/plugins" is Rails3 prints deprecated warning.
Sorry, I posted unrelated matters.
I think Redmine plugin mechanism problem is how to deal assets.
Current Redmine disables asset pipeline.
Updated by Jean-Baptiste Barth over 10 years ago
Actually that's one problem in Redmine plugins, but I have a few dozen others I could talk about. Re-enabling the asset pipeline can be done today in a standard Redmine plugin but it's a bit hacky and rough around the edges (see this plugin for a proof-of-concept). I'll write about plugin concerns and some proposals in a blog post soon.
Updated by Toshi MARUYAMA about 8 years ago
Jean-Baptiste Barth wrote:
Actually that's one problem in Redmine plugins, ...
FYI, OpenProject (GPL3, Redmine fork) uses plugin gem.