bSDD tech updates

Subject: Support for diacritics

Description: Right now only (a-z, A-Z, 0-9, “_”, “.”, “-”) are allowed. Since the bSDD codes should be used as identifiers within the IFC and native formats, they should allow for diacritics and whitespaces, such as: ‘ä ą ż ź ć 開 発
Й Ӂ Д $ ( )’
.

Still forbidden should be special html characters such as * # % / \ : { } [ ’ ] | ; < > ? ` ~ " *, even though some software allows defining them in BIM models (e.g. Revit allows / ’ ( ) % # $

While generating the URI, the codes will be encoded.
Example: code: ”éc olé” → URI: “%C3%A9c%20ol%C3%A9“

Reason for change: Implementers requests. This way, it will be possible to reflect names commonly used in BIM datasets (Finnish, Japanese, Polish, etc).

What is affected: Code attributes (Class.Code, Property.Code, PropertySet, OrganizationCode, DictionaryCode). Software that didn’t allow for diacritics should prepare for such content.

When: :white_check_mark: Completed 2024-03-31T22:00:00Z.

Transition plan: No need, it only extends the functionality.

Subject: Update the dictionary of IFC

Description: The key data dictionary - IFC - as it is the cornerstone of openBIM standards until now was published in a raw form, containing too many technical details from the documentation. On the other hand, it was missing many properties, attributes and inheritance of those.

The updated IFC dictionary has:

  • human-friendly names while keeping the machine-friendly codes unchanged. Example: Name: “Stair Flight” (Code: “IfcStairFlight”)..
  • The same applies to predefined types. Example: Name: “Solid Wall” (Code: “IfcWallSOLIDWALL”)..
  • definitions limited to the semantic explanation. The technical details such as History and implementation notes are omitted.
  • add hyperlinks pointing to other definitions from within the IFC
  • datatype of properties and whenever an entity is used as a datatype providing an explanation in the description.
  • dimension of properties (e.g. 3,0,0,0,0,0,0 for IfcVolumeMeasure)

Excluded will be all entities and properties (and their subelements):

  • marked as deprecated
  • primitives and geometry definitions (incl. IfcTime, IfcPoint, IfcLine, IfcBoundingBox, IfcApplication, IfcPerson)
  • relations
  • quantities
  • types, templates
  • selects
  • resources
  • measures

Reason for change: To improve the content of IFC data dictionary for better usability and clarity. To support the translation efforts.

What is affected: Content of the version 4.3 of the IFC dictionary from buildingSMART on the Production and Test servers. Link: bSDD Search. It will not be a new version, but override current Preview version to maintain existing relations. Once activated, there will be no changes allowed to this version.

When: :orange_circle: Work in progress. You might notice changes to the IFC dictionary on the Production server for the next weeks. Planned finalising of the IFC dictionary and changing the status to Active approximately 2024-11-30T23:00:00Z.
Using this occasion to apologise for the potential problems related to the unannounced update of the IFC earlier this month.

Transition plan: No transition plan, as the dictionary was in the Preview status.

Note: old JSON data model support ends soon

The transition period for support of the old JSON files from before 2.0 will soon be over soon.

The latest data model is “2.0” (and files should contain “ModelVersion”: “2.0” attribute)

If your tool still uses it, please update it. If you still make changes to the old content, you can upload it now, and download version 2.0 from the bSDD Manage site.

What is affected: Import of new content
When: 2024-09-12T22:00:00Z

Subject: ClassProperty code no longer required

Because the ‘Code’ attribute of ClassProperties (properties assigned to classes) was problematic for most users, we decided to no longer require it on import. This means, from now on, lack of this attribute will result in generating GUID on import.

What is affected: Documentation, Excel template
When: 2024-09-19T22:00:00Z

Subject: API for managing users

Until now, access to private content was only possible to grant via the bSDD Manage platform. We now provide two new API calls for adding/deleting users:

POST and DELETE with url “/api/Organization/v1/{organizationCode}/{dictionaryCode}/PrivateAccess“

Both are secured and can only be executed:

  • via app that has “api/manage” permission
  • user that is owner of the organization

What is affected: API (only new API calls)
When: 2024-09-19T22:00:00Z

FYI, we are removing obsolete API that were replaced by newer versions more than a year ago and were not used in the last 90 days. Latest API is documented here: https://app.swaggerhub.com/apis-docs/buildingSMART/Dictionaries/v1

Subject: Remove option “include classes” from api/Property

Description: Until now, it was possible to include classes on Property API, but because many Properties were used on over 2000 classes, it often hit the response limit.

There is already a separte API for getting the classes that uses the property. api/property/classes/v1, it’s using paging and supports searching.

What is affected: API (api/Property/v4 upgraded to api/Property/v5)
When: :white_check_mark: Already implemented 2025-04-21T22:00:00Z
Transition plan: Old API version (v4) will be supported for at least 6 more months.

Subject: New API: Get list of URI redirections

Description: New API call:
GET /api/UriRedirection/v1

Because some organisations change names or data dictionaries change owners, we have implemented a redirection system. This API allows to display old and new URI paths.

Users of old redirected URIs don’t need to worry as their requests will be redirected automatically by the bSDD handler.

What is affected: -
When: :white_check_mark: Already implemented on TEST 2025-04-21T22:00:00Z, will be added on production within 2 weeks.
Transition plan: -