On Wed, Sep 30, 2009 at 16:09, Massimo Di Pierro
<mdipie...@cs.depaul.edu> wrote:
> Here is a video explaining the proposal
>
>      http://vimeo.com/6836681
>
> Attached is a document containing the proposal, the code, and
> requesting help modify admin to do this.
>
> This would make it easy to build a repository of plugins similar but
> better than Drupal, reusable, more sexy via ajax, without having to
> learn an new syntax.
>
> Massimo

Sincerely I don't like this.
The idea of a plugin system is very good, but I didn't like this implementation.
If I have 1 application with 10 plugins so visitor's browser will do
11 HTTP requests (1 for app and 10 async (AJAX)) and it must have
javascript enabled! So all plugins that we create will need that
visitor's browser have javascript enabled (some clientes don't have by
default or by security issues (companies disabled it, for example),
others DON'T have support for javascript etc.) and it will overload
our webserver (11 requests instead of 1).
I think that a plugin should interact with web2py app, not with
browser - so what I propose is to change gluon/some-files.py to
implement this, not necessarily changing only web2py_ajax.html.
One thing that I'm thinking is to have a new reserved word in template
system, for example, in myapp/views/default/test.html:

<code>
This is a test page.
If web2py implement a plugin system, you should see a form to post a comment:

{{load 'mypap/plugin_comments/form_comment'}}
</code>

So we only need to change gluon/template.py to:
- when it finds "{{load 'a/b/c'}}" it does:
   1- Copy code of function 'c' (controller 'b.py', app 'a') to some_var;
   2- Add do some_var the code: "bla = function_c()"
   3- Add do some_var the code: 'result = parse_template"("%s",
path=../applications/%s/views/)' % (bla, a)
   4- Add the content of some_var to code that will be executed in
view (that code that have a lot of 'response.write')
   5- So no we have the result we expect.

It should be useful to other things too, like create some 'modules' of
apps (we can create modules and should not create plugins for
optimization) and to be an easy way to embed some actions/views in
other pages.

What do you think?
I like this feature and think it should be implemented even it is not
by default as plugin system - but I think if we use it in plugin
system we will be creating apps with a more unobstructive and
optimized code (for app, for browser/javascript and mainly for web
server).

We must learn more about plugin systems (with wordpress, for example)
before posting this as stable.

-- 
 Álvaro Justen
 Peta5 - Telecomunicações e Software Livre
 21 3021-6001 / 9898-0141
 http://www.peta5.com.br/

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