Comments (2)
If we use Commits as messages, the server should know which Commits it should ignore and which it should follow. How should it make this decision?
Users have a follows
array
Let's say Users can follow things by storing a list of Resources they follow. This list should probably be a private resource that only they can access. Whenever a Commit comes in, and the Commit shares a Subject with that resource, it should be applied.
However, this still leaves new resources that could be interesting, such as new blog posts or messages.
Users have a followsParents
array
When a Commit comes in that has a parent which matches one of the items in followsParents
, the commit is applied, too.
from atomic-data-docs.
the Subscription class
A Subscription is a resource that describes a publish-subscribe relationship between a User and some Collection.
commitEndpoint
the HTTP endpoint where commits about the thing that is being subscribed to should be posted.collection
the Resource that is being subscribed to. Can also be a collection that contains query parameters. Similar to #43
Protocol
- The follower creates a Subscription resource, preferably on their own server.
- The subscriber sends a request to the
/subscribe
endpoint of the publisher, containing a URL of the Subscribe resource. - When the publisher creates a new resource, it will send it to the
/commit
endpoint of the subscriber.
But how does the server of the subscriber now know if it is interested in this resource? Let's consider some solutions
- The Commit includes the URL of the Subscription. This would mean that every subscriber needs a different Commit. I don't like that.
- We can send it to some
/inbox
endpoint, and use the Subscription URL as a query parameter - the body will still be the Commit.
from atomic-data-docs.
Related Issues (20)
- Authentication over websockets
- Add usecase for knowledge base software
- Tracking issue: renaming things and changing URLs
- WebAuthn + Atomic Authentication
- On trailing slashes for URLs / subjects HOT 4
- Multiple Keys per Agent - Sessions
- Use expiration time in x-atomic HTTP authorization
- Dealing with local subjects / identifiers / local-id / @id / blank nodes
- CI failing, can't build mdbook-open-gh HOT 2
- Compositional Classes - multi-class resources
- Agent scopes - new Agents for the same user with limited access
- Currency datatype / property
- CI fails to build mdbook-open-on-gh HOT 1
- Article / tutorial for data modelling
- Status for potential use cases
- Templates - Generate pre-filled groups of resources
- Limiting creation of too much data for invitees
- Combining / trimming commits.
- Docs sourcing data from Atomic Server instead of git repo
- Renaming repos HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from atomic-data-docs.