If you're reading this, we've just migrated servers! If anything looks broken please email dion@thinkmoult.com :)

[BIMserver] and git

edited July 2022 in General

There is quite a lot of great chatter at the moment about multi user editing of IFC models and multi user in general

So maybe there needs to be git integration in BIMserver? I think at least we should look at what it already has so we don't end up creating a whole CDA around git rather than integrating git with BIMserver. A whole bunch of our friends have worked on it up to 2020 https://github.com/opensourceBIM/BIMserver/graphs/contributors Anychance you (someone) could start a post about it? If the project is abandoned then we should ask someone to mention that in the description.

We have a few people here who could offer some insight into this and have contributed to BIMserver
@theoryshaw @aothms @Jakob @brunopostle @ATomczak

https://wiki.osarch.org/index.php?title=BIMServer
https://github.com/opensourceBIM/BIMserver

Comments

  • edited June 2022

    Helga Tauscher maintains bimserver now, not sure if she has an account here. I don't think she currently has the time to do drastic features like this.

    BIMserver has it's own key-value based storage model, so a file-based protocol like git at first sight doesn't seem to integrate very well.

    If you want to start with git I'd suggest building some sort feature specific UI on top of gitea gogs sourcehut

  • @jchkoch said:
    Just to add more information on the topic, I find the following blog posts do a good job at illustrating the issues with versioning IFC files with git.

    @brunopostle @theoryshaw @Moult

    @aothms "gitea gogs sourcehut" no idea what we're talking about, maybe I'm not the only one? I'm not quite sure if you think some BIMserver integration would be valuable?

  • @duncan said:

    @aothms "gitea gogs sourcehut" no idea what we're talking about, maybe I'm not the only one? I'm not quite sure if you think some BIMserver integration would be valuable?

    These are open source alternatives to github etc.. So, you could self-host one of these, add some IFC-related extensions, and use it for BIM collaboration. Myself, because git is fundamentally a distributed technology, and not only can you easily take your data to a different repository, but taking all the data to a different repository is how you actually use it on a day-to-day basis, I would avoid self-hosting unless there was no alternative.

  • There are lots of ways this could play out: There is a python git API, so you could easily extend blenderbim to commit to a local repository instead of saving the IFC to disk, then (with a bit more effort) you could browse project revisions and history in the blender UI, even merging remote pull requests. Alternatively, all this could happen online with git revision browsing using IFC.js; merging Native IFC files is straightforward, so it could also happen in the browser - This could be a browser extension, or custom-code attached to a self-hosted git-forge.

    cvillagrasaJanFtheoryshaw
  • @aothms said:
    not sure if she has an account here.

    Late to the party, but yes, I have an account here. I am very much interested in consolidating and expanding BIMserver's capabilities for entity level versioning - indeed with limited resources currently, but trying to attract funding via research grants. I think this is one of BIMserver's unique features and would be glad to see others interested in this.
    I also follow the ideas and developments around versioning and merging inspired by source code version control systems, but honestly I don't think the VCS approach is applicable to IFC. I also don't agree with the precondition of "stable" SPF instance names. Those (which Bruno calls numeric IDs) are - according to the standard - only unique within an IFC exchange structure - hence a single file. Making them half-global does not a viable solution to me.
    I don't exactly understand the idea of Git integration for BIMserver - would you like to replace its Key-Value-Store (Berkeley DB) with a Git repository? Or would you like to build front ends inspired by VCS tools like three-way merge (or even reuse existing tools) in front of a BIMserver database as backend?

    infeeeee
  • Those (which Bruno calls numeric IDs) are - according to the standard - only unique within an IFC exchange structure - hence a single file. Making them half-global does not a viable solution to me.

    I still have some ideas from 10y back for a stable naming approach based on proximity to rooted instances. Sets make things a bit more difficult if you don't allow to rely on order within a set.

Sign In or Register to comment.