Three components of the Samizdat open publishing system are finally
released as stand-alone modules: Graffiti relational RDF store, SynCache
thread-safe object cache, Whitewash whitelist-based HTML filter.
Graffiti is an RDF store based on dynamic translation of RDF queries
into SQL. Graffiti allows to map any relational database schema into
RDF semantics and vice versa, to store any RDF data in a relational
database. This RDF store was used as the primary means of data access
in Samizdat from the start.
SynCache is a thread-safe time-limited cache with flexible replacement
policy and ability to wrap generation of expensive cache entries in
synchronized blocks. SynCache was used in Samizdat since 2005.
Whitewash is a whitelist-based HTML filter for Ruby, based on HTML
Tidy and REXML. It allows Ruby programs to clean up any HTML document
or fragment coming from an untrusted source and to remove all
dangerous constructs that could be used for cross-site scripting or
request forgery. Whitewash was used in Samizdat since 2004.