3) black magic IMHO.  Would be nice to have some well defined path for the
programmer to work on this, so
   that it could be seen as a separate layer for db configuration/tuning so
that models can be left almost untouched
   on architectural changes.



2010/7/29 mdipierro <mdipie...@cs.depaul.edu>

> The speaker raises some good issue with Django and some do apply to
> web2py
>
> Aside for the many jokes which are indeed funny he complains about
> scalability and make these valid points:
>
> 1) session should be stored client side for scalability (web2py and
> Django both store them server side, although it it would be trivial to
> have a client side option and it is on my todo list, I will take a
> patch if somebody does this first)
>
> 2) it is important to be able to connect to multiple databases
> depending on the request (Django cannot do it, web2py can) I also just
> added a modification in trunk that allows to do:
>
>   db=DAL([uri1,uri2,uri3])
>
> and it will try to connect to uri1, then uri2, then uri3. Of course
> you can do
>
>   db=DAL(random_permute(uri1,uri2,uri3))
>
> to share the load at random. web2py will also try them all in case of
> failure and re-try 5 times.
>
> 3) it would be nice if the ORM and DAL were to be smart about de-
> normalization and about multiple db connection. There is a lot that
> can be done in this direction. web2py allows an easy API to
> denormalize many2many:
>
>   # define some shortcuts
>   D,F=db.define_table, Field
>   # define a table dog, a person, and ownership
>   d=D('dog',F('name'))
>   p=D('person',F('name'),F('dogs'))
>   L=D('ownership',F('person',p),F('dog',d))
>   # denormalize p.dogs
>   p.dogs.requires=IS_IN_DB(db,d.id,d.name,multiple=True)
>   # p.dogs will be used in forms, when it changes update L
>   def f(form):
>         db(L.person==form.vars.id).delete()
>         [L.insert(person=form.var.id,dog=k) for k in
> form.request_vars.dogs]
>   crud.settings.create_onaccept.person.append(f)
>   crud.settings.update_onaccept.person.append(f)
>
> In principle  the job of the last 5 lines could be automated and be
> done under the hood (what the user speaks about). It would be too much
> magic but it would be convenient. We have been discussing some of
> this.
>
> On Jul 29, 2:53 pm, Vidul Petrov <vidul.r...@gmail.com> wrote:
> > Django (the opposite of RoR) sucks likes RoR (the Denmark salesman vs
> > the desparate Kanzas Python programmers ambitions to create everything
> > out of nothing).
> >
> > Probably you know what's the definition of the Nobel winners for
> > intellect - adequacy.
> >
> > And in order to achieve adequacy we need compromises - web2py.
> >
> > On Jul 29, 7:08 pm, Wobmofo <muito...@gmail.com> wrote:
> >
> > > Cal Henderson delivered a very enterteining keynote at DjangoCon 2008.
> > > Go watch the video if you haven't, it's really funny !
> http://www.youtube.com/watch?v=i6Fr65PFqfk
>

Reply via email to