"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:
localizable templates
localized templates
languages
collections of localizable templates
collections (of localizable templates) compositions
catalogs
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.