On Aug 30, 2:17 pm, "Thomas G. Willis" <[email protected]> wrote:

> I took a slightly different approach

And I took yet another approach, vive la difference :-)

Shabti [1, 2] is a handful of "shovel-ready" Pylons project templates
based on Ben & Dan Jacob's old "Tesla" project [3], an abandoned
approach that used Elixir [4], a declarative layer on top of SQLA, to
implement a basic auth'n'auth solution.

Straight SQLA is now the officially preferred modelling vehicle for
Pylons, hence the abandonment of Tesla as a project but I personally
found that Elixir suited my purposes nicely, so I forked Tesla and
turned it into Shabti, expanding the number of templates beyond the
original three to map the basic auth/auth on to several different
approaches: couchdb, repoze.what, repoze.who, Gustavo Narea's repoze-
pylons, AuthKit and RDFAlchemy. (the AuthKit project template is based
on James' AuthDemo code and it is languishing, I must admit).

In an effort to be useful, I added a template for the Quickwiki
tutorial that uses Elixir for the modelling, documenting the
difference between the Elixir approach and the standard SQLA modelling
approach.

Pursuant to my own interests in Semantic Web technology, there are
templates for generic RDFAlchemy [5] (i.e. without auth/auth) and
RDFLib [6].

At some point in the not-too-distant, if interest warrants, I will
complete some of the more complex templates that I have lined up:
using eXist a native XML database, a basic SOAP template and an
AtomPub/XMPP template.

I've done my best to provide narration in the (extensive)
documentation [2] as well as explanatory code snippets and all the
project templates have tests.

I also shovelled in a micro-CMS that includes example usage of tw,
tw.forms, FormAlchemy (although I've recently been reminded that my
treatment of FA is basically non-existent) and Babel. I'm wondering if
the microsite template is possibly a step too far, it's certainly not
up to date with subsequent developments of tw, tw.forms, sprox and FA
or with developments in my own understanding. Still, for me
personally, I find it useful to be able to take a long running jump
and grab to a basically functional web app playground with just:

paster create --template=shabti_microsite MyProject

A couple of caveats:

1. Shabti templates use Elixir by default for an Identity model
(obviously the RDFAlchemy and RDFLib templates are exceptions to
that), however swapping the Elixir Identity model for a corresponding
standard SQLA Identity model is not exactly rocket surgery.

2. Shabti is positioned as a springboard off've the default Pylons
project templates in tip, i.e. it's based on Pylons development code
rather than the 0.9.7 release. In practice, I rarely encounter
problems using tip, even for commercial deployment. My rationale for
using dev code rather than a release is that maintaining a dozen
project templates is no casual task and I'm concerned that if I allow
a large backlog of changes to accumulate, the effort involved will
effectively crush my motivation.

As with Chris, the most I'll claim for Shabti is: if nothing else, it
might be a useful reference for your own application --- and in my
particular case(*), perhaps a negative example :-)

Comments, observations are most welcome of course.

BYW, would there be any interest in a screencast?

Cheers,

Graham

[1] http://bitbucket.org/gjhiggins/shabti/
[2] http://bel-epa.com/shabtidocs/
[3] http://code.google.com/p/tesla-pylons-elixir/
[4] http://elixir.ematia.de/trac/wiki
[5] http://www.openvest.com/trac/wiki/RDFAlchemy
[6] http://www.rdflib.net/

(*) I'm not a programmer by training, I'm a cognitive psychologist/AI-
er.

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