Made for intelligence analysts. Now free to the public.

Developer FAQ

From The Open Source Analysis of Competing Hypotheses Project

What is Open Source ACH coded in?

PHP5 & MySQL, with a couple of Javascript libraries for the UI. It was written for an Apache server.

Is there anything special I should know about the code, seeing as how it was written for the intelligence world?

No. It's completely ordinary PHP that was built on an everyday Apache server, with no special tricks.

Why didn't you program it in (Django/Rails/Cake/some other framework that would make the code a lot cleaner)?

ACH was created primarily for government clients, many of whom do not have the latest frameworks installed on their servers and will not install them for the sake of just one application. If we used a framework, a lot of government organizations would be unable to use it.

What parts of the project need work?

On the front end, our persistent chat room could use some work, especially in making it IE-compliant. We'd also like to beef up the matrix tables with click-and-drag resizing and Ajax-y editing.

On the back end, our .htaccess file is getting out of control with RewriteRules. We should clean it up, and that might mean modifying the links in our HTML. And there are also a few inline PHP functions and CSS, which obviously should be moved. For more details, see the issue tracker.

Where is the repository hosted?

Github. They also host the tar file.

How can I become a repository contributor?

For now, join the Google Group, introduce yourself, and talk about how you'd like to contribute.

Where's your developer forum?

Google Groups.

Where's your bug tracker?

Google Code

What if I want to run it on a non-Linux server?

If you want to run ACH on a FreeBSD server, use the port system to install ACH in the following way:

cd /usr/ports/www/ach && make install clean

Then, follow the instructions given.

We've gotten a few requests for a Windows-compatible version. This software has been modified by others to run on Windows servers, so it is possible. However, creating a Windows-compatible distribution is not a priority for the project right now.

What's with these colors you're using in the app? The UI would be much improved if you changed the stylesheet.

ACH uses a lot of tables with color-coded cells. The colors we chose don't make for the most awesome look, but we chose them specifically because they're color-blind compliant. If we chose more designer-friendly colors, about 9% of our potential user base would be out of luck.

We chose the colors simply by looking at color-blind color charts, and we haven't tested them on any humans, so if you have the ability to do this, please give us feedback.