specklesystems / speckle-sharp

.NET SDK, Schema and Connectors: Revit, Rhino, Grasshopper, Dynamo, ETABS, AutoCAD, Civil3D & more.
https://speckle.systems
Apache License 2.0
364 stars 168 forks source link

Enhancement: Filter properties to send - MVD for Speckle #1778

Closed jsdbroughton closed 9 months ago

jsdbroughton commented 1 year ago

What package are you referring to?

Requested for Revit, but implementation pattern to replicable.

Is your feature request related to a problem? Please describe.

All connectors aside from Grasshopper/Dynamo and custom SDK implementations send all converted object property data. There is an expressed need for some control over this is needed for various reasons:

Describe the solution you'd like

Somehow applying a filter/mask to object properties and not send to server.

Describe alternatives you've considered

How the ability to mask properties from serialisation and sending could be a standardised contract transmitted by file or stream properties.

Filter on receive - by contract If the contract is applied at the server layer, this could decouple implementation from all connectors development. For example, a shared stream endpoint could be a nominated contract (combination of streamId and filter), and therefore the object data is all present in the DB, but the data is filtered on receive; controlled by the contract.

Additional context

The closest equivalent is the MVD for IFC. https://technical.buildingsmart.org/standards/ifc/mvd/ https://www.youtube.com/watch?v=SwNak6RkQKM

Related issues or community discussions

How to set the data of each component of a stream?

jsdbroughton commented 1 year ago

Could be considered with https://github.com/specklesystems/speckle-sharp/issues/1777 for a common pattern/implementation/protocol

bimgeek commented 9 months ago

Closing this ticket as we are moving to Jira to reduce noise. You can access it there.