{

Open Data KIT tutorial and install with Postgres DB


Open Data KIT tutorial and install with postgres DB

Open Data Kit (ODK) is a free opensource java applications tool for data capturing and aggregating data and storing it in a server. The use of ODK is for digital surveys instead of the physical paper survey.

Before ODK was introduced, manual surveys have a long process to implement.

The physical paper survey involves deciding the questions on the paper survey form, Collecting the survey data, and finally aggregating survey data results.

Advantages of ODK

  1. Provides Java server for collecting data
  2. Provides Mobile
  3. Eliminate paper surveys and make a digital survey.

ODK modules

Odk is not a single tool but it has different following modules.

  1. ODK Form
  2. ODK Collect
  3. ODK Aggregate

ODK installation on amazon web services

First, generate a war file using the odk aggregate pack on windows.

the following are required to setup ODK on windows

  • Java installation
  • ODK aggregate package
  • Tomcat
  • Postgres

Download ODK package

Go to the official opendatakit website and download ODK package for the corresponding operating system. Downloaded ODK Aggregate v1.4.3 windows-installer.exe and click on it to follow the steps.

odk setup open data kit install









   
   

               
             
            
            
                        
            

            
        odk install 
  
    

The above screenshot explains the folder where the odk application is. war is deployed










   
   

               
             
            
            
                        
            

            
        ODK platform amazon
  
    



  








   
   

               
             
            
            
                        
            

            
        odk on tomcat amazon cloud
  
    




  








   
   

               
             
            
            
                        
            

            
        odk ssl configuration
  
    




    








   
   

               
             
            
            
                        
            

            
        odk tomcat configuration
  
    

The above IP address is to provide Amazon public IP address

      








   
   

               
             
            
            
                        
            

            
        odk postgres setup
  
    


      








   
   

               
             
            
            
                        
            

            
        odk database configuration
  
    

This IP address is the location of an instance where Postgres is installed. ODK and Postgres are installed on the same machine, so providing 127.0.0.1 as a Postgres instance

      








   
   

               
             
            
            
                        
            

            
        odk aggregate postgres database settings
  
    



      








   
   

               
             
            
            
                        
            

            
        odk aggregate database settings
  
    

This screen talks about the odk application database and user details information.

      








   
   

               
             
            
            
                        
            

            
        odk application database, user details information
  
    



        








   
   

               
             
            
            
                        
            

            
        odk instance name
  
    



          








   
   

               
             
            
            
                        
            

            
        odk aggregate email configuration
  
    


          








   
   

               
             
            
            
                        
            

            
        odk aggregate configuration
  
    



          








   
   

               
             
            
            
                        
            

            
        setup odk aggregate configuration
  
    




            








   
   

               
             
            
            
                        
            

            
        odk aggregate configuration success
  
    

The above setup creates the following files as per the below screenshots.

create_db_and_user.sql :- This is SQL script for creating database odk_prod , user :- odk_user, password: odk_user and granting all privileges for odk_user

ODKAggregate.war:- This is an odk aggregate application that needs to deploy in the tomcat server.

              








   
   

               
             
            
            
                        
            

            
        odk SQL and war files
  
    

Postgres Installation

Please install Postgres. Once Postgres is installed, please follow the below steps to create an odk database, of users.

  1. Execute the Postgres SQL shell (psql) command-line client using the Postgres username and password (the password you chose during the installation of the database), and supply the create_db_and_user.SQL to it. To open the psql command-line client, open a cmd window (Windows), terminal window (macOS), or terminal window (Linux), and ‘cd’ to the directory containing the psql client (psql.exe on Windows). Then, please type:

  2. psql –username Postgres

And enter the PostgreSQL server password. You will then be within the psql command-line client. You should see a ‘postgres=#’ prompt. Type:

\cd D:/odksetup/ODKAGG~1

\i create_db_and_user.sql

\q

Here is what this looks like on Windows, with what you must type in red:

Microsoft Windows [Version 6.1.7600]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Windows\System32>cd “\Program Files\PostgreSQL\9.0\bin”

C:\Program Files\PostgreSQL\9.0\bin>psql.exe –username postgres

Password for user postgres:*******

psql (9.0.4)

WARNING: Console code page (437) differs from Windows code page (1252)

8-bit characters might no work correctly. See psql reference

page “Notes for Windows users” for details.

Type “help” for help.

postgres=# \cd D:/odksetup/ODKAGG~1

postgres=# \i create_db_and_user.SQL

CREATE DATABASE

CREATE ROLE

GRANT

ALTER DATABASE

WARNING: Console code page (437) differs from Windows code page (1252)

8-bit characters might no work correctly. See psql reference

page “Notes for Windows users” for details.

You are now connected to the database “odk_prod”.

CREATE SCHEMA

GRANT

odk_prod=# \q

C:\Program Files\PostgreSQL\9.0\bin>

The next step is to install java and tomcat. once installed deploy the war to tomcat

Odk application deploy to tomcat

copy the ODKAggregate.war to the /var/lib/tomcat6/webapps/ODKAggregate directory of the Apache Tomcat installation.

Please generate the certificate using the following command

sudo keytool -genkey -alias admin -keypass adminpass -Keystore certificate.jks -storepass adminpass

The above command generates a certificate. jks in the current folder. Please copy the certificate.jks file to /var/lib/tomcat6/conf and add/modify below entries in /var/lib/tomcat6/conf/server.xml

`  
<?xml version="1.0" encoding="UTF-8"?>  
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/certificate.jks" keystorePass="adminpass" />  
`  

8443 is the SSL port for tomcat and 8080 is for normal HTTP request
The next step is to start Apache Tomcat server(if not already started)

visit http://ipaddress:8080/ODKAggregate/ and go to the Management / Permissions tab to complete configuring the access rights for ODK Aggregate.

THE BEST NEWSLETTER ANYWHERE
Join 6,000 subscribers and get a daily digest of full stack tutorials delivered to your inbox directly.No spam ever. Unsubscribe any time.

Similar Posts
Subscribe
You'll get a notification every time a post gets published here.