On Dec 22, 2007 9:11 PM, Nicolai Richter (Gm)
<[EMAIL PROTECTED]> wrote:

> I am a python programmer with about 1.5 years part-time python
> experience and some web site building experience. I am about to take a
> project of building a seminar registration site for a client.
>
> I have already decided I want to handle that project in python, but I
> have a hard time deciding which framework to use. Django, Pylons and
> Turbogears all seem reasonable candidates. I like Django for its
> active community and development and the somewhat more coherent
> framework (it seems to me), Turbogears for its widgets, and about
> Pylons I havent't read/dabbed enough yet.

All three projects have a very active community and development.  If
by "TurboGears widgets" you mean ToscaWidgets, they work with Pylons
too.

You may also want to try FormAlchemy, which builds CRUD forms based on
SQLAlchemy classes.

> I heard that most things work great out of the box with Django, but
> beware if they dont!

That can be said for any framework.

> Also, Django seems to be geared more towards
> publishing by one or a few users, while my task will be more about
> many users managing their own resources. (see below)

Pylons and TurboGears are definitely intended for your kind of project
among others.  I thought Django was too though I've never used it.
Your source may be talking more about Django's origin than what it's
intended for now.

> With Turbogears I haven't gotten many examples work out right away,

One thing against TG is its current state of flux.  Over the long term
I'd consider TG 1 a dead end and it's better to write for TG 2. But
with your time constraint you'll need to stick to stable versions, so
that means TG 1 if it works for  you.

> and with neither I have been able to quickly have a authorized-access
> based web site up.

Authorization and widgets are going to be your biggest hurdle, it
sounds like.  Any rich widget library is going to take two days to
learn and try out and decide whether to stick with it.  Same for
authorization.  if you want a calendar look, that'll be another hurdle
to find or make a suitable widget.

One trick would be to keep the UI very simple and avoid rich
libraries.  If you're familiar with HTML you can build a UI with
Pylons' WebHelpers/FormEncode, which are small and straightforward so
they have a small learning curve and are less likely to fail at the
last moment.

For authentication, the quickest choice would be a homegrown database
of (A) username, (B) password, (C) list of seminars they're "admin"
for.  Then if their credentials match a database entry, set a login
flag in the session.

Pylons' AuthKit is powerful but users have reported a largish learning
curve, so you may want to avoid it for this app.  I don't know about
TG's and Django's authorization schemes.

>  I haven't tried for more than 1-2 hour per
> framework  though. Pylons I havent really tried enough (and was a
> little discouraged to hear it might get overridden a lot with the
> merge into TG).

That's a lie. :(  TG 2 is being built on top of Pylons, but Pylons
itself is not changing.  In any case, Pylons 0.9.6.1 is stable.  I'm
sure there's a lot more changes to TurboGears happening in the
migration than Pylons will get.

> I am now looking for help in choosing a framework and estimating the
> effort it takes to build the app. The project will have to be done in
> under 3 weeks, so I can't really afford to run into dead ends and
> restart with a different framework. :-/

Three weeks is really tight to build such an ambitious application in
a new environment.  That gives just one week to get up to speed with
the framework and decide your basic design, one week to implement it,
and one week to beta test and debug.  You're asking for the framework
to be perfect in terms of authentication and calendar features, so
they'll do just exactly what you need, right now, with little learning
and no errors.  I'm not sure if any of the frameworks are up to that
yet.

TurboGears and Django have more beginner's documentation than Pylons
does, which may be a point in their favor given your tight timeframe.
Pylons generally gives you more freedom to use what it recommends or
something else.  Both Pylons and TurboGears use SQLAlchemy, which has
excellent scaling and interoperability.  Django has its own ORM, as it
has its own everything else.  That's a potential minus in terms of
interoperability, which is why I don't use Django.  But for just
getting a self-contained app out the door quickly, it may be OK.

> Do you think Pylons could handle the task easily or do you think
> something else would be better? What do you think will be the hardest
> part to implement? And how many hours/days/weeks would you think it
> takes a new user like me to get the thing up? Ideally I would have a
> showcase demo with limited functionality up in 6 or 7 days (of which I
> can spend maybe 4 hours each day on it).
> Do you think that s possible?

A showcase demo in 6-7 days is certainly feasable, given that "limited
functionality" can mean anything.  I would do the  basic operations
first: try to get as much of the registration flow into the demo, then
worry about authorization, a pretty look, and email verification.  But
three weeks sounds unrealistic to get a finished product as you've
described out the door, especially working half-time.  I'd say three
weeks including long days and weekends, and even then you might have
to defer some features.

I'd check into Durus for a database.  Unless you're well versed in
SQLAlchemy and relations, it'll be time consuming to set up your
tables and debug your database code, whereas with Durus you can
quickly build a hierarchical database that looks like nested
dicts/lists/objects.  You'll need Durus's server mode because multiple
requests will be modifying the database, and don't share database
connections between threads.  A seminar app sounds like a small amount
of data that can all fit in memory, and Durus would just take care of
persisting it and versioning it.

-- 
Mike Orr <[EMAIL PROTECTED]>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to