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

Interop panel scenarios #30

Open
elf-pavlik opened this issue Oct 14, 2021 · 2 comments
Open

Interop panel scenarios #30

elf-pavlik opened this issue Oct 14, 2021 · 2 comments
Labels

Comments

@elf-pavlik
Copy link
Member

elf-pavlik commented Oct 14, 2021

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
Copy link
Contributor

TallTed commented Oct 18, 2021

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

@elf-pavlik
Copy link
Member Author

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

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

No branches or pull requests

2 participants