Skip to content

Add support for representations in DefaultObjectService #3066

@pcdavid

Description

@pcdavid

I'm not entirely sure this is the right approach, but for #2890 I need to avoid the current behavior where a representation which uses another representation as a semantic element is considered dangling/obsolete as soon as it is created, and thus disposed immediately.

One approach outlined in #3023 would be to handle specifically this behavior in by changing how IDanglingRepresentationDeletionService works. This would fix this particular unwanted behavior but feels ad-hoc.

Another approach, implemented here, is to consider at the core of the framework, that representations can be considered as "objects" (as seen by IObjectService).
This would also fix the issue mentioned above, and remove the need for other "hacks" (i.e. in RepresentationsEventProcessorFactory, resolving the targetObjectId with either IObjectService or, explicitly, with IRepresentationSearchService).
Conceptually it also feels like a more "satisfying" approach as it removes a disctinction between "semantic elements" on one side and "representations" on the other.
However because it changes a rather fundamental assumption in the system, it can have some hard to predict side effects.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions