ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Seperate core plugins and user plugins into different directories (Feature #298)


Added by Holger Just at 2011-03-19 07:44 pm. Updated at 2011-12-09 09:44 pm.


Status:Closed Start date:2011-03-19
Priority:Normal Due date:
Assignee:Eric Davis % Done:

0%

Category:Plugin API
Target version:2.6.0
Remote issue URL:http://www.redmine.org/issues/5306 Affected version:

Description

Currently, core-plugins and user plugins are interleaved in vendor/plugins That makes it a mess to upgrade the system, as the users have to check which plugins to copy over and which ones not.

A basic solution for that could be configuring something like this

1# config/environment.rb
2
3  # Insert vendor/chiliproject_plugins at the top of the plugin load paths
4  config.plugin_paths.insert(0, File.join(Rails.root, "vendor", "chiliproject_plugins"))

Associated revisions

Revision 13250b72
Added by Eric Davis at 2011-10-14 11:29 pm

[#298] Add vendor/chiliproject_plugins to the load path

Contributed by Holger Just

History

Updated by Eric Davis at 2011-03-19 07:49 pm

So would you propose putting all core plugins into vendor/core_plugins and "ChiliProject Plugins" into vendor/plugins?

vendor/plugins/
├── parallel_tests
├── chiliproject_foo
└── chiliproject_bar
vendor/core_plugins/
├── acts_as_activity_provider
├── acts_as_attachable
├── acts_as_customizable
├── acts_as_event
├── acts_as_list
├── acts_as_searchable
├── acts_as_tree
├── acts_as_versioned
├── acts_as_watchable
├── awesome_nested_set
├── classic_pagination
├── engines
├── gravatar
├── open_id_authentication
├── prepend_engine_views
├── rfpdf
└── ruby-net-ldap-0.0.4

Updated by Felix Schäfer at 2011-03-19 08:01 pm

Eric Davis wrote:

So would you propose putting all core plugins into vendor/core_plugins and "ChiliProject Plugins" into vendor/plugins?

vendor/plugins is a "standard" rails directory and I wouldn't want to change its meaning. Rather add a vendor/chiliproject_plugins or why not a chiliproject/plugins.

Updated by Aleksey Zapparov at 2011-03-19 08:59 pm

I agree with Felix, except I totally dislike idea of chiliproject/plugins. But I would like to propose vendor/chili_plugins as it's anyway clearly states which plugins are in the directory while name stay not so long :))

Updated by Eric Davis at 2011-03-21 11:21 pm

-1 on chiliproject/plugins. vendor is generally accepted to be third-party code so we should keep these in there.

Still not sure where in vendor core (Rails) plugins should live vs ChiliProject plugins (Engines) should be.

Updated by Eric Davis at 2011-10-14 09:27 pm

I'd like to revisit this issue now for something else I'm working on (metrics on app and core plugins).

I propose we keep vendor/plugins for Rails and core plugins and use vendor/chiliproject_plugins for 3rd party plugins (engines). I just tested it with a few of my plugins and it looks like engines picks up the directory correctly.

Also thinking we could include this into 2.x since it's 100% backwards compatible.

(Changed the patch, was using RAILS_ENV instead of RAILS_ROOT or Rails.root)

Updated by Holger Just at 2011-10-15 07:06 am

I noticed on our setup, that rake has some issues picking up tasks defined in plugins. This needs to be tested and fixed before a merge.

Also, just for the record, once we are on Rails3, plugins are going to be full Gems, installed by Bundler. What that means for Rake is still unclear to me...

Updated by Felix Schäfer at 2011-11-13 08:21 pm

Holger Just wrote:

that rake has some issues picking up tasks defined in plugins. This needs to be tested and fixed before a merge.

Any more info on this? Else I'd merge Pull request 108.

Updated by Eric Davis at 2011-12-09 09:44 pm

Merged into master. We'll need to start to encourage people to install plugins to vendor/chiliproject_plugins now.

  • Target version set to 2.6.0
  • Assignee changed from Holger Just to Eric Davis
  • Status changed from Open to Closed

Also available in: Atom PDF