The updated platform has just emerged from more than a year and a half of full-time development sponsored by one of ‘ clients: . OSF’s development as been highly influenced by the big enterprise requirements of the HDA sponsor, resulting in two portals to be fully operated by OSF: and . OSF 3.0 is already in production with these two portals, but it will continue to constantly evolve in the coming months and years.
The OSF release is major in a number of ways. The first thing you will notice is that we re-branded the entire project, which includes all of its moving parts, around the OSF name. The (previously known as conStruct) was migrated to Drupal 7 and about 80% of its code was re-written. Seven new (previously known as structWSF) were created. The old IP based security layer was completely replaced by a new . A new has been put in place to revision every record has it changes. A new caching layer has been added to the OSF Web Services to improve its performance and decrease the load on the other pieces of the OSF stack (about 80% of the non-search queries will hit the cache). A set of has been developed to help system administrators to manage and automate tasks on OSF instances. A which is composed of 746 tests and 4139 assertions, tests all of the functionalities of the system to make sure it is properly deployed on a server. The has been completely rewritten and re-organized to help usersand developers to find answers to their questions.
You can check the list of , and the list of . Now let’s see what this new release is really all about.
The first thing you will notice with this new OSF 3.0 release is that the whole project got re-branded around the OSF terminology. The Open Semantic Framework (OSF) stack is now composed of:
The changed drastically since version 1.1. Most of its code got re-written, a new structure has been put in place, new features and new web service endpoints got created, etc. In this section, we will cover what changed in the OSF Web Services and what are these new features.
Initially, we created a simple and effective security layer for the OSF Web Services. It was based on the IP of the requester, nothing more, nothing less. That was five years ago. This simple security layer was quite effective, but it was a nightmare to manage.
What we did for OSF 3.0 is to ditch this old security layer, and to replace it by something secure and much easier to manage.
The new does two things:
To validate the web service call, the new security system uses a secret keys authentication system. Every HTTP query that is sent to any web service endpoint needs to comply with the . If it doesn’t, then the requests will be refused.
Then if the call is authenticated, the web service endpoint will make sure that the requesting user has proper access to the datasets that are being queried. This second authentication step makes sure that the user can only access the data to which he has access rights.
The real improvement of the new security layer is how the users are managed. In the past, we were managing individual IP addresses. . All dataset access permissions to records are related to a group. Each group is composed of one or multiple users. Then, when a web service endpoint checks if a requesting user does have access to the content of a certain dataset, it checks if the requesting users belong to a group that has access to the content of that dataset.
It is now much easier to manage groups of users at the level of the dataset than individual IP addresses.
A new is now available in OSF. If required, every change to a record can be revisioned. This means that if someone makes an error when editing a record, all changes can be roll-backed at anytime using the new revisioning system.
A new set of web service endpoints has been created to manage the revisions. You can , , , , and revisions with these new endpoints.
A new set of command line tools have been developed for OSF version 3.0. These tools’ focus has been to help OSF instance administrators by giving them command line tools that they could use in their scripts, Cron jobs, or any other middleware toolings that may perform different tasks on a OSF instance.
The (DMT) is a command line tool used to manage datasets of a OSF instance. With this tool, you may create, delete, update, import and export datasets directly from the command line.