solid / notifications-panel

Solid Notifications Panel
MIT License
4 stars 6 forks source link

Interop panel scenarios #30

Open elf-pavlik opened 3 years ago

elf-pavlik commented 3 years ago

We have active implementation efforts of interop spec and as soon as subscription related details will get specified we will also implement those.

Establishing initial social graph relationship

  1. Alice and Bob know each other but don't have a social graph relationship.
  2. Alice creates a SocialAgentRegistration for Bob in her Agent Registry.
  3. Alice sends a notification to Bob's public inbox to let him know about it.
  4. Bob receives the notification and with his Authorization Agent creates a reciprocal SocialAgentRegistration for Alice.
  5. Now Bob and Alice have established a social graph relationship and don't need to use public inboxes to exchange messages

Subscribing to updates of a Social Agent Registration

This assumes the state immediately following the previous use case

  1. Bob's Authorization Agent, running as a server-side service, subscribes to the SocialAgentRegistration that Alice created for him.
  2. Whenever Alice updates that registration, her storage server notifies Bob's Authorization Agent via the subscription it created in the previous step.
  3. Alice may update the SocialAgentRegistration she created for Bob every few days, or even weeks, but there are occasions where she may update it multiple times in a single minute.

Desktop Application subscribing to Projects and associated tasks

  1. Acme Corporation maintains its own storage server, and Bob has been granted access to manage the projects stored there.
  2. Bob uses an Application called Projectron to manage projects for his employer, Acme Corporation. Bob has delegated his access to Projectron so it can do this.
  3. Projectron runs on Bob's device and cannot receive direct requests over the network.
  4. Bob opens Projectron, which maintains a connection to ACME's storage server so that it can be notified whenever a specific project or any associated tasks within Projectron's scope of access changes.
  5. ACME's storage server should honor the delegated authorization that Bob has given to Projectron, and allow or deny access accordingly.

Mobile Application subscribing to Projects and associated tasks

This case is similar to the case above except:

  1. Projectron runs on a mobile device that puts background apps to sleep. Consequently, it can't maintain open connections to remote servers.
  2. It supports a Push API, which allows for the receipt of pushed messages by the device, waking up the application.
TallTed commented 3 years ago

@elf-pavlik — Step-lists above are sequential, and so should be in ordered (numbered) lists, not unordered (bullet) lists.

elf-pavlik commented 3 years ago

Thanks @TallTed. I updated the list type as you suggested.