Robert / Paul
Great to see Bentley providing some tools for the average user to manipulate schemas.
In the Building sector, we have to deal with buildingSmart's IFC. I think Bentley has a lot of exposure to schemas in the plant and process sector with Openplant and ISO 15926. IFC is also being extended to cover roads and railway assets. Two big markets for Bentley.
Dealing with IFC will require a lot of the missing functionality that you listed.
"Some EC features not (currently) supported by Item Types:
- Class inheritance
- Nested structs
- ECRelationship classes
- Calculated properties (very much desired though)
- Read-only properties
- Non-standard schema references (i.e. each Item Type Library is self-contained)"
Ironically, I get the impression that a lot of building projects have better more complete IFC output and management compared to infrastructure projects, especially in the Rail sector. I think that is mainly due to the better tools available in the BIM authoring tools like ArchiCAD (out of the box) and Revit (with Dynamo and other plugins).
ArchiCAD has been honing its IFC and classification tools since R15, R16 R17 R18 R19 R20 R21. I would urge you to have a look to understand what kind of functionality is needed at 'average user' level. The comment you typically get in the programming forum is "you don't need it... its too prone to abuse... it just depends on what you want to do". Well, what needs to be done is pretty clear.
Please note that AC is an authoring tool used by non specialist 'average user' that will model and add the attribute info and export the info. Solibri and other specialists tools would have more / other functionality.
You mentioned that the user interface will be a challenge. Why? Is Mstn inherently difficult to implement? No built-in MVC pattern due to Mstn legacy state function roots? Or is it that implementing a GUI will require the dev to understand and expose all the possible error checking and constraints that the structured (incl dependencies and relationships) data will entail? The user GUI would also be an IDE. IFC is supposedly generated using a rules based language. Maybe Bentley should build a tool to help check its UML or algos against IFC's underlying EXPRESS spec?
PS:
"Read-only properties are not obviously useful if the user is creating the data directly (why would she restrict what she's allowed to do with her own data?) Use cases do exist, e.g. the concept of 'scope' in the Variables dialog."
You may wan to lock variables. Some use cases:
1. The variable is a 'global' one that you want certain users or role players to edit.
2. The variable may be actually be a derived or calculated value. The value may also be a 'type' value that is driven by a defined group of values associated by a defined 'type'. For example a particular door type may have certain dimensions or properties fixed or typed.
3. If there are implicit constraints that link variables that can be calculated bi-directionally, you may want to lock variables on demand. A simple exmaple would be the relationship between the door width which is composed of 2 No. door jambs and a door leaf. You often end up needing to propagate changes from inputs from any or all the associated variables. You may want to change the door jamb width and propagate the change to the overall door with. In this case, you would lock the door leaf variable. You may need to preserve the overall door width, which means that the user would lock the o/a door width variable and let the system calculate the resultant dimension for the door leaf.
Another example where a 'constraints solved' approach to managing variables is needed is Aecosim's Floor Manager.