the current plugin mechanism has a problem. There is no way to specify what should be executed before the other models and what after the other models. They are executed in alphabetical order as any other model. This problem needs a solution.
Executing all plugins before models is not a good solution because some plugins may need a model. Moreover some plugin may act on existing models. I do not have a solution to this problem. Plugins should assume a db (unless they define their own). You may not call it "db" but they should be able to reference it. Some plugins may need auth, crud or service (unless they define their own). Ideally plugins should expose their own configuration page (accessible only to admin) and should perhaps store configuration settings in a file. Massimo On Nov 7, 6:11 pm, Thadeus Burgess <thade...@thadeusb.com> wrote: > Love the module Mr Freeze. > > I have some same questions about how plug-ins would find out about certain > things in your app. > > Say I want to write a plugin_ratingsystem.py, how would I pass settings > along to the plug-in from my db.py? Since plug-in models get executed after > db.py. > > What about making it so any model plugin_<name>.py get executed first by > web2py, in alphabetical order of name. This way plug-ins can define classes > and be explicitly called for execution. > > I agree with Mr. Freeze. plug-ins should not assume db, auth, crud, etc... > etc... Perhaps plug-ins that use database should need to be explicitly > called > > plugin_comments.init(db=mydb, othersetting="hi") > > -Thadeus > > On Sat, Nov 7, 2009 at 4:59 PM, mr.freeze <nat...@freezable.com> wrote: > > > > I think plugins should assume db, auth, crud, mail, service. > > > Don't you do the same with your code? A plugin is nothing more than a > > > means to package and distribute your code. > > > I don't think code should ever assume anything. I used the instances > > since they are in the same model. If I were to make a module out of > > this it would take the instances as arguments. > > > > I think the plugin should assume db. I do not see a problem with > > > people editing the plugin anyway. > > > That could be a way to customize it. > > > Won't this make upgrading plugins a pain? You would have to go back > > through and edit every plugin that you modified before upgrade. > > > I'll probably just make a module since it will be more reusable. > > Thanks for checking it out. > > > On Nov 7, 4:47 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > On Nov 7, 4:06 pm, "mr.freeze" <nat...@freezable.com> wrote: > > > > > Hmmm...Interesting proposition. A couple of questions first: > > > > > 1) How will the plugin know what the instances of Auth,Crud,Mail and > > > > DAL are named? Are auth,crud,mail and db pretty much reserved words > > > > now? > > > > I think plugins should assume db, auth, crud, mail, service. > > > Don't you do the same with your code? A plugin is nothing more than a > > > means to package and distribute your code. > > > > > 2) How would I let the user decide which db to put the tables in if > > > > they have multiple? Do they have to edit the plugin? > > > > I think the plugin should assume db. I do not see a problem with > > > people editing the plugin anyway. > > > That could be a way to customize it. > > > > I do not exclude a more specialized plugin that assume more and/or > > > something different. > > > > > On Nov 7, 3:57 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > > > > I think this is nice. > > > > > > If you now call that files models/plugin_settings.py and if all > > tables > > > > > have a prefix plugin_settings_* > > > > > > then you can distribute it as a web2py.plugin.settings.py > > > > > > Massimo > > > > > > On Nov 7, 3:22 pm, "mr.freeze" <nat...@freezable.com> wrote: > > > > > > > I put this together to let non-developer admins manage settings > > > > > > through appadmin. It basically puts all settings that are string, > > > > > > int, double or boolean in the database. I would like feedback on > > the > > > > > > perils/merits of doing this. > > > > > > >http://www.web2pyslices.com/main/slices/take_slice/26 > > > > > > > Thanks! > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---