An addon to PCLT package: enchance PCLT catalog with PostgreSQL powers. http://github.com/Andrey-Sisoyev/PCLT-DB
|Latest on Hackage:||0.1.1|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
"PCLT" is an abbreviation for "Parametric Composable Localizable Templates" - in fact it should also hold Detalizable. Term "Detailizable content (message)" in this package has a following meaning: some content, representing which it is possible to regulate, in how much details it is represented.
Conceptually, this package is a powerful extension to the well known Show class, that (extension) is thought to be embeded in any Haskell program, which requires multilanguage support, and/or where messages should be detailizable.
For more information about PCLT, read in it's description in it's own Cabal file.
By the base package (PCLT http://hackage.haskell.org/package/PCLT)
the templates are provided to be stored
statically in module declarations using
Text.PCLT.HasStaticRawPCLTs.HasStaticRawPCLTs class instaniations.
The PCST-DB package adds a possibility to store templates in DB (under PostgreSQL v8.4. (not less)). ER diagram: http://i1.fastpic.ru/big/2009/1212/f0/5b9845716e5a6984e9bc9d62a61928f0.png
The following units are storable in DB:
collections of localizable templates
collections (of localizable templates) compositions
configurations of PCLT catalogs
localizable templates detalization policies
For each catalog in DB there is stored a special flag "catalog data or config changed". The flag gets raised by an army of triggers, that watches every table, and is thought to get dropped by a program, which uses DB catalog. Drop the flag right before catalog update from DB.
Unfortunately, the current implementation of this flagging system constraints the number of agents that update their catalogs from DB by only one (because, when agent updates it's catalog, it drops the flag, and other agents don't know that flag was risen, so they can't know if version of catalog in their operative memory is older then in DB or not).
But this limitation removal is planned as a first ToDo in the next version of PCLT-DB.