The final 1.3.0 release has been build. For those of you who followed the release candidates there is not much new. For those who are still on 1.2 we have some huge changes. The biggest changes are the improved integration of render plugins, and the new plugin type ‘modelchecking’. Download it from our github page and have a look at the introduction video for setup instruction. Other documentation can be found on our wiki. We are very thankful to all the contributors and financers.
Our most active users and developers know that we see BIMserver as a server. Not a viewer. We don’t handle rendering, Boolean operations and other geometry calculations. The plugin type ‘render engine’ is introduced in a very early development state of BIMserver to have geometry processed by tools that are specialized to do just that. In the latest versions of BIMserver there were 2 render engine plugins shipped with BIMserver: IFC Engine and IfcOpenShell. IFC Engine used to be set as the default. The biggest change in 1.3.0 is that IfcOpenShell is now our preferred render engine. For those that still want to use the IFC Engine there is no need to panic: the plugin is still in there, it is just nog set as the default render engine anymore. We strongly believe IfcOpenShell has made major stability improvements and is now in front of most closed render engines [update: read their blogpost].
Parallel with improvements of IfcOpenShell, the use of geometry from the engines is also optimized. BIMserver administrators can now set the option to render geometry during check-in of data and store it in the database. This one-time store, multiple read principle creates great performance improvements for users that want to view of download explicit geometry. Just before the final release of 1.3.0 we even added re-use of recurring geometry elements to improve the speed and agility of the model in online viewers like BIM Surfer. All in all some major improvements that we are very excited about. We enjoyed collaborating with the IfcOpenShell team and are proud to have their product in BIMserver.
Another attractive new feature in this release is the “model checking” capability. We implemented model checking in two places: before data is stored in the database, and before a notification to a remote service is send out (after the creation of a new revision in the database). People who work with modelchecking on BIM know that there are many different standards to define how a model should be checked, and even more discussions about which one is best. At BIMserver we have a reputation to respect opinions of others and seldom choose one direction. We see ‘rulesets’, MVDs, SEMs, XSLTs, just plain code, and lots of other options all as probable directions for modelchecking. Although we see lots of potential in many of these initiatives, but feel that none of them has the combination that is ‘open’ and ‘stable’ enough for an effective implantation in the current release BIMserver. For that reason we created a very general checking plugin, with the intention to create specific checking plugins when the mentioned standards are more stable. At this moment the generic model checking feature only works on java code that is specific for BIMserver. We know, not a good example of open standards, but again: set up to grow into something better along the way, flexible enough to follow different directions depending on the adoption.
To make the model checking feature useful for non-programmers we also added the ability to publish and share snippets of code in an online repository. Again we feel obligated to mention that these snippets only work on BIMserver and are not a good example of interoperability. We hope to connect to other repositories with snippets of model checkers in an(y) open standard.
Small feature improvements
Most of the other changes in this release are “under the hood improvements” (bugfixes, better error messages, e-mail headers, memory use optimization, updates of jetty and berkeleyDB, etc.). Some of them however seem to make our users very happy. With the ‘send notification’ features (find it under settings) an e-mail is send out to project members every time a new revision is checked-in. Another improvement is the ability to configure (remote) SMTP servers more extensively. You can now choose a lot more options such as the protocol (SMTP/SMTPS), username, password and port. This allows for using a 3rd party e-mail service which is probably a good choice (and doesn’t have to cost extra). Examples of these providers are Mailgun, Amazon SES and Sendgrid. The admin interface is also improved. We are happy to have the help of the bimvie.ws team for that.
We are also very proud to mention that work on a new version of BIMserver is already started and progressing very nice. Biggest challenge we put ourselves into is to have a project with subprojects that contain data in different IFC versions. First experiments have showed that this might turn out very nice. Combining IFC 2×3 and IFC 4 in one BIMserver would be a major innovation. We’ll keep you tuned.
Another effort we put resources in, is optimization of the EMF core. BIMserver makes intense use of RAM memory. Although prices are dropping rapidly, the number of objects in IFC models seems to be increasing. This keeps the memory usage in BIMserver to stay an issue for current practice. Therefore we are researching how to use EMF more efficient, or not use it in parts that don’t really need it. Community efforts are also gaining more traction. New to the ecosystem is bimvie.ws as open source commercial initiative that created a GUI for BIMserver. Another initiative is an mvdXML checker plugin for model checking created by Benzcly Zhang from Eindhoven University of Technology. A preview can be found on our github page.
Let us know what you think, or any issues you find, on our support forum.