Samizdat: Co-op Engine

Home | About | Documentation | Developers | Download

Samidat 0.6.0 (2006-11-29)

The version increase attributes to the gradual changes in 0.5.x series and incorporates almost two years worth of real-world deployment. Now that Samizdat has finally become a mature open publishing system, the road is cleared for more intrusive changes and major new features, such as free exchange and calendaring.

In the way of major features, this version introduces ubiquitous message translations and RSS syndication. Many old tools are now more flexible and easier to use: focus management interface is simplified, the front page now packs more information in better layout and allows to include static headers and footers.

There are even more changes under the hood: multi-layer caching, gzip and ETag support, support for audio and video uploads, BitTorrent links, HTML and CSS filtering, flexible access control, new moderation features, new UI translations and themes, code reorganization, simplified installation, and more.


What's new

message translations
message replies that are related to focus:Translation are now treated as translations and are displayed in place of original message wherever appropriate; Accept-Language browser setting is now fully respected
it is now possible to syndicate Samizdat front page (both features and recent updates), focus pages, and Squish RDF queries using RSS 1.0
focus management interface
select focus from a pull-down menu directly on the vote or new message page (you can also enter focus id if it's not in the list), preliminary setting of current focus is no longer necessary
new front page layout
top focuses are now listed in the left column, central column lists feature articles (messages most recently related to focuses, with rating above configurable threshold); old-style main focuses list is now displayed on a separate page
static header and footer
new fields in config.yaml can be used to display, or include from file, arbitrary header and footer for the site front page; bandwidth-constrained users can disable static content in their member settings
audio and video uploads, BitTorrent links
Ogg, MP3, MPEG, AVI, WMV, and BitTorrent are added to the list of supported file formats
HTML filtering
all HTML issued by Samizdat is now filtered through Samizdat::Sanitize and HTMLTidy to protect from XSS (cross-site scripting) attacks
multi-layer caching
front page, messages, page fragments, and query results are cached in memory, filtered HTML rendition of text messages is also cached in the database; to (re)generate database cache, run:
    SAMIZDAT_SITE=samizdat SAMIZDAT_URI=/samizdat/ \
	ruby -r samizdat/engine -e 'Message.regenerate_all_html'
gzip and ETag support
transferred page size is severely reduced for browsers supporting gzip encoding and/or ETag content negotiation flag (contributed by Hleb Valoshka)
access control
new access control facility is configurable from per-site yaml config file and distinguishes between two actions (post, vote) and three roles (moderator, member, guest); guest users can now be allowed to publish messages without registration
moderation log can now be viewed online, moderators can hide and unhide messages (members can opt to view hidden messages) and reparent comments under a different message
new translations
site interface is translated to Esperanto by Antono Vasiljev, to Ukrainian by Indymedia Ukraine, to Polish and French by Boud
new CSS themes
Savannah, mimicking the style of where Samizdat project is hosted, and snow-white Sky contributed by Indymedia Ukraine
code reorganization
the code is reorganized to support running multiple sites from single Samizdat engine installation; Storage, Cache, and Sanitize libraries are untied from Samizdat engine core
easier installation
Samizdat can now be installed from a Debian package; new site can be set up in several minutes with help of new database generation script and ready to use example of Apache configuration file; experimental support for SQLite3 will one day make Samizdat installation even simpler
improved security, numerous usability tweaks, bugfixes, documentation updates.