Samizdat ToDo Lists
===================

Short-term Goals
----------------

0.6.1
- security: notify moderator button
- security: captcha
- security: spam filter
- security: prevent cross-site request forgery
- bug: track original date and author in new versions
- feature: basic RSS import
- ui: inform guest users that they can't edit even open-for-all messages
- ui: show non-inline message file size
- ui: paginator

0.6.x-0.7.x
- design: get rid of remains of built-in focuses
- feature: detailed view of statements and votes
- feature: basic calendar
- feature: wysiwig HTML editor
- feature: image manipulation (thumbnailing, galleries)
- feature: user notifications (research existing mailers)
- bug: fix translations (what did I mean here?)
- speed: mark-and-sweep in cache
- ui: simple message locking via timestamps
- ui: show format-specific non-inline message file properties
- ui: show nested comments
- ui: don't show comment title if it's same as parent
- feature: blogs and front page filters (belarus.indymedia.org/7285)
- feature: advanced RSS import (filtered syndication of blogosphere)
- feature: pod/vodcasting
- feature: mobile phones support
- install: research PostgreSQL clustering
- install: restart Apache in postinst
- bug: catch and report db connect timeout error
- bug: reproduce and fix Boud's Sanitize issue


Release Roadmap
---------------

0.0.1 - basic search interface
0.0.2 - query validation and security limits
0.0.3 - query construction UI
0.0.4 - multimedia messages, query publishing
0.5.0 - basic focus management, first beta release
0.5.1 - i18n, plain CGI, performance
0.5.2 - FastCGI, Textile, versioning
0.5.3 - email interface, account management
0.5.4 - frontpage, moderation
0.6.0 - translations, syndication, caching, packaging
0.7.0 - free exchange, wiki
0.8.0 - groupware (calendar, task tracker)
0.8.1 - full RDQL, SQLite, Memcached
0.8.2 - alternate RDF backends: 3store
0.9.0 - multi-part resources
1.0.0 - distributed operation (personal, p2p)


Development Directions
----------------------

- filter and search (important)
- RDF schema integration with Dublin Core (done), FOAF and Annotea
- testing framework (important, in progress)
- email interface (in progress)
- web of trust management -- depends on email interface
- static publishing -- depends on RDF storage workflow control
- gettext l10n (done)
- calendar/collaboration (help needed)
- p2p (in progress, research help needed)
- usability (in progress)


RDF Storage Tasks
-----------------

- generalize RDF storage, implement full DQL and encompass RDQL
- unit, functional, and performance test suite (in progress)
- separate library for RDF storage (done)
- investigate alternative backends: FramerD, 3store, Redland
  -- depends on separate library for RDF storage
  -- depends on test suite
- security: Squish literal condition safety (done), limited number of
  query clauses (done), dry-run of user-defined query, approvable
  resource usage
- query result set representation
- don't-bind variables in query pattern
- parametrized queries (done)
- support blob literals
  -- depends on parametrized queries
- vocabulary entailment: RDF, RDFS, OWL
- RDF aggregates storage internalization (Seq, Bag, Alt)
- storage workflow control (triggers)
- transparent (structured) RDF query storage
  -- depends on RDF aggregates storage
  -- depends on storage workflow control
- subqueries (query premise)
  -- depends on transparent query storage
- chain queries
  -- depends on native RDF storage


RDF Storage Performance
-----------------------

- URIref hashes
- may-bind and don't-bind parameters
- parametrized queries
- query introspection
- query result set representation

