bimserver icon logo

First release candidate version 1.2

bimserver logoWe 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).

The biggest change that end-users will notice is that there is no GUI included anymore. Any BIMserver that starts will get a configuration screen (to create an administrator, add smtp server, the usual stuff that was already in 1.1), but after that it will show the BIMserver logo with the status indicator ‘running’. This is a big change for all of us, but specially for end-users, that simply cannot use BIMserver out of the box. Yet we feel this is a necessary step we have to take. As our loyal followers know, BIMserver is an open platform to use and build on top. The GUI was always a reference implementation of ‘how a GUI could look like’. We always stimulated developers to build specific GUIs. Guys like BIM Surfer and bimsync did, but we hope more will follow. To accelerate the development of several different GUIs we decided to remove the one we made. With the 1.2RC1 release we invite developers to build as many new GUIs as you like. We think we made it a bit easier by adding a JSON protocol to the rich Service Interface. This might lower the threshold for Javascript developers to make a really cool looking GUI for BIMserver.

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.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *