As per the title, 9.8.0 Stable has been released. As our last stable release was on the 11th of April, nearly 2 months ago, this will be the first in a while and there're a few things you'll need to know.

There are lots of changes under the hood, however with luck you'll see almost none. Before you upgrade, please ensure that your Site Configuration -> Debugging -> Production/Development setting is set to Production. This will ensure you have as smooth an upgrade as possible, then you must upgrade your plugins too. 95 plugins have seen improvements and/or tweaks.

 

REST API

Manual page

9.8.0 formally introduces the new REST API, which securely exposes the Jomres system to remote services, and it is huge for the future of Jomres as it puts you, the site owner, on a par with your SaaS competitors like Planyo and Freetobook etc.

What sort of remote services will use the REST API?

The only limit here is your imagination!

One such possible use of the feature is to allow remote devices such as mobile apps to pull information from your site. We have a prototype Android Studio app that has pulled the user's favourites off of a test server, which was a satisfying proof of concept. It doesn't take much to envision more complicated apps doing more than that in the future.

Another possible option is to allow remote "Super Servers" to connect to your site. We regularly get comments from users who want to consolidate property and booking information between sites. Up until now that was a tricky task to pull off without a Channel Manager, but with the REST API it becomes much simpler because there's an easy to use, fully documented API that will allow this to happen.

Nuts and bolts

The REST API code that receives calls from the outside world and authenticates the user is built into the Core of Jomres, however you will need to install the API Core plugin to be able to create REST API Clients.  These can be found in a new tab in the Jomres Plugin Manager.

The actual code for handling REST API calls is available in plugins called "API Features". This allows you to choose which features you want to expose to the outside world, and it also gives me time to actually add more of these features. There's already a good selection of features available, but post 9.8.0 release I'll be adding many more as we identify functionality that's required by remote services. I would also encourage our third party developers to investigate adding their own API features. Instructions on how to build API Features can be found here.

There is significant documentation already built into the API Core plugin. This is because consumers of this functionality are developers accessing your own sites, they will be unaware of Jomres itself and there's little likelihood of them visiting Jomres.net. Consequentially, it makes sense to make this documentation visible to them on your own sites, not ours.

Other changes

Property types/room types

Property type and Room type creation has been simplified a lot. In previous versions site managers were almost set up to fail in creating room types and adding tariffs to those room types. Aladar's done an absolutely magnificent job of improving this side of things so that site managers don't need to understand the nuanced differences between Multi-room properties ( e.g. hotels ) and Single room properties ( e.g. Villas/apartments ) to setup their sites. Bonus : One less field in Property Creation form.

Several plugins have been retired

Powered by Gone. This is no longer required as there's a switch in Site Config that'll disable the link that appears in the frontend.
External Notification. This hasn't received any love since it was created and there's now the REST API that would take over half of it's role.
Template Editing. Over the last few years we've fine-tuned the template over-ride functionality for both Joomla and Wordpress. The only reason we haven't retired this sooner is because of the Property Type specific template functionality that the plugin offered, but now you can have property type specific templates in a sub-directory of the template, so we're finally able to put this to bed. http://www.jomres.net/manual/developers-guide/52-customising-jomres/306-template-overrides

Error handling updated

We've done a lot on how basic errors are handled internally. This required a number of file changes, and you may find that you experience issues where property descriptions etc are overridden by global strings that have been saved in the database. These are easily resolved by removing those custom strings in the Administrator -> Jomres -> Languages -> Global strings page ( requires Custom Global Strings pluging to be installed ).

Classifying code

Not as strange as it sounds. We've moved some functionality out of minicomponents into class files. This is an on-going process to modernise the system. Over the Summer and Autumn we'll be working on building a new booking engine for Jomres, one that's comparable to current industry standards. It will also allow Jomres to take full bookings through the REST API, further improving the feature-set of Jomres. As a result, there will be more of these types of changes in the coming months.

Honourable mentions

Added shortcodes documentation to Help section.
Added an option to Site Config -> Currency Conversion that allows Site Managers to swap the location of the currency symbol.
Changed the minimum version that Jomres installer will run on to PHP 5.4.
Azabaijani language file added to system. Thanks Hooman.
Polish lang file updated, many thanks Patryk.
Beds24 plugin updated.
Retired older zip archiving libraries in favour of PHP's built-in Archive handling features.
New router.php for Joomla. SEF routes have been improved.