It seems to me this would move us completely in the wrong direction. It would create a lot of structure one would need to remember. It creates a new programming paradigm where for plugin models/view/ controllers are no longer separated in files but stored together in the same file.
I like the idea of a web2py online conference. I could actually organize one in Chicago at no cost (except for flight, lodging and food) but would be people be available to fly here? Online may be a better option. Massimo On Oct 22, 11:10 pm, suiato <homm...@gmail.com> wrote: > hi all, > > although i'm a mere user who may not have full understanding of web2py > mechanisms, i'm interested in how the web2py plugin system is > developed thru these discussions. because it will affect the evolution > path of this software, and probably decide if or how i am going to use > this system in the future. complex/commercial/enterprise applications > like CMS or e-commerce would benefit from smart and easy plugin (or > add-on or extension) systems. > > 2009/10/23 Yarko Tymciurak <resultsinsoftw...@gmail.com> > > > > > Or what about one plugin file, where each plugin is a class - perhaps one > > for controller, one for model - no views allowed (only app or gluon > > facilities; could worry about separate view plugins as that is different > > enough).... > > i am interested in the idea, too. expressed use of classes in [web2py: > 32128]. > a class-based MVC? like > in plugins/myPlugin.py, > class MyPlugin(Plugin): > def model(...): > ... > def cotroller(...): > ... > def view(...): > ... > > an application uses it as, e.g., > in models/mydb.py, > myP = Plugin.MyPlugin() > ... do something useful with myP.model(...) ... > in controllers/mycntl.py > ... do something useful with myP.cotroller(...) ... > in views/mycntl.html, > ... do something useful with myP.view(...) ... > > * note myP.view() is not to output to browser but to input to views/ > mycntl.html. > * the plugins directgory can be anywhere in the path and imported. > * as long as used/executed in non gpl applications, plugins need not > be gpl licensed if gpl codes are not used/imported. > * system plugins are in web2py/plugins (gpl) > * application-shared plugins are in web2py/applications/plugins (gpl > or non gpl) > * application-specific plugins are in web2py/applications/myApp/ > plugins (follow myApp's license) > * plugins codes are copied and managed thru appadmin. > * appadmin may not modify plugin codes. > > * all the above can be done without changing web2py or breaking its > backward compatibility. > * forgive me it's just contemplation, not implementation. > > recently, trying to meet the needs of a customer, i looked for a CMS > with simple shop functionalities and found ezPublish(http://ez.no) > interesting. learned that it's a quite elaborate accumulation of lots > of work over 10 years by volunteers and companies. their site showed > celebrating its 10th anniversary in a conference with over 250 people > (http://www.youtube.com/watch?v=je6CqRWjwfo). its codes are based on > components (http://ezcomponents.org), and structured with libraries, > extensions, packages, etc. its slogan is "share your information". i > think its framework's elaborate structuring of codes helped it to > evolve to include lots of developers/users/companies. its learning > curve is still rather steep for me, and i'm sure they'd do better if > they have another chance to restructure. with the passion/power/ > prowess (and with Python) in this community, web2py has a good > opportunity to do better than others. > > it's nice to dream attending a web2py conference, whether online of > offline, in some years, to share information and celebrate the > accomplishment by web2py developers/users. > > cheers, > Teru > > > > > On Thu, Oct 22, 2009 at 2:58 PM, mr.freeze <nat...@freezable.com> wrote: > > >> I see how it would be a performance hit to enumerate all of the files > >> in those folders. What about a compromise where all plugins live in > >> one subfolder so we get the separation. Thinking out loud: > > >> applications > >> --myapp > >> ----plugins > >> ------models > >> --------plugin1.py > >> --------plugin2.py > >> ------views > >> --------plugin1_index.html > >> --------plugin2_index.html > >> ------controllers > >> --------plugin1.py > >> --------plugin2.py > >> etc... > > >> Do you think plugins should be accessible by URL outside of their > >> parent app or just take parameters and render html? Also, is/should > >> there be a mechanism to apply auth to a plugin? > > >> On Oct 22, 1:48 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > >> > One issue is models: > > >> > Let's say we have a normal model > >> > models/db.py > >> > and two plugin models in > >> > plugins/p1/models/a.py > >> > plugins/p1/models/x.py > >> > plugins/p2/models/e.py > > >> > In which order should they be executed? whatever order we use we would > >> > have to merge the results of multiple listdir and then sort them. > >> > Takes some extra time. Now that everything is one folder things are > >> > straightforward. > > >> > Another issue is controllers? What would be the url for a function > >> > index in the controller below? > > >> > plugins/p3/controllers/default.py > > >> > Mind that we cannot break backward compatibility! > > >> > Massimo > > >> > On Oct 22, 1:38 pm, "mr.freeze" <nat...@freezable.com> wrote: > > >> > > That's not as limiting as I thought at least. Did you already try the > >> > > sub-app approach and hit obstacles or is it something that might be > >> > > worth prototyping so we can compare performance/benefits/drawbacks? > > >> > > On Oct 21, 7:20 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > > >> > > > Yes you would be limited to one model file, one controller file but > >> > > > as > >> > > > many views as you have actions and as many modules and static files > >> > > > as > >> > > > you need. > > >> > > > On Oct 21, 6:08 pm, "mr.freeze" <nat...@freezable.com> wrote: > > >> > > > > Man oh man! I've been at a SharePoint conference all day (hey, I > >> > > > > have > >> > > > > to make money!) so I'm still sifting through all of the discussion > >> > > > > but > >> > > > > I have another question: With the current implementation plugins > >> > > > > would > >> > > > > be limited to one view, one controller, one model, etc., because of > >> > > > > the naming convention, correct? If so, do you think this will be > >> > > > > too > >> > > > > constraining? > > >> > > > > On Oct 21, 11:39 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > > >> > > > > > Physically plugins are not in the own folder because it would > >> > > > > > make > >> > > > > > web2py very clunky, it would have to search for plugins in the > >> > > > > > folder > >> > > > > > structure. > > >> > > > > > Logically the are listed as separate. > > >> > > > > > On Oct 21, 11:16 am, "mr.freeze" <nat...@freezable.com> wrote: > > >> > > > > > > I like how the plugin system is shaping up but have one > >> > > > > > > question about > >> > > > > > > the folder structure. It seems more manageable to structure it > >> > > > > > > like > >> > > > > > > this: > > >> > > > > > > applications > >> > > > > > > -- my app > >> > > > > > > ---- models > >> > > > > > > ---- views > >> > > > > > > ---- controllers > >> > > > > > > ---- plugins > >> > > > > > > ------ myplugin > >> > > > > > > -------- models > >> > > > > > > -------- views > >> > > > > > > -------- controllers > > >> > > > > > > This way a plugin would basically be a sub-app, making it > >> > > > > > > easier to > >> > > > > > > install/uninstall/upgrade and could also have multiple > >> > > > > > > models/views/ > >> > > > > > > controllers. I remember some discussion about it but can't > >> > > > > > > remember > >> > > > > > > what the reasons against it were. > > >> > > > > > > On Oct 21, 10:18 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > > >> > > > > > > > The new web2py in trunk (1.68.2) also contains an improved > >> > > > > > > > experimental solution for plugins. > >> > > > > > > > Here is a new video about it > > >> > > > > > > >http://www.vimeo.com/7182692 > > >> > > > > > > > It includes suggestions from various people but I am sure it > >> > > > > > > > still > >> > > > > > > > needs a lot of work. Anyway, give it a try and let us know > >> > > > > > > > what else > >> > > > > > > > would you expect from a plugin system. > > >> > > > > > > > The interface for uploading/downloading plugins is missing, > >> > > > > > > > among > >> > > > > > > > other things. > > >> > > > > > > > Massimo- Hide quoted text - > > >> > > > > > - Show quoted text -- Hide quoted text - > > >> > > > - Show quoted text -- Hide quoted text - > > >> > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---