Skip to content
A webapp based on HTML5 to collect data and to send data to Ushahidi.
JavaScript Python
Find file
Latest commit fb03157 @axaroth fixed some css


Ushahidi online-offline Reporting Web Application

How to start

  Build the project:

    $ cd /opt/
    $ git clone git:// oo-report
    $ cd oo-report
    $ python2.6

      In buildout.cfg to edit the [static-config] server_port parameter, default
      is port 8080.

    $ ./bin/buildout

  Start the http server:

    $ ./bin/serve-static

  Rules for Apache:

    You must have the mod_proxy enabled

    RewriteEngine On
    RewriteRule ^/oo-report/(.*)$1 [P,L]
    <Directory /var/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all


    In this configuration ushahidi responds on an URL as:

    and the web app on:

    otherwise you need to modify the rule according and fix the constant in the
    javascript file /opt/oo-report/www/resources/interview.db.js:

      var api_url = "/api"  // fix for your server

What we used

    Development http server

        zc.buildout, Paste and PasteScript (and other Python libraries)


        jQuery JavaScript Library v1.5

        jQuey Mobile 1.0a3

        geo-location-javascript v0.4.3


How it works


        Configuration for 'paste serve' script (simple http server)


        Provides the html5 manifest generation and a fake Ushahidi API
        for testing purpose.


        This page contains the html to render the interfaces and loads
        the application code and libraries.


        Setup the DB and provides the functions to manage the collected

        It contains the code that manages the user interfaces and the
        actions on the forms.

NOTE: How 'upload picture' works

    - data store
    1. get the file (fs path) from the form
    2. transform the file in base64 encoding

    - data send
    1. get the base64 encoding from DB
    2. create a blob from the enconding using blob builder:
    3. create the FormData object and append the blobfile)

        4. send the FormData object using XMLHttpRequest:
        4. send the FormData object using $.ajax:
Something went wrong with that request. Please try again.