Re: plugin dependencies

Pascal Belloncle
Thu, 20 Sep 2007 05:26:33 -0000

I like the approach, a lot.  But (isn''t there always a but...),
isn''t
this going to be a problem for people using shared hosting, or people
that just can''t install gems?  Unless there is an easy way to locally
install gems...

Cheers,
Pascal
--
http://blog.nanorails.com



On Sep 19, 2007, at 5:28 PM, Eric Anderson wrote:

>
> Michael Koziarski wrote:
>> We''re definitely not going to go down the route of a massive
>> dependency system of our own.  Rubygems does this kind of thing
>> already, and perhaps we just need to go down the plugins-as-gems
>> approach.
>
> I just want to add my +1 to this comment. It seems like plugins are
> trying to solve all the same problems RubyGems is trying to solve. But
> plugins are just doing it badly while RubyGems is doing better (not
> perfect but much better).
>
> In my mind plugins should be deprecated and eventually removed.
> Having a
> "gem" route and a "plugin" route is just too confusing.
To me if I
> want
> to enhance Rails to have the functionality of acts_as_paranoid then I
> should just:
>
> 1. gem install acts_as_paranoid
> 2. Add "require acts_as_paranoid" in my environment.rb. If I care
> about
> binding it to a specific version of acts_as_paranoid I would
> instead put
> "require_gem ''acts_as_versioned'',
''0.3''"
>
> Then I''m done. This would remove a lot of code from Rails core
> making it
> simpler but it would give us the following benefits we don''t
> currently have:
>
> 1. Distribution - yes I know "./script/plugin install blah" but
it is
> crappy. Requires SVN to be laid out in a non-standard way, has a flaky
> way of finding the package so you pretty much always have to get
> the SVN
> URL and has problems with some repositories (SSL, etc). Gem is quick,
> simple and works.
>
> 2. Versioning - This ensures stability. The plugin route has
> nothing for
> this other than bringing it into your own repository and then
> having to
> use third party tools like piston to allow updates when desired.
>
> 3. Dependencies - Specifying a load order is just archane. Yes it
> works
> but as I user of acts_as_paraniod I shouldn''t have to care if it
has a
> dependency. When I install acts_as_paranoid it should tell rubygems
> its
> dependencies and all I have to do is say install with all
> dependencies.
>
> 4. Simplicity - No more spending hours tracking to load order
> dependency
> problems. Reduction of Rails core code.
>
> Eric
>
>
> >