ALAC is an online portal/Database of existing diagnostic tools, searchable by key criteria and updated at regular intervals.


ALAC(Advocacy and Legal Advice Centers) is an online portal/Database of existing diagnostic tools, searchable by key criteria and updated at regular intervals. The major purpose of ALAC Database is to record all corruption and non-corruption data through the local chapters as well as through the Central database. The project has two layers. One a Central Database and the second one the local database. The relevant data from the local databases can be synced to the Central Database. The data which is stored on the databases can be used to generate statistics and reports based on various criteria.

It can manage new and existing cases, including attachments, filing systems, reminders, etc. The system can track relevant advocacy information, partnerships (non state actors and government), and financial data (donors). It can easily pull together data from different countries to be analyzed as well as generate reports on statistical data (in paper and on screen). The system allows taking backup / restoring for preventing data loss and version system for making all data into one place. The system provides roles/access for the operators and all the actions are logged.


  • Symfony 1.4
  • Ajax
  • php
  • mysql
  • jquery, Colorbox
  • PHP JAVA Bridge
  • Jasper Reports

Key Issues

  • Technical Challenges
    The data in the local ALACS have to be synchronized with the central alac and some of the local alac’s won’t be having internet. We developed a web service to synchronize with the local and central alac’s. For local alac’s without internet we developed a manual synchronizing interface.
    The data must be stored in the database in encrypted format. But in the mean time it must be searchable and also editable. We achieved this by using blowfish encryption algorithm.
    There will be local alac’s installed in different countries. If a new version of Alac application with added features is available then the local alac’s must be informed about this.The local alac’s must have the possibility to update to latest version from the application itself. To meet this requirement we developed a versioning system within the application. Any updates will be uploaded in the central installation as a zip file. Once a new update is available all the local alacs will have a notification that a new version is available. If they decide to upgrade we transfer the updates to the local installations using web services.
    The client wanted to use Jasper Reports as the reporting tool. Jasper reports are build using Java. We managed to integrate this by using PHP-JAVA bridge. To automate the integration of Java bridge we used Zend server where Java bridge is available by default.

Final Deployment

The Alac application must be installed in different locations and in different Operating Systems. We developed a packager which will automate the process of installation. Users can download the package and install in the server/local machine with minimal effort.


Back to References                                                                                                    Next References