Samizdat 0.7.0: Rack, Sequel, Parts, Blogs

What is Samizdat?

Samizdat is a generic RDF-based engine for building collaboration and
open publishing web sites. Samizdat provides users with means to
cooperate and coordinate on all kinds of activities, including media
activism, resource sharing, education and research, advocacy, and so on.
Samizdat implements workflows that promote values of freedom, openness,
equality, and cooperation.

What’s new in Samizdat 0.7.0?

This version features massive improvements both in the user interface
and under the hood. Posts by registered members are now organized into
blogs, publishing a message with several pictures and other multimedia
parts can now be done in a single step, sub-tags provide even finer
control over site structure, while translations have been promoted from
special-class comments into its own kind of a message part. Other
changes include short message cut mark, support for comments with empty
titles, Lock Comments moderation action, and public moderators list.

Samizdat Storage, Cache, and Sanitize modules were split out into their
own sub-projects called Graffiti, SynCache, and Whitewash. Since
Samizdat 0.6.2, Graffiti has grown the ability to handle transitive
properties and negative sub-queries, and migrated from Ruby/DBI to
Sequel as a backend interface to relational databases. Whitewash moved
away from reliance on HTMLTidy and REXML, both cleanup and parsing of
HTML is now handled by Nokogiri.

Samizdat itself has migrated from cgi.rb to Rack as its interface with
the Web server, examples in the documentation show the new recommended
way to setup Samizdat using Thin Ruby application server and Varnish
cache behind Nginx front-end web server. Mahoro file type detection
library was replaced with Magic FFI bindings, while FastGettext is now
preferred over Ruby/GetText for i18n.

How do I upgrade from Samizdat 0.6.2?

If you’re running vanilla 0.6.2, you can use the included database
migration script (doc/migration/upgrade_from_v0.6.2.sql). When you look
inside it, you can see that it’s doing many invasive changes to the
database schema and triggers, so try to run it on a backup copy before
applying it to your production database. If you’re running one of the
post-0.6.2 snapshots, edit out the parts of the script that you have
already applied. You will also need to install Thin or another
Rack-compatible web application server, see doc/install.txt and
doc/examples/ for instructions.

Where do I get it?

Project page:
Debian package: apt-get install samizdat
(Debian Package Tracking System - samizdat)