Issue #24 over on the CrisisCommunicator GitHub pages has been assigned to me for a couple weeks now; but it’s finally cleared up. The issue description was simple enough: write the instructions for installation.
As with all programming, it got more complicated from there.
Previously, I had written a script called Adorno (announcement here), which allows Python / Django beginners to quickly and (relatively) effortlessly set up a professional development environment, including:
- Heroku (for Git-based online hosting)
- PythonBrew (to maintain separate versions of Python)
- VirtualEnv and VirtualEnv Wrapper (via VirtualEnv Burrito)
- and finally, pip.
Setting up all that stuff can take a novice days, and can be enough to scare anyone away. At the very least, novices will “make do” with only part of the above, usually skipping VirtualBox, Vagrant, and Git, using PythonBrew only if absolutely necessary, and perhaps not even bothering to install VirtualEnv. That’s a pity, because their life could be so much easier with those tools! (I know… I’m guilty!)
Well, Adorno solved that for me. It was a nice script that I could use to easily set up those things, and was geared for people just starting their Tango with Django.
What does that have to do with Issue #24? Well, I reasoned, if Adorno could setup for Tango with Django, it shouldn’t be too difficult to expand it, so that developers could use it to easily install their Django projects in development environments. I needed to abstract the project-specific customization into a separate configuration file, which could be tailored for every project.
Very long story short, with some great help from IRC user Riviera (who introduced me to ShellCheck – a great error-checker and best-practice resource for your shell scripts) it’s done! (Well, it’s working. Riviera gave me a long list of homework, which will be done, I promise!)
Getting started with CrisisCommunicator development is easier than ever before. Head on over to the how-to, and start coding!
If you have your own project, feel free to include a <project_name>_adorno.sh script file in the root of your repository. Check the Adorno repository for a guide (use tango_adorno.sh – it’s very simple).
I hope it’s useful, and that the development of the CrisisCommunicator increases!