Skip to content

MessageThread structure has changed #5

Description

@fabrizio-turchi

The class uses the co:element instead of uco-observable:message + "olo:slot".
Example:

{
            "@id": "kb:4237ff8b-e049-4a56-bcf7-e89ed2797d83",
            "@type": "uco-observable:MessageThread",
            "uco-core:hasFacet": [
                {
                    "@id": "kb:0cd2f9f8-9040-4af7-82f8-8287fb3f861d",
                    "@type": "uco-observable:MessageThreadFacet",
                    "identifier": "jane~vivienne@whatsapp.gs.net",
                    "uco-observable:displayName": "Best Friend Chat!!",
                    
                    "uco-observable:messageThread": {
                        "@id": "kb:1a921f84-eadd-4591-be0d-57b936933622",
                        "@type": "uco-types:Thread",
                        "co:size": {
                            "@type": "xsd:nonNegativeInteger",
                            "@value": 2
                        },
                        "co:element": [
                            {
                                "@id": "kb:d8330d5a-b8de-4425-9cd8-a37b038afe81"
                            },
                            {
                                "@id": "kb:3328fbc7-1f63-4e66-b8fc-e27143a64331"
                            }
                        ]                        
                    },
                    
                    "uco-observable:participant": [
                        {
                            "@id": "kb:a5931c7e-fc1e-4def-a618-fc31d9ae4cc7"
                        },
                        {
                            "@id": "kb:f135dee3-ba06-4ded-ad63-5484ce240ec8"
                        }
                    ]
                }
            ]
        }
  • co:element refers to a list of Message objects (not ObservableObject!)
  • the example uses the class "@type": "uco-observable:MessageThreadFacet", instead of "@type": "uco-observable:ObjectObservable", because it’s a subclass of the latter. Both classes can be used.
  • the "co:element" array property is equal to the old uco-observable:message + "olo:slot"
  • the "co:item" array property is not compulsory and it serves to indicate the sequential order of the messages (aim not completely clear), the parsers do not use that property
  • the "uco-observable:participant" property remains the same
  • the items of the co:item link to a message observable but it’s not a uco-observable:ObservableObject but it’s a uco-observable:Message
  • the use of "@type": "uco-observable:MessageThread" is because it is a subclass of ObservableObject, so it is also possible uso the super class.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions