release

SlashDB Puts 2014 to REST

SlashDB Puts 2014 to REST

We are saying our goodbyes to 2014 with the final update to version 0.7 of SlashDB. Amazing new features await in 0.8, so stay tuned, but in the meantime, here’s…

What’s New

SlashDB ver. 0.7.39

Final revision of the 0.7 version contains over 20 improvements and fixes including:

  • Improved conformance to REST/HTTP standard by adding support for Accept header
  • Bundled support for IBM DB2
  • Improvements to database configuration GUI
  • Improved warning and error messages in admin’s GUI
  • Improved handling of date/time types for update
  • Fixed certain minor GUI issues (i.e. database dropdown, login box, sorting)
  • Fixed incorrect handling of boolean fields and empty values in CSV data upload
  • Fixed certain issues with XML representation of the NUMBER data type
  • Stronger user-resource authorization

R Stands for Representation

The “R” in REST stands for representation of a resource. While the vast majority of APIs can only output a JSON format, SlashDB from the very first version emphasized the need to provide alternative representations. We are pragmatic programmers, so the requested representation could be conveniently specified as a “file extension” in the URL:

http://demo.slashdb.com/db/Chinook/Playlist.xml
http://demo.slashdb.com/db/Chinook/Playlist.json
http://demo.slashdb.com/db/Chinook/Playlist.csv
http://demo.slashdb.com/db/Chinook/Playlist.html

The problem with this approach is that it commingles resource identification with representation. One could argue that the above are four distinct resources because each uniform resource locator (URL) is different.

The solution to this is already designed into the HTTP protocol as the “Accept” header. From this version onwards SlashDB fully supports it (but we will keep the old way forever). And so, the Playlist resource identifier becomes:

http://demo.slashdb.com/db/Chinook/Playlist/

By default an HTML representation will be returned, so to select an alternative representation, send the desired content type with your request. Here’s how to do that with a popular command line tool curl:

curl -H "Accept: text/xml" http://demo.slashdb.com/db/Chinook/Playlist/
curl -H "Accept: application/json" http://demo.slashdb.com/db/Chinook/Playlist/
curl -H "Accept: text/csv" http://demo.slashdb.com/db/Chinook/Playlist/
curl -H "Accept: text/html" http://demo.slashdb.com/db/Chinook/Playlist/

So there you have it. Now you can pick your way: strictly REST/HTTP correct or convenient.

Happy New Year

Thank you for your support all year and have a happy and prosperous 2015!

/db ver. 0.4 released

New version of /db has been released. Performance improvements to XML generator, new configuration options, and new relationship traversing algorithm are among “What’s new”.

Work wraps in 0.3.x branch

Another batch of improvements has just been reintegrated into the stable branch of code. Among changes are better and faster internals and improvements to configuration files. We have also successfully completed testing with MS SQL Server 2008 R2, which happens to be a database server of choice at one of our early adopters. These will be the last of the 0.3.x updates.