77ac4c0ed9
Update document README.
331 lines
14 KiB
HTML
331 lines
14 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||
<head>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<meta name="color-scheme" content="dark light" />
|
||
<title>Blasta / pubsub</title>
|
||
<link rel="shortcut icon" href="/graphic/blasta.svg"/>
|
||
<link rel='icon' type='image/svg+xml' href='/graphic/blasta.svg'/>
|
||
<link rel='stylesheet' type='text/css' media='screen' href='/stylesheet/stylesheet.css'/>
|
||
<script src="/script/regulator.js" />
|
||
</head>
|
||
<body>
|
||
<div id="container">
|
||
<div id="header" class="row">
|
||
<h1>
|
||
<img src="/graphic/blasta.svg"/>
|
||
|
||
<a href="/">
|
||
Blasta
|
||
</a>
|
||
/
|
||
<a href="/help">
|
||
help
|
||
</a>
|
||
/
|
||
<a href="/help/about">
|
||
about
|
||
</a>
|
||
/
|
||
<a href="/help/about/xmpp">
|
||
xmpp
|
||
</a>
|
||
/ pubsub
|
||
</h1>
|
||
<dl id="navigation">
|
||
<dd>
|
||
<a href="/">
|
||
<img alt="Main"
|
||
src="/graphic/blasta.svg"/>
|
||
</a>
|
||
</dd>
|
||
{% if jabber_id %}
|
||
<dd>
|
||
<a href="/save">Add</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/jid">Public</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/private">Private</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/read">Read</a>
|
||
</dd>
|
||
{% endif %}
|
||
<dd>
|
||
<a href="/search{% if jabber_id %}/jid/{{jabber_id}}{% endif %}">Search</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/popular">Popular</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/recent">Recent</a>
|
||
</dd>
|
||
<dd>
|
||
{% if jabber_id %}
|
||
<a href="/disconnect">Disconnect</a>
|
||
{% else %}
|
||
<a href="/connect">Connect</a>
|
||
{% endif %}
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<div id="main" class="row">
|
||
<div id="content">
|
||
<h2>
|
||
<img alt="💡" src="/graphic/xmpp.svg" width="18" height="18"/>
|
||
|
||
PubSub bookmarks
|
||
</h2>
|
||
<p>
|
||
» This is a help guide for XMPP PubSub of Blasta.
|
||
</p>
|
||
<h3>
|
||
PubSub
|
||
</h3>
|
||
<p>
|
||
Blasta manages and posts information on PubSub nodes of your
|
||
own XMPP account.
|
||
</p>
|
||
<h4>
|
||
Synopsis
|
||
</h4>
|
||
<p>
|
||
The technologies (i.e. standards and specifications) that
|
||
are being served for this task are Atom Syndication Format
|
||
(ASF) and Publish-Subscribe.
|
||
</p>
|
||
|
||
<h4>
|
||
Atom Syndication Format (RFC 4287)
|
||
</h4>
|
||
<p>
|
||
The Atom Syndication Format or ASF is a standard for
|
||
syndication which was yielded from RSS. The ASF was
|
||
approved by the Internet Engineering Task Force (IETF)
|
||
as <a href="https://www.rfc-editor.org/rfc/rfc4287">
|
||
RFC 4287</a> in december 2005.
|
||
</p>
|
||
<p>
|
||
This standard is an XML-based document format that describes
|
||
lists of related information known as "feeds". Feeds are
|
||
composed of a number of items, known as "entries", each with
|
||
an extensible set of attached metadata. For example, each
|
||
entry has a title.
|
||
</p>
|
||
<p>
|
||
The primary use case that Atom addresses is the syndication
|
||
of content such as journals and news headlines to sites as
|
||
well as directly to user agents.
|
||
</p>
|
||
<h4>
|
||
Publish-Subscribe (XEP-0060)
|
||
</h4>
|
||
<p>
|
||
Publish-Subscribe or PubSub is an XEP specification for
|
||
XMPP which was approved by the XMPP Standard Foundation (XSF)
|
||
as <a href="https://xmpp.org/extensions/xep-0060.html">
|
||
XEP-0060</a> in november 2002.
|
||
</p>
|
||
<p>
|
||
This specification defines an XMPP protocol extension for
|
||
generic publish-subscribe functionality. The protocol
|
||
enables XMPP entities to create nodes (topics) at a pubsub
|
||
service and publish information at those nodes; an event
|
||
notification (with or without payload) is then broadcasted
|
||
to all entities that have subscribed to the node. Pubsub
|
||
therefore adheres to the classic Observer design pattern and
|
||
can serve as the foundation for a wide variety of applications,
|
||
including news feeds, content syndication, rich presence,
|
||
geolocation, workflow systems, network management systems,
|
||
and any other application that requires event notifications.
|
||
</p>
|
||
<h4>
|
||
Atomsub
|
||
</h4>
|
||
<p>
|
||
Atomsub, or Atom Over XMPP, is the combination of PubSub and
|
||
Atom. <a href="/help/about/xmpp/atomsub">Learn more</a>.
|
||
</p>
|
||
<h4>
|
||
Technicalities
|
||
</h4>
|
||
<p>
|
||
The location at which Blasta stores your information is inside
|
||
node <code>urn:xmpp:bibliography:0</code> of
|
||
<code>{% if jabber_id %}{{jabber_id}}{% else %}your@jabber.id{% endif %}</code>
|
||
which interpretes to <a href="
|
||
xmpp:{% if jabber_id %}{{jabber_id}}{% else %}your@jabber.id{% endif %}?;node=urn:xmpp:bibliography:0">
|
||
xmpp:{% if jabber_id %}{{jabber_id}}{% else %}your@jabber.id{% endif %}?;node=urn:xmpp:bibliography:0</a>
|
||
and is where you can find all of your information, even if
|
||
this Blasta instance be offline.
|
||
</p>
|
||
<h4>
|
||
PubSub
|
||
</h4>
|
||
<p>
|
||
This is an illustrated example of a node item which stores
|
||
as an Atom entry.
|
||
</p>
|
||
<pre>
|
||
JID : {% if jabber_id %}{{jabber_id}}{% else %}your@jabber.id{% endif %}
|
||
Node : urn:xmpp:bibliography:0
|
||
Item : 3d0db4c019a01ebbbab1cf0723ed7ddd
|
||
</pre>
|
||
<p>
|
||
The item ID is a an MD5 string which was yielded by a URL
|
||
which was hashed by the MD5 algorithm, and is used as a
|
||
representation of a URL ID for referential purposes in the
|
||
Blasta system.
|
||
</p>
|
||
<h4>
|
||
Atom
|
||
</h4>
|
||
<p>
|
||
This is an illustrated example of an Atom Syndication Format
|
||
entry which is stored in item
|
||
<code>3d0db4c019a01ebbbab1cf0723ed7ddd</code>.
|
||
</p>
|
||
<pre>
|
||
Title : The Pirate Bay - The most resilient BitTorrent site
|
||
Summary : Download music, movies, games, software!
|
||
Category : brand:the-pirate-bay
|
||
Category : directory:torrent
|
||
Category : service:search
|
||
Link : https://tpb.party/
|
||
Published : {{date_now_iso}}
|
||
Updated : {{date_now_iso}}
|
||
</pre>
|
||
<p>
|
||
This is the data as retrieved by an XMPP IQ Stanza.
|
||
</p>
|
||
<pre>
|
||
<item xmlns="http://jabber.org/protocol/pubsub" id="3d0db4c019a01ebbbab1cf0723ed7ddd">
|
||
<entry xmlns="http://www.w3.org/2005/Atom">
|
||
<title type="text">The Pirate Bay - The most resilient BitTorrent site</title>
|
||
<summary type="text">Download music, movies, games, software!</summary>
|
||
<category term="brand:the-pirate-bay" />
|
||
<category term="directory:torrent" />
|
||
<category term="service:search" />
|
||
<link href="https://tpb.party/" />
|
||
<published>{{date_now_iso}}</published>
|
||
<updated>{{date_now_iso}}</updated>
|
||
</entry>
|
||
</item>
|
||
</pre>
|
||
<p>
|
||
Which be realized in Blasta as follows.
|
||
</p>
|
||
<h4>
|
||
<a href="https://tpb.party/">
|
||
The Pirate Bay - The most resilient BitTorrent site
|
||
</a>
|
||
</h4>
|
||
<p class="summary">Download music, movies, games, software!</p>
|
||
<div class="details">
|
||
to
|
||
<a href="/?tags=brand:the-pirate-bay">
|
||
brand:the-pirate-bay
|
||
</a>
|
||
​ 
|
||
<a href="/?tags=directory:torrent">
|
||
directory:torrent
|
||
</a>
|
||
​ 
|
||
<a href="/?tags=service:search">
|
||
service:search
|
||
</a>
|
||
​ 
|
||
by
|
||
<a href="/jid/fionn@jabber.i2p">Fionn</a>
|
||
…
|
||
<a href="/url/3d0db4c019a01ebbbab1cf0723ed7ddd">
|
||
<span class="instances-degree-fourth">and 57,293 other people</span>
|
||
</a>
|
||
​ 
|
||
at
|
||
<span class="date">{{date_now_readable}}</span>
|
||
</div>
|
||
<h4>
|
||
Conclusion
|
||
</h4>
|
||
<p>
|
||
This was an illustrative representation of how your data is
|
||
stored by Blasta as Atom feed entries on Publish-Subscribe
|
||
node <code>urn:xmpp:bibliography:0</code> of your XMPP
|
||
account.
|
||
</p>
|
||
<h4>
|
||
Resources
|
||
</h4>
|
||
<ul>
|
||
<li>
|
||
<a href="https://wiki.xmpp.org/web/PubSub_message_types">
|
||
PubSub message types
|
||
</a>
|
||
​ 
|
||
(wiki.xmpp.org)
|
||
</li>
|
||
<li>
|
||
<a href="https://wiki.xmpp.org/web/Tech_pages/PubSub">
|
||
Tech pages/PubSub
|
||
</a>
|
||
​ 
|
||
(wiki.xmpp.org)
|
||
</li>
|
||
</ul>
|
||
<br/>
|
||
<p class="quote bottom">
|
||
“Technology is extremely powerful and has the potential to
|
||
change the world; however, it cannot realize its full
|
||
potential unless people feel the need to use it. Some
|
||
researchers agree, that to ensure the success of new
|
||
technology, the focus should be on the people’s perspective
|
||
rather than on the technology itself. Designing a new
|
||
experience is a process that facilitates the relationship
|
||
between technology and people; thus, balanced research
|
||
should be conducted from both perspectives.”
|
||
― <a href="https://www.diva.exchange/en/privacy/trust-in-the-cryptocurrency-economy-resolving-the-problem-experience-of-diva-exchange-part-2/">
|
||
DIVA.EXCHANGE
|
||
</a>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div id="footer" class="row">
|
||
<dl>
|
||
<dd>
|
||
<img src="/graphic/blasta.svg" alt="logo"/>
|
||
<a href="/">blasta</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/help/about">about</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/help/about/xmpp">xmpp</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/help/about/xmpp/pubsub">pubsub</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="{{journal}}">journal</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/help">help</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/help/policy">policy</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/help/feeds">rss</a>
|
||
</dd>
|
||
<dd>
|
||
<a href="/contact">contact</a>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html>
|