Skip to content
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

Call for Implementations #141

Open
csarven opened this issue Jan 9, 2023 · 7 comments
Open

Call for Implementations #141

csarven opened this issue Jan 9, 2023 · 7 comments

Comments

@csarven
Copy link
Member

csarven commented Jan 9, 2023

This issue is a temporary place to document existing, ongoing, or planned implementations of Solid Notifications Protocol Editor's Draft (see also latest published version) and specific notification channel types.

Current recommendation for implementers: Solid Notifications Protocol, Version 0.2.0. See the Notification Channel Types registry for specific channel type specifications.

Test suite and implementation reports will supersede this information when available, and will have a breakdown for test cases.

The following table is informative only, in draft status, and intended to reflect intents. Information may be outdated. Refer to project source as authoritative.

Product ResourceServer SubscriptionClient SubscriptionServer NotificationSender NotificationReceiver
CSS - WebSocketSubscription2021, WebHookSubscription2021 WebSocketSubscription2021, WebHookSubscription2021 ?
dokieli - WebSocketSubscription2021 WebSocketChannel2023, LDNChannel2023 - - WebSocketSubscription2021 WebSocketChannel2023
solid-webhook-client - WebHookSubscription2021, WebHookChannel2023 - - WebHookSubscription2021, WebHookChannel2023
Solid Notification Client - WebSocketChannel2023 - - WebSocketChannel2023
@joachimvh
Copy link
Contributor

Regarding CSS: WebSocketSubscription2021 and WebHookSubscription2021 were implemented in the 6.0 branch so would be part of that upcoming release. These are based on the specs as they were in September/October 2021, so the 1.0 version (with some aspects of the editor's draft at that point). I haven't been following the Notification spec since then so I will need to have a look what changes might be required to support the 2.0 version.

@csarven
Copy link
Member Author

csarven commented Jan 10, 2023

I strongly recommend that *Subscription2021 (expressing notification-subscription-type) implementations are not released! They are considered obsolete at this point, and will be marked as such and refer to new versions which express "notification channel types" (e.g., *Channel2023)

Solid Notifications Protocol Version 0.2.0 is not compatible with 0.1.0.

0.1.0 doesn't provide a truly interoperable solution. It had discovery, among other parts undefined or unspecified.

There will be no tests for 0.1.0. I suggest implementations adapting 0.2.0/notification-notification-type (or later version if/when available).

(dokieli originally implemented 0.1.0/notification-subscription-type but recently rewrote to conform to 0.2.0/notification-channel-type. No point in keeping 0.1.0 around.

@elf-pavlik
Copy link
Member

elf-pavlik commented Feb 13, 2023

There are two dedicated issues with feedback from CSS

@woutslabbinck
Copy link

I've made a stand-alone implementation for subscribing to a WebSocketChannel2023 following v0.2.0 of the Solid Notification Protocol and tested it against the CSS add-notification branch:

@michielbdejong
Copy link
Contributor

michielbdejong commented Apr 18, 2023

Off the top of my head, I think Solid-Nextcloud implements WebSocketChannel2021 and WebHookSubscription2022 (maybe that was an in-between version that was never published?) and there is a basic notifications client and some jest-based tests in the solid-crud-tests repo.

@joachimvh
Copy link
Contributor

CSS v6.0.0 has now been released which includes support for v0.2 of the spec. The built-in channels being WebSocketChannel2023 and WebHookChannel2023.

@elf-pavlik
Copy link
Member

We had a call earlier this month with @woutslabbinck and @jaxoncreed and agreed to collaborate on TS common modular implementation in https://github.com/o-development/solid-notification-client

This will incorporate prior work done in:

There is an open PR with DiscoveryClient and SubscriptionClient based on a branch that I'm already using in sai-js. Everyone interested in collaboration please feel invited to join the effort!

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

No branches or pull requests

5 participants