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
- once in mainline: