|
| 1 | +ietfdb (5.8.0) ietf; urgency=medium |
| 2 | + |
| 3 | + This release introduces a machine-readable API to the datatracker database |
| 4 | + content, based on Tastypie (https://django-tastypie.readthedocs.org/). |
| 5 | + |
| 6 | + Currently the API is set to read-only; but Tastypie does support |
| 7 | + fine-grained control of create, read, update, and delete permissions, so if |
| 8 | + we find that it makes sense at some point, we can open up for authenticated |
| 9 | + access to more than just reading database content. |
| 10 | + |
| 11 | + The details of which tables and objects from the database that are exposed |
| 12 | + in the API are controlled by a series of resources.py files; one per Django |
| 13 | + app. By default, no data is exposed; in order to expose a table, the |
| 14 | + resources file must contain a resource specification, in the form of a |
| 15 | + python class which determines which table fields should be exposed, and how. |
| 16 | + |
| 17 | + Since we want to expose almost all the database content, rather than only a |
| 18 | + few selected tables, there is a lot of code which needs to be specified |
| 19 | + (more than 200 classes, with almost 2000 lines, at this writing) in order |
| 20 | + to make data available through the API. |
| 21 | + |
| 22 | + Rather than manually type out all of the needed classes, a management |
| 23 | + command (ietf/manage.py makeresources) has been added which will generate |
| 24 | + the needed resource classes in the resources.py files automatically. |
| 25 | + Existing classes will be left intact, though, which makes it feasible to |
| 26 | + hand tune the classes if needed, but still auto-generate resource classes |
| 27 | + when new tables are added. |
| 28 | + |
| 29 | + In addition to read access to the exposed tables and objects, the Tastypie |
| 30 | + API provides support for automated discovery of the available tables. Starting |
| 31 | + at the URL https://datatracker.ietf.org/api/v1/, the returned machine-readable |
| 32 | + data provides URL information for all available API endpoints, which makes it |
| 33 | + possible to recurse down to all available data. |
| 34 | + |
| 35 | + Data is currently provided in JSON and XML format. Adding new formats is |
| 36 | + fairly easy, if it should be found desriable. |
| 37 | + |
| 38 | + -- Henrik Levkowetz <henrik@levkowetz.com> 18 Dec 2014 16:06:05 +0000 |
| 39 | + |
| 40 | + |
1 | 41 | ietfdb (5.7.4) ietf; urgency=medium |
2 | 42 |
|
3 | 43 | This release contains the datatracker bugfixes and enhancements from the |
|
0 commit comments