-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update notification-channel-conformance #131
Conversation
Looking at the example snippet {
"@context": [
"https://www.w3.org/ns/solid/notification/v1"
],
"notificationChannel": [{
"subscriptionType": "WebSocketSubscription2021",
"subscription": "https://websocket.example/subscription",
"feature": ["state", "rate", "endTime"]
}]
} IMO we don't need to introduce concept of Notification Channel, we only need predicate which relates the resource which will be used as topic {
"@context": [
"https://www.w3.org/ns/solid/notification/v1"
],
"@id": "https://example.org/guinan/profile"
"notificationSubscription": [
{
"@id": "https://websocket.example/subscription",
"subscriptionType": "WebSocketSubscription2021",
"feature": ["state", "rate", "endTime"]
}, {
"@id": "https://webhook.example/subscription",
"subscriptionType": "WebHookSubscription2021",
"feature": ["state", "rate", "endTime"]
}
]
} In this case {
"@context": [
"https://www.w3.org/ns/solid/notification/v1"
],
{
"@id": "https://websocket.example/subscription",
"subscriptionType": "WebSocketSubscription2021",
"feature": ["state", "rate", "endTime"]
}
} |
Pavlik, I like the simplification and would just point at that it resembles the simplifications/clarifications we were after in #71 (comment) and #71 (comment) . I don't have an objection to it but would like us to go through these considerations: We don't need the concept of a notification channel resource per se - it was a term to refer to a resource that makes the channel/subscriptions/service information available. I'm okay to drop that and reuse/paraphrase the current definition of notification channel resource throughout the document, e.g., "resource including information about the capabilities and features of a notification service." Whether we want to require the resource server or the subscription server (with notification channel resource and subscription resource respectively) to materialise statements with the topic as the subject resource. It is not strictly self-describing and I worry about the potential notification subscription information leaking into the description of the topic resource / somewhere and somehow. If the service that's being offered uses a different subject URI, it'd potentially avoid that issue (with data merge). I'm trying to see whether we can have the right amount of abstraction so that a notification service that a resource has available can be extended without needing to revisit Notification Protocol. Would it be meaningful to say that the subscription resource describes a subscription service? Is the following meaningful: {
"@context": [
"https://www.w3.org/ns/solid/notification/v1"
],
"id": "https://example.org/guinan/profile"
"service": [
{
"id": "https://websocket.example/subscription",
"type": ["WebSocketSubscription2021", "Service"],
"feature": ["state", "rate", "endTime"]
}, {
"id": "https://webhook.example/subscription",
"type": ["WebHookSubscription2021", "Service"],
"feature": ["state", "rate", "endTime"]
}
]
} (or So, I can see the counter-argument that the subscription resource is not necessarily the service but that it is just a way to get to the notification service. Then again, it is not entirely clear whether we are talking about the subscription server or the notification sender as the service or both. Similar to above: Would the above model/example work out even if we used |
My example didn't mention being specific for `rel="describedby" path of discovery. In that case we get Description Resource. If the topic is a Non-RDFSource, this would actually be the RDF description for it. For
I think we should take a close look at instances of subscriptions and how we use subscription types. Currently we use them on subscription request and subscription response. We have related issue #36 where we discuss creating resources based on subscription request. Even if we don't create resource, I still think the subscription request and subscription response are correctly modeled as instances |
Right.. I thought so in solid/specification#355 (comment) If we move the subscription type to We may have to do this #62 (comment) :
Argh. |
This PR is superseded by #131 |
Resolves #71 .
The proposal is based on agreement in https://github.com/solid/notifications-panel/blob/21a7048ab9b4a1b1a2a7025f063da73dc4fbcd92/meetings/2022-12-08.md#interchangeable-use-of-notification-channel-type-and-subscription-type