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