As per <https://github.com/linkedin/datahub/pull/2...
# ui
s
As per https://github.com/linkedin/datahub/pull/2986#discussion_r684928025 I thought if some tag is applied via the UI and some via ingestion then those will be kept separate
Copy code
flow_mce = models.MetadataChangeEventClass(
        proposedSnapshot=models.DataFlowSnapshotClass(
            urn=flow_urn,
            aspects=[
                models.DataFlowInfoClass(
                    name=dag_id,
                    externalUrl=flow_url,
                ),
                *tags_aspect
            ],
        )
    )
But I applied some tags via the UI and then sent some tags via the code and it seems to have overwritten what was applied via the UI. I went to the URL of the tag to check whether the UI was wrong and the tag was still present. But the tag was not applied to the Pipeline. Seems what tag is sent via airflow ingestion code will overwrite what is added via the UI
w
I was thinking that the model could include information about the connectors themselves and keep traceability about which connector is populating a given aspect. That is, an aspect would be related to both an entity and a connector instance, instead of just related to an entity instance. This way we may provide a sort of aspect isolation per connector. So no connector is overwriting aspects for a given entity that were updated by another connector. In this scenario, we may consider UI as just another connector. This would also remove the need for having specific
Editable***.pdl
aspects. However, this may cause duplication of aspects for a given entity; eg description being provided by two different connectors. This may result confusing in the UI. Since this is more a modelling topic, I would like to hear what @big-carpet-38439 or others think about this.
s
The question of merging the various aspects still remains. That is the main thing which needs resolution