"Earth" is the iteration released in August 2008.

Trying Sputnik Earth

Install

mkdir ~/sputnik
cd ~/sputnik
export SPUTNIK=`pwd`

wget http://luaforge.net/frs/download.php/3468/kepler-install-1.1-1 
bash kepler-install-1.1-1 --prefix=$SPUTNIK --without-readline
./bin/luarocks --from=http://sputnik.freewisdom.org/rocks/earth install sputnik
mkdir wiki-data
chmod -R a+rw wiki-data

Configure

Put the following into $SPUTNIK/kepler/htdocs/sputnik.ws:

require"sputnik"

return sputnik.new_wsapi_run_fn{
   VERSIUM_PARAMS = { '/home/yuri/sputnik/wiki-data/' },
   BASE_URL       = '/sputnik.ws',
}

replacing /home/yuri/wiki-data/ with the full path to ~/sputnik/wiki-data (or wherever you are installing Sputnik).

Run

Start Xavante:

./bin/xavante_start

Then access Sputnik at http://localhost:8080/sputnik.ws

Tasks

Below is a list of features/projects/tasks that may potentially make it into "Earth".

Infrastructure

Git

  • Move to Git - done

Petrodoc

  • Write scripts to make rocks and generate documentation- done

Unit Tests

  • Versium - done (Jim, Yuri)
  • Authentication - done (Yuri)
  • Saci - todo (Yuri)

Saci

Splitting Versium into (simpler) Versium and Saci

  • The basic split + switching to Jim's OO style - done

  • Making sure that all the implementations work afterwards:

    • FileDir - done (Yuri)
    • SVN - todo (Yuri)
    • Virtual - todo (Yuri)
    • MySQL - done (Jim)
    • SQLite3 - done (Jim)
    • Git - todo (Yuri)
  • The last few steps in refactoring - todo (Yuri)

    • FileDir - todo (Yuri)
    • SVN - todo (Yuri)
    • Virtual - todo (Yuri)
    • MySQL - todo (Jim)
    • SQLite3 - todo (Jim)
    • Git - todo (Yuri)
  • Documentation - done (Yuri)

Misc

Saci:get_version(id) - returns the latest version identifier for a node

  • Implementation - done (Jim) - 9bd61c95 (merged to master and pushed)
  • Merging, testing - done (Yuri)

New Versium Backends

"Virtual"

  • Implementation - done (Jim)
  • Updating for Saci changes - todo (Yuri)
  • Merging, testing - todo (Yuri)
  • Documentation - todo (Yuri)
  • Packaging - todo (Yuri)

MySQL

  • Implementation - done (Jim)
  • Updating for Saci changes - done (Jim) -
    • 4d2f0d38, cf34ee6a, ff61e306 (all merged to master and pushed)
  • Merging, testing - done (Yuri)
  • Documentation - done (Yuri)
  • Packaging - todo (Yuri)

SQLite3

  • Implementation - done (Jim)
  • Updating for Saci changes - done (Jim)
    • 2a9f85f1, 3fe845a2, 35e17196b (all merged to master and pushed)
  • Merging, testing - done (Yuri)
  • Documentation - done (Yuri)
  • Packaging - todo (Yuri)

SVN

  • Implementation - done (Sérgio)
  • Updating for Saci changes - todo (Yuri)
  • Merging, testing - todo (Yuri)
  • Documentation - todo (Yuri)
  • Packaging - todo (Yuri)

Git

  • Implementation - todo (Yuri)
  • Updating for Saci changes - todo (Yuri)
  • Merging, testing - todo (Yuri)
  • Documentation - todo (Yuri)
  • Packaging - todo (Yuri)

Authentication and Permissions

Extended authentication system

Added auth.mysql which has an API for arbitrary metadata (which can be used to store roles, permissions, etc.). This API needs to be ported to the simple auth module.

  • Implementation (MySQL)- done (Jim)
    • e5389df1, 33501464, d6d4aecb, dc0d7cc5, 1548ab91, 186ee6a0 (all merged to master and pushed)
  • Change wiki.lua to expect this change - done (Jim)
    • 0409ddce (merged to master and pushed)
  • Merging, testing - done (Yuri)
  • Implementation (Simple)- done (Yuri)
  • Documentation - todo (Yuri)
  • Packaging - todo (Yuri)

A separate edit form for Admin

  • Create separate edit forms for Admin and other users - done
  • Check that this still works with Jim's new permission system todo (Yuri)
  • Documentation - todo (Yuri)

Extended permission system

  • Implementation - Jim
    • d4306a38 (merged to master and pushed)
  • Merging, testing - done (Yuri)
  • Documentation - todo (Yuri)

New Registration Procedure

  • Implementation - Jim
  • Merging, testing - todo (Yuri)
  • Documentation - todo (Yuri)

Markup

XSS Filter

  • Implementation - done (Yuri)
  • Documentation - done (Yuri)
  • Packaging - done (Yuri)
  • Adjusting graphviz demo to work with it - todo (Yuri)

MarkItUp Integration

  • Basic Integration - done (Jim, Yuri - in "markitup" branch)
  • Make it configurable - todo (Yuri)
  • Documentation - done (Yuri)
  • Packaging - done (Yuri)

Web Server Support

  • WSAPI with Xavante - done
  • FastCGI - done
  • Documentation - todo (Yuri)

UI

Changes to edit form

Added DIV_START and DIV_END option to edit forms.

  • Implementation - done (Jim)
    • e7d51889 (merged to master and pushed)
  • Merging, testing - done (Yuri)

Miscellaneous

File upload

  • Implementation - done (Jim)
  • Documentation - todo (Yuri)

Node ID generation

  • Implementation - done (Jim)
  • Testing - done (Yuri)
  • Documentation - todo (Yuri)

Adding Javascript or CSS from an action

  • Implementation - done (Jim)
    • 99403545, 092ffa6d, 91b79bd3, a7680f7c - applied by hand, resolved, merged into master, pushed
  • Merging, testing - done (Yuri)
  • Documentation - todo (Yuri)

Adding HTML headers from an action

  • Implementation - done (Jim)
  • Merging, testing - todo (Yuri)
  • Documentation - todo (Yuri)

Action Hooks

Add a system that allows developers to hook node actions

  • Implementation - done (Jim)
    • 29ec0666 (merged to master and pushed)
  • Merging, testing - done (Yuri)
  • Documentation - done (Yuri)

Postponed till later

(Later probably means Fenchurch.)

Javascript Debugger

  • Implementation - done (Jim)
    • merged into mainline
  • Testing and Documentation - todo (Yuri)
  • Turn it into a rock - todo (Yuri)

Remote Saci

  • Add support for accessing remote nodes todo (Yuri)
    • Pretty much ready, but needs to be integrated

Blueprint CSS

  • Implementation - check if Pierre is still interested
    • once in mainline:
      • Turn it into a rock (for now at least), test

writing services

Powered by Sputnik | XHTML 1.1