Building a blog around PDS #2420
Replies: 1 comment
-
This is a great and very welcome use-case! Yes, all data in user repositories (hosted by their PDS) is 100% public. There are public endpoints to download the entire repo, and a firehose (websocket) which blasts out every create/update/delete event to all firehose subscribers; neither endpoint uses auth. Private data, like preferences and mutes, gets stored separately from the repo. The "private data" API is a bit hard to use at the moment, we are planning to iterate on that... private data might be useful in a blog context for things like drafts. Blobs (images) are also uploaded to the PDS and are publicly available (no auth). Lexicons are the schema of data; all the data records with the same Lexicon are stored in a collection under the name of that Lexicon. The architecture of the system is that anybody can create Lexicons, with the authority of "who controls the lexicon" based on the (reversed) domain name used to refer to the lexicon. The expectation is that the Lexicon schema (a JSON file) is published somewhere publicly; we plan to have an automated mechanism to find and "resolve" lexicons on-demand, but haven't specified that yet. But anybody can find and use the Lexicons as they want; the "authority" only controls the schema, not how other folks use it. So, for example, anybody can make a client app using the Records are usually created/read/deleted using simple JSON. Currently the reference PDS implementation will allow you to bypass Lexicon validation when creating records; in the future we hope to support dynamically fetching new Lexicons on-demand and doing automatic validation, but for now the PDS can only validate the known Lexicons ( People can and already have created random schemas and records under random collections. It isn't that big of a deal? There are rate-limits about creating records in general. |
Beta Was this translation helpful? Give feedback.
-
Hiya! Sorry if this isn't the right place, I had random questions with regards to the PDS.
The use case I'm interested in trying is using PDS as a backend for a blog. On my blog, I'd like to show posts from other apps, like Bluesky. But I'd also like to store self-defined data (like longform blog posts).
Am I correct that:
And given those assumptions, my questions are:
Beta Was this translation helpful? Give feedback.
All reactions