Greetings, everyone! I am working on a "social" bookmarking system which is solely based on XMPP PubSub and Atom Syndication Format (i.e. XEP-0277 and XEP-0472). The benefits, as you already know* are: 1. The data is always stored on your account, because the system only provides an interface to make use of your own PubSub in a certain fashion, hence there is no need to worry whether or not the system shuts down or otherwise, so if someone decides to turn it off, someone else can run his own system and your bookmarks are still available. 2. The server does not store the data, so there is no need for a lot of storage to operate it. 3. No registration is required. Only an XMPP account. Note that for statistics and ease of intermediating people inside the system, it is essential to maintain a database, yet not all data has to be stored, which means that if the top 1,000,000 most popular links are important to you, for the sake of keeping the traffic, then there is no need for more than 200MB to 500MB of a storage disk for an SQLite database. * I am writing this information for people from outside of XMPP. Currently, the system is perfectly useable by a one man. Yet, I do need help in enhancing that system to allow access to multiple people at the same time. I was thinking of using the "cookies" system to store sessions and to link the received session value with the one which is store on runtime: accounts[jid] = XmppInstance(jid + '/blasta', password) sessions[jid] = str(random.random()) I am using Pyhton FastAPI and Slixmpp for that task. I would greately appreciate your assistance. Best regards, Schimon On Thu, 13 Jun 2024 14:26:44 +0300 Schimon Jehudah <sch@fedora.email> wrote:
Good day Jérôme!
Thank you for joining to this thread and sharing insights! Please pardon me for not posting to your post ID. Your message was not delivered to my email.
Hi Schimon,
can you tell use more about your end goal (end-user use-case)?
Is it something for social sharing (e.g. I publish a book I'm reading, I want to allow comments, reactions, repeat, etc.) or is it something like having a collection of books/citation, etc?
It is more similar to the latter: Storing of bibliographic references on PubSub nodes and also publishing and sharing (restricted to authorized contacts) of those references.
Bibliography on PubSub: * Storing (privately); * Publishing (publicly); * Sharing (restrictedly).
I am currently focued on systems which are commonly referred as "bookmark managers" or "links directories".
Example: https://codeberg.org/bouncepaw/betula/issues/9
In the later case, you can have a look at XEP-0346: Form Discovery and Publishing, which is a way to share Data Form over Pubsub, I'm already using it to share various kind of things (TODO list, shopping list, tickets, merge requests), and I have plans for books too.
It would actually great to have something usable with both, as both use cases are legitimate, in which case it could be describing the data to share and the fields to use in a Data Form, which could then be used either as attachment in a blog item (e.g. with XEP-0470), or directly with XEP-0346.
This appears to be a wonderful idea!
I will strive to make BukuBot utilizable with PubSub in both fashions you have described.
Best, Goffi