sunpy / ablog

ABlog for blogging with Sphinx
https://ablog.readthedocs.io/
Other
184 stars 55 forks source link

XMPP: Post to PubSub #290

Open sjehuda opened 2 months ago

sjehuda commented 2 months ago

Describe the feature

In XMPP, using PubSub(1) (XEP-0060), it is possible to store posts as Atom Syndication(2) entries into XMPP(3).

There are several XMPP extensions that apply it, namely XEP-0227 (4) and XEP-0472 (5) which make node xmpp:microblog:0 as a common choice to manage news for client accounts (e.g. blog@ablog.i2p), yet a component account (e.g. pubsub.ablog.i2p) may use all of its nodes for this purpose.

pubsub.ablog.i2p/
|
|-- updates/
    |-- Sombre
     `-- Varied
|-- releases/
 `-- events/
pubsub service/
|
|-- node/
    |-- item
     `-- item
|-- node/
 `-- node/

Proposed solution

I have posted this ticket to multiple projects.

I am willing to work on this feature.


I have made a software currently it is a read-only system) that realizes viewing PubSub node items as Atom XML feeds over HTTP(6).

  1. XEP-0060: Publish-Subscribe
  2. RFC 4287: The Atom Syndication Format
  3. Atom Over XMPP
  4. XEP-0277: Microblogging over XMPP
  5. XEP-0472: Pubsub Social Feed
  6. The Rivista Publication Project You should see it (including screenshots)
nabobalis commented 2 months ago

Hi @sjehuda,

Do you know how much effort this would be to add to Ablog?

sjehuda commented 2 months ago

Do you know how much effort this would be to add to Ablog?

No. I do not know, yet.

1) I have yet to add publishing functionality to my project (Rivista).

2) I did not even observe the code of ABlog.

If you would guide me through ABlog, I will gladly contribute XMPP related code.

Once I would know what content should be sent, it will require several hours or a day, at most.

I will be at https://xmpp.link/#syndication@conference.movim.eu?join and we can discuss about it there.

nabobalis commented 2 months ago

To be honest, while I used to maintain this library. I am not really versed on how it works and adding new features.

sjehuda commented 2 months ago

This is what I think I need to know.

Once I know these, I would probably know what to do.

This is what the XMPP code would do.

Once this is done, we might want to arrange the nodes by dates, tags and other parameters that would help to map contents.

nabobalis commented 2 months ago

I actually don't know where the code is for those two parts. I am trying to re template the package interaly, so when I have a better idea of those. Hopefully I can tell you.