We have launched the first release candidate of the 1.2 version of the BIMserver platform. It is available on our development website at Google code.
Some of the new features include the ability to add non-IFC data to the database. Users can now add ‘extended data’ to revisions and projects. Not all data can be added. This is controlled by the server administrator. Every BIMserver administrator has to authorize data schemas first so users, or external services can add extended data according to an authorised schema.
As beta-testers already saw, there is a new plugin type called ‘query plugin’. Wiet Mazairac created a plugin for the open BIM Query Language (BimQL.org) which is included in the BIMserver build. We also added an ‘internal service’ plugin that lowers the threshold for developers to build custom BIMservers for a specific feature. The clash-detection feature is now an internal plugin that will trigger on every ‘new revision’.
A big change we are very enthusiastic about, is the ability to subscribe (link) to external services. External services are webservices that run on a separate server (could be closed source) that handle a specific feature. At this moment there are services that do clash-detection (and return a BCF file); make a 2D HTML floorplan; do logging (for KPI project analyses); and there is even an external service that sends out an e-mail to all project members when there is a BCF returned from a clash-detection service. An external service can be triggered at a ‘new revision‘ and ‘new extended data’. In the future these triggerpoints will include all BIMserver log actions (like new user, new project, user added to project, etc) and we are working on data specific changes triggers (trigger only when doors are changed, or when a specific object with GUID is changes). In practice BIMserver sends out a notification to the external service and includes a token for authorization and authentication. Users can edit the subscription to external services and give out very specific tokens and authorizations. A list of external services will be hosted on our new plugin directory extend.bimserver.org. The list is dynamically loaded from any running BIMserver so it will be up-to-date all the time.
At this moment only a few external services are on the list, but many are in the making. The BIMserver team will not make any external services, but encourages developers to do so. The interface between BIMserver and the services is build according to the open standard BIMSie. This means that external services can also interact with each other and are not specifically build for bimserver.org. This way the BIMserver team tries to innovate the industry and stimulates actual working in a federated web service environment (in contrast to spending marketing budget to use the word ‘cloud’ as many times as possible).
Wrapping up the 1.2 release of BIMserver is even more focused on positioning BIMserver as an open and stable platform for others to build on. BIMserver is becoming a platform more and more, and less a product ready for end-users. This is also why the 1.2 RC1 has two developer libraries in the download section.
We feel BIMserver has made some huge steps again. This time taking some risky decisions on the GUI part, but on the other hand innovating the industry again with the introduction of a staggering concept to easily link federated BIM services. This blogpost is an open invitation to all developers to reap the fruits and create your own product build on top of our platform.