Screenshot and Links
Many of the features of the prototype Explorer Toolkit have been replaced by IATIExplorer.net which is regularly updated.
Other prototype toolkit tools are still available at http://tools.aidinfolabs.org but the document store here may not reflect the latest data.
The IATI Explorer Toolkit is a prototype consisting of:
- The eXist XML Database
- Import scripts that check the IATI Registry daily for updated IATI data and load it into eXist
- A REST interface which accepts XPATH queries to fetch back sub-sets of raw IATI XML, and which accepts XSLT Stylesheets to return reformatted data.
- A query-builder interface which can be used to create XPATH queries (based on IATI code-lists) and to fetch back data based on selected style-sheets
- A query processing page that will apply XSLT to results and allow results to be retrieved page-by-page (to allow large queries to be executed bit-by-bit).
These are currently running at http://tools.aidinfolabs.org and in the future may be available as a package to run on your own server, or a virtual server image to easily run on a local machine or on cloud hosting.
How can you use it?
- If you need to fetch IATI data covering a particular country or region in CSV, use the query builder and CSV output options to fetch activity details or transactions
- If you are building an application to view IATI data, but want to avoid downloading whole IATI files (which could be many MB in size), you can use the eXist REST API to fetch data in small chunks and to page-through data.
- If your applications need IATI data formatted in a particular JSON or XML format you can create an XSLT stylesheet and fetch ready-formatted data directly from the eXist REST API.
- If you want to find out what data is currently in the IATI registry from a particular country, or on a particular theme (or filtered by any other commonly used field), use the query builder and then view data in the IATI Explorer Exhibit interface.
If you want help exploring how to use the toolkit to enable you to create applications using IATI data get in touch by leaving a comment below.
I’ve been thinking about a number of ways to develop the toolkit in future:
- Better performance – there are ways of building indexes over eXist data that I’ve not yet explored but that could increase performance of the database.
- Simpler API – eXist’s REST API effective provides an API onto IATI data, but you need to know XPATH to use it. So we could set up a simple API for fetching individual activities or particular sets of activities from simple paths like /api/activity/1235 or /api/country/AF
- Virtual server image – The idea of a providing the toolkit as a virtual image is inspired by the Data Science Toolkit. It would allow users who need an API with a guarantee of performance to host their own copies of the service, or to adapt it to their own needs.
- Custom package management – right now the service fetches all IATI datasets. To make a server image version more customisable we might want to allow users to select which data from the IATI Registry they want to import.
- Other tools - Like the Data Science Toolkit we could provide a range of useful tools for more advanced work with the data. For example, a service to convert currencies to a standard base.
I’ll also work on documenting individual features of the toolkit, improving the general usability, and making many small tweaks in the coming weeks.
All comments and suggestions very welcome.
Creators and license
Idea and implementation by Tim Davies. Advice and support on use of eXist from Kit Wallace. Server configuration was carried out by Dogsbody Technology Ltd. IATI Explorer interface design by Zario Zappia. XSLT templates by Rob McKinnon and others.
Using open source software.