Deploy and Customize Ushahidi

From Foss2Serve
Revision as of 17:01, 17 June 2016 by JBarr (Talk | contribs)
Jump to: navigation, search
Title Deploy & Customize Ushahidi
Overview Students will download Ushaidi and install it on either the cloud (using Heroku) or on a VM or on an actual Linux machine.
Prerequisite Knowledge Understand client/server concept, how to install software, how to use command line interfaces, basic XML concepts.
Learning Objectives 1. Implement and deploy a basic working Ushahidi server 2. configure Ushahidi server 3. Deploy a Ushaihid client


Is there background reading material?

Students should be read Ushahidi install documentation:

Readings on client/server architecture.

Readings on the platform used.

Are there other activities the student should have done first?

Students should be familiar with Ushahidi and have examined or done an Ushahidi deployment. Example deployments can be found at

What is the rationale for this activity?

This activity will give students a hands-on understanding of the Ushahidi server.

Include helpful hints to faculty here.

Installing on Heroku is very simple and can be done without configuration or through a terminal with configuration.

Installing on an actual Linux box can be challenging (or impossible) without previous Linux experience.


What should the student do?


What will the student hand in?

1. Students will provide the URL of their server.

2. Students will provide a 3 page reflection that includes

   a.  challenges encountered
   b.  reference to the instructions that they followed and comments on these
   c.  suggestions for others installing
   d.  configuration options that they used


How will the activity be graded?

Instructor will go to the URL and test the deployment.

Students will perform an installation by following other student's instructions.

How will learning will be measured?

Learning will be measured through a reflective paper.

Include sample assessment questions/rubrics.

Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
Ushahidi installed Does not run Runs with stock configuration Runs with some configurations Runs and is completely configured
Reflection No information provided Paper just provides available instructions and contains no hints or reflection Paper provides enough information for a new user to perform a successful installation Paper provides rich information and hints and reflections on the process that the student followed


What should the instructor know before using this activity?

Instructor should perform the installation prior to the start of the class.

What are some likely difficulties that an instructor may encounter using this activity?

Instructors must be aware of versions; these can change during the course.

Installation procedures change often.

There are many dependencies which must be installed before Ushahidi can be installed. These dependencies can change during the project.

Additional Information:

ACM Knowledge Area/Knowledge Unit IM, information management, NC networking and communication ACM_Body_of_Knowledge
ACM Topic Information Management Concepts, Networked Applications -
Level of Difficulty Basic configuration is easy, advanced configuration is medium.
Estimated Time to Completion 2 hours
Materials/Environment Students need a github account and access to either Heroku or a Linux box that can be configured.
Author Alan Rea, John Barr, Ying Liu, Jiang Li, Jonathan Poritz
Source None

Suggestions for Open Source Community:

Suggestions for an open source community member who is working in conjunction with the instructor.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png

Personal tools
Learning Resources
HFOSS Projects