Fixed the changelog to follow indentation conventions in the JSON Api release entry.

- Legacy-Id: 9313
This commit is contained in:
Henrik Levkowetz 2015-03-21 21:51:59 +00:00
parent c16b7c555f
commit dd56a1fe40

View file

@ -570,42 +570,42 @@ ietfdb (5.8.1) ietf; urgency=medium
ietfdb (5.8.0) ietf; urgency=medium ietfdb (5.8.0) ietf; urgency=medium
** JSON Api ** **JSON Api**
This release introduces a machine-readable API to the datatracker database This release introduces a machine-readable API to the datatracker database
content, based on Tastypie (https://django-tastypie.readthedocs.org/). content, based on Tastypie (https://django-tastypie.readthedocs.org/).
Currently the API is set to read-only; but Tastypie does support Currently the API is set to read-only; but Tastypie does support
fine-grained control of create, read, update, and delete permissions, so if fine-grained control of create, read, update, and delete permissions, so if
we find that it makes sense at some point, we can open up for authenticated we find that it makes sense at some point, we can open up for authenticated
access to more than just reading database content. access to more than just reading database content.
The details of which tables and objects from the database that are exposed The details of which tables and objects from the database that are exposed
in the API are controlled by a series of resources.py files; one per Django in the API are controlled by a series of resources.py files; one per Django
app. By default, no data is exposed; in order to expose a table, the app. By default, no data is exposed; in order to expose a table, the
resources file must contain a resource specification, in the form of a resources file must contain a resource specification, in the form of a
python class which determines which table fields should be exposed, and how. python class which determines which table fields should be exposed, and how.
Since we want to expose almost all the database content, rather than only a Since we want to expose almost all the database content, rather than only a
few selected tables, there is a lot of code which needs to be specified few selected tables, there is a lot of code which needs to be specified
(more than 200 classes, with almost 2000 lines, at this writing) in order (more than 200 classes, with almost 2000 lines, at this writing) in order
to make data available through the API. to make data available through the API.
Rather than manually type out all of the needed classes, a management Rather than manually type out all of the needed classes, a management
command (ietf/manage.py makeresources) has been added which will generate command (ietf/manage.py makeresources) has been added which will generate
the needed resource classes in the resources.py files automatically. the needed resource classes in the resources.py files automatically.
Existing classes will be left intact, though, which makes it feasible to Existing classes will be left intact, though, which makes it feasible to
hand tune the classes if needed, but still auto-generate resource classes hand tune the classes if needed, but still auto-generate resource classes
when new tables are added. when new tables are added.
In addition to read access to the exposed tables and objects, the Tastypie In addition to read access to the exposed tables and objects, the Tastypie
API provides support for automated discovery of the available tables. Starting API provides support for automated discovery of the available tables. Starting
at the URL https://datatracker.ietf.org/api/v1/, the returned machine-readable at the URL https://datatracker.ietf.org/api/v1/, the returned machine-readable
data provides URL information for all available API endpoints, which makes it data provides URL information for all available API endpoints, which makes it
possible to recurse down to all available data. possible to recurse down to all available data.
Data is currently provided in JSON and XML format. Adding new formats is Data is currently provided in JSON and XML format. Adding new formats is
fairly easy, if it should be found desriable. fairly easy, if it should be found desriable.
-- Henrik Levkowetz <henrik@levkowetz.com> 18 Dec 2014 16:06:05 +0000 -- Henrik Levkowetz <henrik@levkowetz.com> 18 Dec 2014 16:06:05 +0000