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
-~----------~----~----~----~------~----~------~--~---

Reply via email to