Pycoon

 

Blocks

Page history last edited by anrienord 2 yrs ago

Pycoon blocks system

 

Blocks are logic units of modularity in Pycoon. Physically, block is a set of files that is usually packaged and deployed as Python egg. Logically, block is a container for Pycoon components and data files (webapps) that provides a particular set of features to a Pycoon user.

 

For example, fmt_textile block adds Textile markup language support to Pycoon. It provides (currently) the TextileGenerator pipeline generator component that produces a valid XHTML ElementTree infoset from a Source component formatted in Textile.

 

There are two types of blocks:

 

  • Built-in blocks that included in the Pycoon egg
  • Extension blocks that shipped as separate (third-party) eggs

 

Note that you needn't package your extension components as an egg, but by doing it you simplify the deployment of your extensions.

 

...

 

Block structure

 

...

 

Blocks categories

 

  • fmt -- formatting blocks for handling various data formats
  • mgmt -- management blocks for performance monitoring, statistics gathering, etc.
  • src -- sources blocks that provide new Source implementations, such as WebDAV, LDAP, etc.
  • db -- database access or persistence blocks: Python DB API, XML databases, etc.
  • auth -- authentication, authorization and accounting blocks
  • rmt -- remoting blocks for distributed systems: XML-RPC, SOAP, etc.
  • srch -- searching and indexing blocks: Swish-e, Lucene, etc.

 

Built-in blocks

 

 

Blocks proposals

 

  • srch
    • srch_swishe -- Swish-e indexing system block
  • rmt
    • rmt_rest -- REST transformers or generators to use the HTTP protocol in a RESTful way (maybe the same effect could be achieved by using a SourceWritingTransformer with an HttpSource)
  • auth
    • auth_openid -- OpenID authentication
    • auth_cookie_plain -- simple clear-text username/password authentication based on HTTP cookies
    • auth_http_basic -- HTTP basic authenication
  • db
    • db_dbapi -- accessing Python DB API 2.0 compliant databases (pysqlite, MySQLdb, kinterbasedb and many others)

 

External links

 

Comments (0)

You don't have permission to comment on this page.