However for me "merge-ins" are a set of properly packed models, views
and components already correctly placed in proper directories which
the end users just untar /unzip and upload directly in the /app folder
any decent ftp client will take care of putting stuff in proper
folders.

Merge-in is also a good name :)
The difference between your approach and mine is that in mine, we let
cake do the work of getting all the files out of the right directories.
if we "define" the right conventions (eg directories like
app/extensions/my_extension/models/some_model.php) cake can just read
out all the classes so they are available to the programmer.

The main benefit of my approach is that you can just swap extensions in
and out as you need them.  Also updating extensions becomes more
simple.  With your approach, this gets a little trickier (especially
when you want to remove an extension).  The difference its small, but
it's there, and this one of the cases where i think it's the right time
to let cake do the cumbersome work (in the same manner as it does for
app, vendor, and plugins)

If i didn't convince you by now,  i have another argument: svn
externals.  it only supports external directories, not files.  So this
creates some nice possibilities when working with extensions. (just
like you can have your cake libs or your plugins as externals)

> so your app would have a directory "extensions", just like it has
> plugins and vendors.
> and a directory you place in extensions would contain the normal layout
> (eg models,controllers, etc etc)

What would be advantages of this over giving more power to plugins?

I think plugins are good the way the are.
Although they may not be suited for the scenario that i described, they
have their use. plugins are -by design- little applications that you
deploy into other applications, but whose logic is seperated from the
main app.  Which is good, for the purpose of plugins.  loading all
classes of plugins by the main app would not only mean a (sometimes
drastic) decrease of the permance of your app, you would also include a
lot of classes that you don't need in your app (as plugins are meant to
be called by requestactions).
Plugins just aren't meant to have their sourcecode loaded by the main
app. the loadPlugin<xxx>() functions are for those seldom cases where
you want to grab a class from a plugin, but loading all sources from
the main app would be pretty useless.  plugins are meant to be
applications on their own.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to