Posts

Developer videos online

On huge request, we created new developer videos. They are on the youtube channel of the open source BIM collective in the ‘Developers’ playlist.

Basically we installed a screenrecorder on a new laptop and installed everything from scratch. You see the download and installation of Eclipse, Java, the setup of the Git gepositories, installation of the Maven tools, etc. etc.  There is also an explanation of how to run BIMserver with the bimvie.ws and IfcOpenShell plugin.

Another video shows the start of a new internal plugin. You see the creation of a new plugin using the ‘DemoPlugins’  repository. Giving it a version number is also shown to get it working in the Maven context.

The last video is ‘an hour in the life of a BIMserver programmer’. This is the first hour of actual coding, experimenting and testing the newly created plugin. In this case the developer tried to create a plugin that calculates the outer area. The example shows the use of the preprocessed geometry from IfcOpenShell in combination with the semantics of IFC. As you can see it only takes a few hours to get a first prototype up and running. It will take some additional hours to fine tune it to perfection. The code is available on github for you to see it progress.

We’ve also added some smaller parts of the long videos into separate videos. These show the setup of bimvie.ws,  BIM Surfer and the JavaScript API in Eclipse for development and some experiments with the new Query/Filter language based on JSON.

The IFC data used in the videos came from the public available Schependomlaan.

Developers release 1.2.0 (beta release)

Today we released a beta version of 1.2.0. To get things clear right away: it has bugs. Please do not download this if you are an end-user. The main reason to release this new version is to inform developers of changes and, again, a new concept.

The new concept we would like to introduce is still a bit fuzzy. We are developing at it every day and it is changing every day. This is also the reason why we will keep updating the beta releases of 1.2.0 the coming weeks. The most important change you will notice is the ability to add ‘extended data schemas’ to projects and a new plugin type for queries (including the new BimQL plugin). More detailed info and documentation will follow soon.

When you are a developer, things will probably make sense when you dive into the code. When you are a user, a demo that we are preparing will say more than a thousand words. So please be patient for another little while.

After looking at the new release, please send your feedback through http://support.BIMserver.org

BIMserver 1.1 beta: developers release

Today we released a beta version of 1.1. To get things clear right away: it has bugs. The main reason to release this new version is to inform developers of the changes and new concept. Since the 1.0 release not a lot of new features were added, but everything changed….  The most important, and radical, change was the introduction of the plugin-infrastructure. The previous release of BIMserver was one big chunk of code; in this new release all functional parts of the code are made modular. The whole import and export interface is put into plugins. The ignore files are now called ‘objectIDMs’ and also modular.

This release of BIMserver.org makes it easier to integrate and communicate with BIMserver. Have a look at the communication schema and possibilities on http://code.google.com/p/bimserver/wiki/Communication

Some other big changes in 1.1beta are:

  • Visualisation is gone: we removed visualization from BIMserver. We think a server should be a server and not a visualization tool. We are teaming up with BIMsurfer.org for visualization.
  • Slit between server and GUI: the graphical user interface of BIMserver sucks. We know… To encourage developers to create a new one, we split the JSP pages from the actual server. Therefor you can now download a server build (only the server) and a combined build (server + jsp GUI).
  • Bimserver now uses internal streaming rather than the creation of temporary files for parsing by the geometry kernel.  There is work in progress to integrate IfcOpenShell as a geometry kernel as well, but that might have to wait till 1.2.
  • Client Library:  Gives you access to plugins and the EMF core client side. As a result this developers  the same advanced possibilities on the client as they have server side.
  • New protocol buffer interface: In addition to SOAP and REST interface, we now support Protocol Buffers. This is a major step towards real-time (streaming) communication with clients.
  • Internal performance updates: we’ve improved a great deal of memory usage in this release.
  • Caching of downloads: Both revision and queries  are now cached on server after the first download. This means any additional download will have very fast retrieval . This speeds things up quite a bit in a multiuser environment where several people need to download a merged model or revision to their own machine.
  • Progress bar: lots have asked for it, now it’s there… a progress bar during upload and download.
  • Plugins: All serializers and deserializers (upload, download) are now plugins that can be activated or deactivated. This infrastructure makes it easy for developers to build on top of BIMserver. There are already several plugins being developed like a very promising COBie plugin.

You can find the release on this location: http://tools.bimtoolset.org/BIMserver/1.1beta (which is our archive site). We call this a 1.1beta, but it will be placed in subfolders, ordered by date. Therefore we can update the release every couple of days, responding to your feedback.

Before (and during) your evaluation, please have a look at the know issues  and the documentation. The documentation on the wiki will grow, responding to your feedback.

Please place your feedback on http://support.BIMserver.org

For developers: JavaDoc of ServiceInterface

 The release team of BIMserver.org is working towards a new release. We are not sure yet what number it will have. We think 1.1 doesn’t resemble the changes that BIMserver has received in the last couple of months. The developers that have followed our code repository know that the core and structure of BIMserver have been fundamentally changed. Nowadays the code structure resembles the vision that BIMserver could/should be a kernel for other developers better than ever before. Lots of developers decided not to wait for a release and started developing plugins and add-ons to BIMserver even before a new final release. Thanks to them we got feedback about the technical documentation and we responded on our wiki with some very nice technical insight. In preparation of the 1.1 beta release (developers release) we also generated/created a JavaDoc site explaining the ServiceInterface. You can find this new information here and here.