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 zope 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 overridable widgeting system for building admin like user interfaces that is really slick, 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, it eats the Django admin for breakfast in my no-so-unbiased-and-humble-opinion). 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, underdocumented, and undertested. 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 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. (Mike Orr, I'm looking at you? it sounds like it might be a good cousin to your project? ) Some questions: - should I start a mailing list for it? discuss here or on pylons-user? - 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? ;-) thanks! Iain -- You received this message because you are subscribed to the Google Groups "pylons-devel" group. To post to this group, send email to pylons-devel@googlegroups.com. To unsubscribe from this group, send email to pylons-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-devel?hl=en.