Apologies for the cross posting, really not sure if this should be on
pylons-discuss or devel right now.

Hey folks, so we ( xornot studios ) have been using BFG for a couple of
years now, and ported all our work to pyramid. We have what I would say is
quite an extensive and useful in house framework on top of pyramid that
enables us to build db apps and resource oriented CMS/CRM type things really
quickly. We have a lot of really useful tools done and have arrived at some
great templates for large applications that need to extend our central app
without touching code. We have focused on the the 'big-app' advantages of
pyramid, we're using the registry and zca interfaces a lot, we're using zope
3 style views as classes for easy overriding by interface registration, that
sort of thing. Templating is Chameleon zpt, and persistence is SQLAlchemy
wrapped in an abstract model proxy to keep SA specific code out of anything
other than the model for easy persistence swapping. We have a multi-view
over-ridable widgeting system for building admin like user interfaces that
is really handy, and a bit different from others I've seen, including almost
autogenerated file upload handling, and the ability to make nested subforms
almost automatically ( as automatically as we saw fit ) for handling
associations and relations ( that's how the project started actually, I got
annoyed with the Django admin app a few years ago and this about the fifth
iteration). Dojo is used a lot for this. We have also made some RoR like
scripts for creating new resources easily with code generation of views, ui
and model files, mapper entries, zcml entries, etc. We are using ZCML for
configuration, and buildout for building. We have it running on some pretty
large client projects now, so we know it works. We use traversal and have
managed to implement a zodb like security and permission scheme in
SQLAlchemy with row level security and permission checking. ( I love
pyramid's ACL handling, so slick! )

I think it's time for us as developers to take the big step of cleaning this
up and starting to release parts of it, and I think it could be useful to
the community as it seems like there is a lot of talk and demos out there on
how Pyramid is great for minimal code, but less in the way of how the ZCA is
great for big projects where the key is extensibility without modifying your
main code base. I think we have that, but as a small shop of largely self
taught python developers, some of it is really messy, and it's all
under-documented and under-tested. It's time for our company to grow big
enough to take on subcontractors and I think releasing as open source could
be a great forcing function for us to do the clean up that never seems to be
highest priority when clients are paying for new features. ;-)

I'm thinking I ought to:

- find some other folks for whom this approach sounds interesting/useful who
might want to team up with their similar stuff
- see if parts of what we're doing can merge with similar efforts or
compliment them
- start to clean up and release bits of it, using this process to fully
document and test the code
- make some online presence for those interested in seeing what we've cooked
up

I guess this is just a shout out to see if anyone is interested in this kind
of thing and might like to join in mentoring/advising us on how to make sure
this is up to snuff for releasability.

Some questions:
- should I start a mailing list for it? discuss here? don't want to cross
post annoying talk that is not relevant to most people, but also don't want
to keep it all private any longer than necessary
- does anyone have a suggestion for what level of functionality one should
bite off as a first release? Ultra minimal with full docs? more functional
with docs and testing in progress?
- can anyone comment on which of the above sound exciting? I think the admin
app thing is the best feature, but it's also the hardest to get cleaned up,
with some meta-class hackery in there that I'm somewhat frightened of
figuring out how to test better
- do you think we need 100% code coverage, or do we do something like
multiple branches of release? (ie: covered vs upcoming vs stuff we use and
you can use at your own risk?)
- should we switch from SVN to git to do this?
- should this be here or on pylons discuss? ;-)

if you want to chat and don't want to pollute the signal to noise, I can
also be reached at [email protected]

thanks!
Iain

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