Crisis Info Hub
Crisis Info Hub is a super lightweight content management system, based on Google Docs.
Crisis Info Hub provides a templatized Google Doc, customizable to allow organizations and individuals to disseminate crisis-relevant information in a low-bandwidth way. A published version of this Google Doc is served through a Google App Engine instance, which provides additional functionality including translation and analytics. Example
Learning more about Crisis Info Hub
- See the Crisis Info Hub introduction deck to see design highlights and a more complete overview of the product.
Creating a Crisis Info Hub Instance
- Follow the Playbook to create your own Crisis Info Hub instance.
Contributing to Crisis Info Hub
- Follow CONTRIBUTING to learn more about the development process.
Note: This is not an official Google product.
These instructions have been tested with the following software:
- node.js >= 0.8.0
- 0.8.0 is the minimum required to build with Grunt.
An alternative to the Grunt build is provided via the
util.sh shell script.
mkdir $HOME/bin; cd $HOME/bin
npm install grunt-cli
sudo npm install -g grunt-cliwill install system-wide and you may skip the next step.
- It is advisable to add this to login profile scripts (.bashrc, etc.).
- Visit https://developers.google.com/appengine/downloads, copy URL of "Linux/Other Platforms" zip file for current AppEngine SDK. Do this regardless of whether you are on Linux or OS X.
curl -O <url on clipboard>
mkdir google_closure; cd google_closure
curl -O https://dl.google.com/closure-compiler/compiler-latest.zip
unzip compiler-latest.zip; cd ..
mkdir google_closure_templates; cd google_closure_templates
To install dependencies for unit testing:
sudo easy_install pip
sudo pip install unittest2
You need to provied some required information
- App Engine ID (edit the file
- Google Docs embed links (edit the file
These instructions assume a working directory of the repository root.
All users should run:
git submodule init
git submodule update
Grunt users should also run:
To run the development appserver locally:
If you are not using Grunt, simply run:
To deploy to AppEngine:
grunt appengine:update:app --appid=<appid>
--appid= will override any value set in
config.json. You may
config.json file to avoid having to pass this parameter on
If you are not using Grunt, simply run:
util.sh -p <appid>
Detailed Dependency Information
The AppEngine SDK should be present in the directory:
You can find / download this at: https://developers.google.com/appengine/downloads
(Optional, if using Google Closure): The Google Closure Compiler (and a suitable Java runtime), located at:
You can find / download this at: https://github.com/google/closure-compiler
You will need all the files from this archive in the above directory: compiler-latest.zip
The compiler is invoked with the default namespace of 'app.' The compiled
You will also need the Closure Library (in the closure-library submodule of this repository).
You can find more on the Closure Library here: https://github.com/google/closure-library
To use it, you will need to check out the code as a submodule by running the following commands from the base directory of this repository:
git submodule add <https://github.com/google/closure-library/> closure-library
git commit -m "Initial import of Closure Library"
(Optional, if using Closure Templates): The Closure Template compiler (in addition to the Closure Compiler), located at:
You can find / download Closure Templates at: https://github.com/google/closure-templates
You can build this using the ant target "zips-for-release", or download a prebuilt version (the URL is in the Dependency Setup section).
The deployment script checks for the presence of .soy files in templates/soy.
SoyToJsSrcCompiler.jar in the previously mentioned directory. The resulting
library provided with the Closure Templates bundle that is necessary to include
on any page you plan to use Closure Templates.