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(a)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