20/04/2018, Jon Nicholson (@drjonnicholson)
  • Fixed import errors, caused by incorrect file permisions.
  • Disabled governer and local authority links import, and related data from exported data objects. Recent feedback has been that this is a nice but unused. If you were using this feature please contact us on our issue tracker.
18/04/2018, Jon Nicholson (@drjonnicholson)
  • Working to fix a long standing issue of imports working but then reporting failure. Resulted in a massive update to migrate the system to Laravel 5.6 and upgrade all other dependencies.
  • Moved swagger.json to openapi.json. A redirect has been set up, but please update your references accordingly.
04/05/2017, Jon Nicholson (@drjonnicholson)
  • Fixed a number of issues in the swagger documentation to be more accurate for the XML.
  • JSON format output (and its documentation) should be considered VOLATILE. There are currently discussions in the SIF world about how to handle JSON, and how to make it a first class citizen of the specification rather than a simple conversion from XML. As soon as we have a concrete definition of how JSON will be used going forward we will update our output and documentation accordingly.
08/03/2017, Jon Nicholson (@drjonnicholson)
  • Fixed a number of issues, including the data exports.
  • Switched method of generating JSON output, so JSON output is closer to being SIF3 compliant. Note that this does mean there is a breaking change in the JSON format. Text elements are now referenced using `#text` rather than `$`.
  • Added the ability to put `.json` or `.xml` on the end of requests to retrieve that content type.
  • Some radical cleanup of controller code.
  • Lots of other minor tweaks.
28/01/2017, Jon Nicholson (@drjonnicholson)
  • Performance improvements and edits based on feedback from Bett2017. Updated required a database update, apologies to any who already created API keys.
26/01/2017, Jon Nicholson (@drjonnicholson)
  • Numerous bug fixes and tweaks necessitating clearing the database. The logic around the data is getting more stable and once we have confirmed that our hashing mechanism to minimize reprocessing unchanged data works as expected we will start scheduled database backups. At that point RefIds/GUIDs should become permanent.
24/01/2017, Jon Nicholson (@drjonnicholson)
  • Added support for local authorities (LAInfo objects), and governors (ContactPersonal objects), as well as improvements to handling of multi-school groups. LAInfo objects are missing some optional information, such as their address and contact phone number - we are currently searching for an appropriate source of this informaiton.
  • Added CORS headers to all requests rather than just a select few, should help with error cases and other JSON files being accessed remotely.
  • Added caching to the RSS feed and the generated swagger.json file.
  • Added link to RSS of Ofsted reports by URN. Both a link to the HTML and RSS data given. Note that there may not be any results at the end of that URL if the institution has not yet been inspected by Ofsted (e.g. recently became an Academy).
  • Revamped some stuff under the hood to make data generation a bit more efficient and adding new datasources much easier.
  • Improved the routes so that no content (204) responses come back from API routes rather than 404s. That is, now returns a no content response rather than the site homepage, and similarly no longer returns a 404 error.
  • Found and fixed a number of issues relating to missing data in certain circumstances.
  • Added HMAC signed ETags on responses for single entities from the API, and If-None-Match header handling (BETA).
  • Added If-Modified-Since header handling (BETA).
  • Added Content-MD5 on responses for single entities from the API.
  • Improved date/datetime handling by using Carbon->toW3cString() rather than simple toString()
18/01/2017, Jon Nicholson (@drjonnicholson)
  • Got our ODI Gold Certification!
  • Heavily updated and corrected our API documentation.
17/01/2017, Jon Nicholson (@drjonnicholson)
  • Have done some more work under the hood, and decided to amalgamate migrations resulting in a need to regenerate the data from scratch. The result of this is a small period of downtime (while the database content is rebuilt) and the refid/guids of objects will change.
  • Made an RSS feed for the exported files, the last 10 releases are maintained.
15/01/2017, Jon Nicholson (@drjonnicholson)
  • Added LAId as a searchable parameter for SchoolInfo objects.
  • Fixed the data dumps and made them daily. The data is now streamed so much faster, i.e. less than 10 minutes to generate and write all SchoolInfo objects to a file nearly 200Mb in size.
  • Added a export status page in JSON format.
12/01/2017, Jon Nicholson (@drjonnicholson)
  • Re-introduced GitHub sign in with API rate limiting. Details of rate limits are on the Status page.
  • Added weekly data dump of all SchoolInfo and MultiSchoolGroupInfo objects in XML format.
  • Many small, but significant, bug fixes.
11/01/2017, Jon Nicholson (@drjonnicholson)
  • Added SIF_Metadata elements to all data elements that details about how the object was constructed, such as when the object was created (it may have been cached) and which data sources have ben used to construct it.
  • Renamed last-changed-date to edubase-last-changed-date in SchoolInfo to be more explicit as to its provenance.
  • Added machine-readable license and copyright data to license page.
05/01/2017, Jon Nicholson (@drjonnicholson), Ian Tasker (@penfold_99),
  • Updated documentation and added twitter link.
04/01/2017, Jon Nicholson (@drjonnicholson), Ian Tasker (@penfold_99),
  • Added license information.
  • Added data quality information to status page.
  • Added data availability information to status page.
  • Added ODI Certification (Silver).
  • Moved the routes to the objects from '/rest/sif' to '/rest/sif/requests'. This adds compatibility with SIF-style URLs.
03/12/2016, Jon Nicholson (@drjonnicholson)
  • Performance improvements and other back-end cleanup/optimizations.
28/11/2016, Jon Nicholson (@drjonnicholson)
  • Changed query search term from 'term' to 'q'. This brings the API closer to other APIs.
  • Added MultiSchoolGroupInfo to capture groups of schools, like Multi Academy Trusts and Academy Sponsors. The Swagger interface has had the object added, but more details are needed (e.g. what data it contains and what is required).
  • Moved the routes to the objects from '/rest/sif/uk/2.0' to '/rest/sif'. Having the data model in the URL causes problems with the additional MultiSchoolGroupInfo object, which is not part of the SIF UK 2.0 specification.