2009/7/6 Randy Syring <ra...@rcs-comp.com>: > Chris, > > Sounds interesting. Question: Does it support some > kind of module/plugin architecture that will allow me to develop "plug- > in" functionality across projects? What would be called in > Django an "app".
The documentation says: """ Like Zope, but unlike Pylons applications or most Django applications, when you build a repoze.bfg application, if you obey certain constraints, the application you produce can be reused, modified, re-integrated, or extended by third-party developers without modification to the original application itself. See Extending An Existing repoze.bfg Application for more information about extending or modifying an existing repoze.bfg application. """ http://docs.repoze.org/bfg/current/narr/introduction.html#differences-from-other-frameworks http://docs.repoze.org/bfg/current/narr/extending.html#extending-chapter Graham > For example, I would like to have a "news", "blog", and "calendar" > module that I can plug into different applications. The goal is to > have everything for the module contained in one subdirectory or package > including > any configuration, routing, templates, controllers, model, etc. So, > something like this: > > /modules/news/... > /modules/calendar/... > /modules/blog/... > > Or: > > packages/ > MyProj > NewsComponent > CalendarComponent > BlogComponent > > I ended up writing my own framework because I needed this and didn't want to > go with Django and Pylons didn't support it: > > http://groups.google.com/group/pylons-discuss/browse_thread/thread/14aef22ddb90347f > > But would love to be able to use something else that was more of a community > effort. > > Thanks. > -- > -------------------------------------- > Randy Syring > RCS Computers & Web Solutions > 502-644-4776 > http://www.rcs-comp.com > > "Whether, then, you eat or drink or whatever you do, do all to the glory of > God." 1 Cor 10:31 > > > On Sun, Jul 5, 2009 at 8:47 PM, Chris McDonough <chr...@plope.com> wrote: >> >> Summary >> ------- >> >> The first major release of the BFG web framework (aka "repoze.bfg"), >> version 1.0, is available. See http://bfg.repoze.org/ for general >> information about repoze.bfg. >> >> Details >> ------- >> >> BFG is a Python web framework based on WSGI. It is inspired by Zope, >> Pylons, and Django. It makes use of a number of Zope technologies >> under the hood. >> >> BFG is developed as part of the more general Repoze project >> (http://repoze.org). It is released under the BSD-like license >> available from http://repoze.org/license.html . >> >> BFG version 1.0 represents one year of development effort. The first >> release of BFG, version 0.1, was made in July of 2008. Since then, >> roughly 80 pre-1.0 releases have been made. None of these pre-1.0 >> releases explicitly promised any backwards compatibility with any >> earlier release. >> >> Version 1.0, however, marks the first point at which the repoze.bfg >> API has been "frozen". Future releases in the 1.X line guarantee >> API-level backward compatibility with 1.0. A backwards >> incompatibility with 1.0 at the API level in any future 1.X version >> will be considered a bug. >> >> More Details >> ------------ >> >> BFG contains moderate, incremental improvements to patterns found in >> earlier-generation web frameworks. It tries to make real-world web >> application development and deployment more fun, more predictable, and >> more productive. To this end, BFG has the the following features: >> >> - WSGI-based deployment: PasteDeploy and mod_wsgi compatible. >> >> - Runs under Python 2.4, 2.5, and 2.6. >> >> - Runs on UNIX, Windows, and Google App Engine. >> >> - Full documentation coverage: no feature or API is undocumented. >> >> - A comprehensive set of unit tests. The repoze.bfg package contains >> 11K lines of Python code. 8000 lines of that total line count is >> unit test code that tests the remaining 3000 lines. >> >> - Sparse resource utilization: BFG has a small memory footprint and >> doesn't waste any CPU cycles. >> >> - Doesn't have an unreasonable set of dependencies: "easy_install" >> -ing repoze.bfg over broadband takes less than a minute. >> >> - Quick startup: a typical BFG application starts up in about a >> second. >> >> - Offers extremely fast XML/HTML and text templating via Chameleon >> (http://chameleon.repoze.org/). >> >> - Persistence-agnostic: use SQLAlchemy, "raw" SQL, ZODB, CouchDB, >> filesystem files, LDAP, or anything else which suits a particular >> application's needs. >> >> - Provides a variety of starter project templates. Each template >> makes it possible to quickly start developing a BFG application >> using a particular application stack. >> >> - Offers URL-to-code mapping like Django or Pylons' *URL routing* or >> like Zope's *graph traversal*, or allows a combination of both >> routing and traversal. This helps make it feel familiar to both >> Zope and Pylons developers. >> >> - Offers debugging modes for common development error conditions (for >> example, when a view cannot be found, or when authorization is being >> inappropriately granted or denied). >> >> - Allows developers to organize their code however they see fit; the >> framework is not opinionated about code structure. >> >> - Allows developers to write code that is easily unit-testable. >> Avoids using thread local data structures which hamper testability. >> Provides helper APIs which make it easy to mock framework components >> such as templates and views. >> >> - Provides an optional declarative context-sensitive authorization >> system. This system prevents or allows the execution of code based >> on a comparison of credentials possessed by the requestor against >> ACL information stored by a BFG application. >> >> - Behavior of an an application built using BFG can be extended or >> overridden arbitrarily by a third-party developer without any >> modification to the original application's source code. This makes >> BFG a good choice for building frameworks and other "extensible >> applications". >> >> - Zope and Plone developers will be comfortable with the terminology >> and concepts used by BFG; they are almost all Zope-derived. >> >> Excruciating Details >> -------------------- >> >> Quick installation: >> >> easy_install -i http://dist.repoze.org/bfg/current repoze.bfg >> >> General support and information: >> >> http://bfg.repoze.org >> >> Tutorials >> >> http://docs.repoze.org/bfg/current/#tutorials >> >> Sample Applications >> >> http://docs.repoze.org/bfg/current/#sample-applications >> >> Detailed narrative and API documentation: >> >> http://docs.repoze.org/bfg/current >> >> Bug tracker: >> >> http://bfg.repoze.org/trac >> >> Maillist: >> >> http://lists.repoze.org/listinfo/repoze-dev >> >> IRC support: >> >> irc://irc.freenode.net#repoze >> >> repoze.bfg is developed primarily by Agendaless Consulting >> (http://agendaless.com) and a team of contributors. >> >> Special thanks to these people, without whom this release would not >> have been possible: >> >> Malthe Borch, Carlos de la Guardia, Chris Rossi, Shane Hathaway, Tom >> Moroz, Yalan Teng, Jason Lantz, Todd Koym, Jessica Geist, Hanno >> Schlichting, Reed O'Brien, Sebastien Douche, Ian Bicking, Jim Fulton, >> Martijn Faassen, Ben Bangert, Fernando Correa Neto, YoungKing, Rob >> Miller, Wichert Akkermann, David Pratt, Mark Ramm, and Chris Perkins. >> _______________________________________________ >> Web-SIG mailing list >> Web-SIG@python.org >> Web SIG: http://www.python.org/sigs/web-sig >> Unsubscribe: >> http://mail.python.org/mailman/options/web-sig/randy%40rcs-comp.com > > > _______________________________________________ > Web-SIG mailing list > Web-SIG@python.org > Web SIG: http://www.python.org/sigs/web-sig > Unsubscribe: > http://mail.python.org/mailman/options/web-sig/graham.dumpleton%40gmail.com > > _______________________________________________ Web-SIG mailing list Web-SIG@python.org Web SIG: http://www.python.org/sigs/web-sig Unsubscribe: http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com