@LaszloNagy
You got @Braza & @runxel idea correctly, but adding to your concern there is another, what happens if the values' order have been changed ???
I propose (if possible), that there would be a database table for
Properties values, for all properties we want to add to the project to act as a reference point for the whole project, then the
Property parameter would reference to the specific values by GUID, so even if the text of a specific value was changed, it would be a global one.
Then there would be another table in ArchiCAD that would only reference
Property parameters by GUID, something in the same manner with GLOB_ISSUE_SCHEME or GLOB_CHANGE_SCHEME, that way if any user made any number of custom
Property parameters it can be referenced easily.
On the GDL side (if possible), Graphisoft would create a new type of GDL parameter type only for
Properties, to make a relationship between GDL
Property Parameters, and
Property Parameters, using the GUID only, therefore no more overhead from the GDL side.
But the GDL
Property Parameters, will also reference the selected/desired value of the
Property Parameter, either by GUID or by array (just as with LAYOUT_REVISION_HISTORY, or LAYOUT_CHANGE_HISTORY), so if the
Property parameter's value have changed, the change will be global, and if GDL
Property Parameters can be referenced to a
Property Parameter value, ArchiCAD would emit an alert of the broken references
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.