Bringing a new dataset online

Though the process for cities and their representatives is documented on the GitHub wiki but this document is intended to be the companion piece for operators.


Your terminal program must respond to these commands:

In general, homebrew with rbenv and heroku packages are your friend here.

Coaching through a submission

Whether from government representatives or from interested citizens, inbound interest in coming online with Citygram is relatively healthy. Sometimes there will be a pull request, sometimes there won't be. Sometimes they will have read the documentation, sometimes they won't have read it. Our goal so far has been to coach in good faith through a submission, even with those for whom Ruby is not a first language.

It's a reasonable time to note that there is no requirement for the middleware layer to be delivered via citygram-services. Any URL that returns GeoJSON (including those straight from an Open Data Portal) is fine.

Verifying submission quality

While verifying submission quality, you'll be using the citygram-services repo, almost certainly.

Once there is at least some kind of pull request available on citygram-services (or a URL submission of another variety), it's time to verify. Lets consider the most common: a PR to citygram-services. That verification process is roughly:

Add their fork as a remote in order to acquire their branch

This is basically "acquire their code to run it locally"

Run citygram-services locally with their code available