I think for plugins to work, they should target a specific app (a CMS
for example). Some may be more generic than others. I my specs I
required the app to provide db, auth and crud as minimal requirements.
If you use a db with another name, you can still use plugins but you
will have to do something like

db=your_db

On Oct 24, 2:20 pm, "mr.freeze" <nat...@freezable.com> wrote:
> > Why? I think you have in mind a special type of plugin. I have in mind
> > a more general one. What about a plugin that only contains a static
> > file, for example an image of a js library?
>
> I don't see any way from the video to use a plugin without modifying
> it, which makes it inherently unpluggable.  In the video you are using
> instances of db and crud in the comments pugin that may or may not
> exist for all users. If the plugin system was initialized with these
> then it would be generic for all plugins.
>
> On Oct 24, 1:05 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > On Oct 24, 12:34 pm, "mr.freeze" <nat...@freezable.com> wrote:
>
> > > Yes, that is another good example.  I think all of the problems with
> > > the sub-app approach are very solvable:
>
> > > 1) Portability and separation:
> > > There needs to be a Plugin class that is instantiated like Auth with
> > > database, globals, etc. It should be separated completely from LOAD.
> > > This will let the user determine which database the plugin system will
> > > use.
>
> > > plugin = Plugin(db,globals())
>
> > Why? I think you have in mind a special type of plugin. I have in mind
> > a more general one. What about a plugin that only contains a static
> > file, for example an image of a js library?
>
> > > 2) Order of execution:
> > > Plugins are not executed until they are called. Once a plugin is
> > > called, it's models are executed in the same order that web2py
> > > executes app models
>
> > Why limit to this case. If the models are to be executed ONLY when the
> > plugin is called, define the model on top of the controller. Mind that
> > by doing this you will not be able to access tables defined by the
> > plugin from appadmin.
>
> > > 3) Plugin URL when in subfolder:
> > > Plugins could be exposed in a similar fashion to Auth and Service
> > > through an app controller. There would be a controller function that
> > > serves plugins using request args. You could also call a load function
> > > explicitly to render a plugin in a view.
>
> > > def plugins:
> > >     return plugin()
> > > Plugin: appname/plugins/p3/controllers/default.py
> > > URL:http://localhost:8000/appname/default/plugins/p3/default/
> > > Or manually passing your own args
> > > {{=plugin.load("comments",f="index",ajax_trap=True)}}
>
> > > Basically, do it just like things are done in tools.py. Thoughts?
>
> > What you have in mind is not a plugin but a module, like gluon.tools
> > is a module. With my proposals you can have plugins that contain only
> > modules and they will work as you say. You will be able to create
> > plugins that work the way you say, I just do not believe all types of
> > plugins I have in mind fit in this scheme (layout plugins for
> > example).
>
> > Massimo
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to