views:

154

answers:

0

Hi,

After much research, I've come up with a list of what I think might be the best way of putting together a Python based social network/cms, but have some questions about how some of these components fit together.

Before I ask about the particular components, here are some of the key features of the site to be built:

  • a modern almost desktop-like gui
  • future ability to host an advanced html5 sub-application (ex.http://www.lucidchart.com)
  • high scalability both for functionality and user load
  • user ability to password protect and permission manage content on per item/group basis
  • typical social network features
  • ability to build a scaled down mobile version in the future

Here's the list of tools I'm considering using:

Google App Engine
Python Django Pinax Pyjamas wxPython

And the questions:

  1. Google App Engine -- this is an attempt to cut to the chase as many pieces of the puzzle seem to be in place. Question: Am I limiting my options with this choice? Example: datastore not being relational? Should I wait for SQL support under the Business version?

  2. Python -- I considered 'drupal' at first, but in the end decided that being dependent on modules that may or may not exist tomorrow + limitations of its templating system are a no-no. Learning its API, too, would be useless elsewhere whereas Python seems like a swiss army knife of languages -- good for almost anything. Question: v.2.5.2 is required by GAE, but python.org recommends 2.5.5. Which do I install?

  3. Django -- v.0.96 is built into GAE. You seem to be able to upgrade it. Questions: Any reason not to upgrade to the latest version? Ways to get around the lack of HTML5 support?

  4. Pinax (http://pinaxproject.com) Rides on top of Django and appears to provide most of the social network functionality anyone would want. Question: Reasons NOT to use it? Alternatives?

  5. Pyjamas and wxPython -- this is the part that gets a little confusing. The basic idea behind these is the ability to build a GUI. I've considered Silverlight and Flash, before the GAE/Python route, but a few working versions of HTML5 apps convinced me that enough of it ALREADY runs on the latest batch of browsers to chose the HTML5/Javascript route instead. Question: How do I extend/supplement Python/Django to build an app-like HTML5 interface? Are Pyjamas and wxPython the way to go? Or should I change my thinking completely?

Answers to some/any of these questions would be of great help. Please excuse my ignorance if any of this doesn't make much sense. My last venture into web programming was a decent sized LAMP website some 5-6 years ago. On the desktop side of things, my programming experience boils down to very high level scripting languages that I keep on learning to accomplish very specific tasks :)

Thank you all, - igor