Deploy and Customize Ushahidi
|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: https://www.ushahidi.com/support/install-ushahidi
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 https://wiki.ushahidi.com/display/WIKI/Types+of+Maps
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?
Instructions for installing Ushahidi can be found at https://www.ushahidi.com/support/install-ushahidi
What will the student hand in?
- Students will provide the URL of their server.
- Students will provide a 3 page reflection that includes
- challenges encountered
- reference to the instructions that they followed and comments on these
- suggestions for others installing
- 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.
|ACM Knowledge Area/Knowledge Unit||IM, information management, NC networking and communication ACM_Body_of_Knowledge|
|ACM Topic||Information Management Concepts, Networked Applications/client-server applications - https://www.acm.org/education/CS2013-final-report.pdf|
|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|
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