wiki:lfapi

LiquidFeedback API Server (lfapi)

The LiquidFeedback API Server provides a programming interfaces to all features of the LiquidFeedback Core Version 2.0.0 and above.

The interface is technically described in the the LiquidFeedback API specification. The server is implemented as node.js application.

The current implementation status and installation instructions are available below.

At apitest.liquidfeedback.org is a public alpha test installation dedicated for application developers available.

Development Status

NOT implemented yet

  • Custom ordering of results, results are ordered ascending by id
  • Auth/session management, registration, login, adding of applications
  • Implement time warp function for devel mode
  • Automatic test case
  • Black-Box-Testing?

Module status

  • GET /session done (preliminary)
  • GET /info done
  • GET /member_count done
  • GET /contingent done
  • GET /contingent_left done
  • POST /echo_test done
  • GET /member done
  • POST /member done
  • GET /member_history done
  • GET /member_image done
  • POST /member_image TODO
  • GET /contact done
  • POST /contact TODO
  • GET /privilege done
  • GET /policy done
  • GET /unit done
  • GET /area done
  • GET /allowed_policy done
  • GET /membership done
  • POST /membership done
  • GET /issue done
  • GET /population done
  • GET /interest done
  • POST /interest done
  • GET /issue_comment done
  • POST /issue_comment done
  • GET /initiative done
  • GET /initiator done
  • POST /invite_initiator TODO
  • POST /initiator TODO
  • GET /supporter almost done, snapshots missing
  • POST /supporter done
  • GET /battle done
  • GET /draft done
  • POST /draft done
  • GET /suggestion done
  • GET /opinion done
  • POST /opinion TODO
  • GET /delegation almost done, include_* support missing
  • POST /delegation done
  • GET /voter done
  • GET /delegating_voter done
  • GET /vote almost done, include_* support missing
  • POST /vote TODO
  • GET /event done
  • GET /ignored_member TODO
  • POST /ignored_member TODO
  • GET /ignored_initiative TODO
  • POST /ignored_initiative TODO
  • GET /setting TODO
  • POST /setting TODO

Installation

LiquidFeedback Core

To use lfapi you need a working instance of the LiquidFeedback Core Version 2.x.x. It is available for download at http://www.public-software-group.org/liquid_feedback_core as tarball or via mercurial repository. Please follow the installation instructions in the LiquidFeedback Core README file.

node.js

To install node.js please follow their installation guide as found on https://github.com/joyent/node/wiki/Installation. Shortcut:

git clone --depth 1 https://github.com/joyent/node.git
cd node
git checkout origin/v0.4 # optional.  Note that master is unstable.
export JOBS=2 # optional, sets number of parallel commands.
mkdir ~/local
./configure --prefix=$HOME/local/node
make
make install
echo 'export PATH=$HOME/local/node/bin:$PATH' >> ~/.profile
source ~/.profile

npm

To install node-postgres you need to install the node package manager first. To do so enter the following command:

curl http://npmjs.org/install.sh | sh

node-postgres

Install the node-postgres package via the node package manager:

npm install pg

nodemailer

Install the nodemailer package via the node package manager:

npm install nodemailer

lfapi

The latest stable version of lfapi is published at http://public-software-group.org/liquid_feedback_api

Current development versions are available via mercurial repository at http://public-software-group.org/mercurial/lfapi

To install lfapi in /opt/lfapi use the following instructions:

cd /opt
hg clone http://www.public-software-group.org/mercurial/lfapi

Configuration

The API server needs to be configured by editing config.js in the base directory of the application. An example configuration is included.

Start server

cd /opt/lfapi
node lfapi.js

Before starting the server you must run lf_update from LiquidFeedback Core at least once!

Ask questions and get support

If you have any questions or need help while installing and configuring the API server, don't hesitate to contact our public mailing list main. So other administrators can learn from it too.

Last modified 5 years ago Last modified on Apr 14, 2012, 4:43:30 PM