annotate doc/overview.rst @ 4314:6a70fcd93a7a

plugin XEP-0131: Stanza Headers and Internet Metadata implementation: - SHIM is now supported and put in `msg_data["extra"]["headers"]`. - `Keywords` are converted from and to list of string in `msg_data["extra"]["keywords"]` field (if present in headers on message sending, values are merged). - Python minimal version upgraded to 3.11 due to use of `StrEnum`. rel 451
author Goffi <goffi@goffi.org>
date Sat, 28 Sep 2024 15:56:04 +0200
parents ba46d6a0ff3a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3022
03fe31effa7f doc: some corrections:
Goffi <goffi@goffi.org>
parents: 3021
diff changeset
1 ========
03fe31effa7f doc: some corrections:
Goffi <goffi@goffi.org>
parents: 3021
diff changeset
2 Overview
03fe31effa7f doc: some corrections:
Goffi <goffi@goffi.org>
parents: 3021
diff changeset
3 ========
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
4
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
5 To have a better understanding of Libervia, this page gives a global view of what it is
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
6 and what are the important concepts linked to it. You don't need to read this to use it, but you
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
7 can if you wish to understand "who is doing what".
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
8
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
9 Libervia is a XMPP client. `XMPP`_ is an open standard used for communication (notably
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
10 instant messaging but not only). XMPP is a solid standard, which is decentralised and
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
11 federated.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
12
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
13 Libervia is not only focusing on instant messaging, and aims to be a universal communication
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
14 tools. In other words, you can use Libervia to chat, but also to blog publicly or privately, to
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
15 share file, photo albums, to create events, to have discussion forum, etc.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
16
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
17 Libervia is actually a whole ecosystem, and is made in a way that you can use it with many
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
18 different interfaces (or "frontends"). There is a common central part which is called the
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
19 "backend", it handles most of the work, while frontends are mostly about the interactions
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
20 with user(s).
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
21
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
22 To work, as Libervia is a XMPP **client**, a XMPP **server** is needed. You can either run your
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
23 own, or use an existing one (either public, or run by an organisation you belong to, like
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
24 family server, run by a friend, your company, university, association, etc.). If you want
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
25 to run your own server, there are already plenty of them and happily most of which are
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
26 `libre <https://en.wikipedia.org/wiki/Free_software>`_, you can check an `up-to-date list
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
27 on the XSF website <https://xmpp.org/software/servers.html>`_ (the XSF or *XMPP Standards
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
28 Foundation* being the non-profit organisation taking care of the XMPP standard).
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
29
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
30 So to summarise, Libervia is a communication ecosystem. Technically, it is a **XMPP
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
31 client** which connect to an **XMPP server**. Libervia itself works with a **backend** and
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
32 one or many **frontends**.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
33
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
34 .. _XMPP: https://xmpp.org
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
35
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
36
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
37 Backend
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
38 =======
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
39
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
40 The backend is a daemon, that means that it's a service running in the background.
3536
0985c47ffd96 doc: config file is now `libervia.conf` (even if `sat.conf` still works, for now)
Goffi <goffi@goffi.org>
parents: 3488
diff changeset
41 It takes its main configuration from a file named ``libervia.conf`` and can be in different
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
42 locations (see below). It uses data in a directory called ``local_dir``, and which
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
43 default, on suitable platforms, to the corresponding `XDG directory`_, which is most of
3563
267e4987b58b doc: fix remaining SàT references/typos + add `libervia-cli` missing commands
Goffi <goffi@goffi.org>
parents: 3536
diff changeset
44 time ``~/.local/share/libervia``. In this directory, you'll find the main database in the
267e4987b58b doc: fix remaining SàT references/typos + add `libervia-cli` missing commands
Goffi <goffi@goffi.org>
parents: 3536
diff changeset
45 ``libervia.db`` file, which is a `SQLite`_ database.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
46
3563
267e4987b58b doc: fix remaining SàT references/typos + add `libervia-cli` missing commands
Goffi <goffi@goffi.org>
parents: 3536
diff changeset
47 The backend is run and stopped with the ``libervia-backend`` executable. Running it
267e4987b58b doc: fix remaining SàT references/typos + add `libervia-cli` missing commands
Goffi <goffi@goffi.org>
parents: 3536
diff changeset
48 without argument launch the backend in the background, with ``libervia-backend fg`` you
267e4987b58b doc: fix remaining SàT references/typos + add `libervia-cli` missing commands
Goffi <goffi@goffi.org>
parents: 3536
diff changeset
49 run it in the foreground (you'll see log directly and can stop the backend with
267e4987b58b doc: fix remaining SàT references/typos + add `libervia-cli` missing commands
Goffi <goffi@goffi.org>
parents: 3536
diff changeset
50 ``Ctrl + c``). The ``libervia-backend status`` commands help you discover if the backend
267e4987b58b doc: fix remaining SàT references/typos + add `libervia-cli` missing commands
Goffi <goffi@goffi.org>
parents: 3536
diff changeset
51 is running or stopped.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
52
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
53 .. _XDG directory: https://www.freedesktop.org/wiki/Software/xdg-user-dirs/
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
54 .. _SQLite: https://sqlite.org
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
55
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
56 Frontends
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
57 =========
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
58
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
59 Frontends are used to make the interface between user and the backend. Frontends are
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
60 adapted to different use cases, and must be started after the backend (if the backend is
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
61 not started, you'll see a message telling you so). In most installations, the backend
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
62 should be started automatically when you want to use a frontend.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
63
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
64 Bellow you'll see a list of the official frontends currently maintained:
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
65
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
66 Libervia Deskop/Mobile (Cagou)
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
67 ------------------------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
68
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
69 Libervia Desktop (alias ``Libervia Mobile`` or ``Cagou``) is the desktop/mobile frontend.
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
70 It's probably the main interface for most users. It is based on the `Kivy`_ framework and
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
71 should run on most platforms (for now it is officially tested only on GNU/Linux and
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
72 Android phones and tablets).
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
73
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
74 .. _Kivy: https://kivy.org
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
75
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
76 Libervia Web
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
77 ------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
78
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
79 The Web frontend is the second main interface for most users. This frontend has the
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
80 particularity to be in 2 parts: a server which serves HTTP content, and a client which
3627
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
81 runs in the browser. So you have Libervia Web server which connect to Libervia backend which itself
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
82 connect to the XMPP server, and your browser will connect to Libervia Web server.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
83
3627
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
84 ..
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
85 # NOTE: currently not relevant as there is no Web APP anymore, may come back in the
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
86 future though
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
87 In the browser, you can access the server in two ways: either directly with what we call
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
88 **Libervia pages**, or with a JavaScript code in `single-page application`_ which is the
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
89 **Libervia client** (or **Libervia web app**) that we have mentioned above.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
90
3627
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
91 The **Libervia Web Pages** are web pages managing a single feature. They can work without
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
92 JavaScript when it's possible (it's not the case for instant messaging or similar highly
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
93 dynamic contents). They aims to be simple and straightforward to use. That what you're
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
94 accessing when you're using Libervia Web.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
95
3627
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
96 ..
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
97 #Note: as above, not relevant anymore but may come back in the future
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
98 The **Libervia Web Client** is a highly dynamic web application, used to access more features.
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
99 It's more complete and may be well adapted if you want to let Libervia running in a browser tab
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
100 for an extended period.
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
101
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
102 Libervia Web is also the central part of the **Web Framework**. Indeed, in addition of
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
103 being a frontend to Libervia features (which is built with this framework), you can create
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
104 totally different websites which are integrated in Libervia (and so XMPP) ecosystem. This
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
105 framework uses Libervia template engine (based on `Jinja2`_) and makes the creation of
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
106 decentralised and federated websites simple. Thanks to this framework, it's easy to
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
107 experiment new ideas/features, or to change completely the look and feel of the Libervia
7fe1028acab2 doc (overview): comment mentions of web app (not relevant anymore, for now) + web frontend name change
Goffi <goffi@goffi.org>
parents: 3563
diff changeset
108 frontend.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
109
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
110 The `official Libervia website`_ is made with Libervia web framework.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
111
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
112 .. _single-page application: https://en.wikipedia.org/wiki/Single-page_application
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
113 .. _Jinja2: http://jinja.pocoo.org/
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
114 .. _official Libervia website: https://salut-a-toi.org
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
115
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
116 Libervia TUI (Primitivus)
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
117 -------------------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
118
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
119 Libervia TUI (alias ``Primitivus``) is the Terminal User Interface. In other words, it
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
120 works in console and is intended for people at ease with it. Its text only interface has
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
121 several advantages: you get rid of many distracting things (like images), it works without
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
122 graphical environment installed (which is often the case on servers) and it works on
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
123 distant shell (like `ssh`_) while staying gentle with your bandwidth.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
124
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
125 Primitivus is shipped with the backend, so it should be always available once Libervia is
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
126 installed (but some distributions may provide it separately).
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
127
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
128 You can check :doc:`Libervia TUI documentation <libervia-tui/index>` for more details.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
129
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
130 .. _ssh: https://en.wikipedia.org/wiki/Secure_Shell
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
131
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
132 Libervia CLI (jp)
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
133 -----------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
134
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
135 Libervia CLI (alias ``li`` or ``jp``) is the Command Line Interface. It's a
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
136 powerful tool which allows to do nearly everything you can do with other frontends.
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
137 Particularly useful if you want to check something quickly, or if you want to do some
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
138 automation.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
139
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
140 You can check :doc:`Libervia CLI documentation <libervia-cli/index>` documentation for more details.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
141
3041
72583524cfd3 doc (jp): jp commands are now fully documented:
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
142 .. _glossary:
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
143
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
144 Glossary
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
145 ========
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
146
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
147 While using Libervia you may see some terms or concept. This section explain the most important
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
148 ones.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
149
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
150 profile
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
151 -------
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
152
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
153 A profile is the name linked to an account data. Usually a profile correspond to an XMPP
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
154 account, but you can have several profiles using the same XMPP account (with different
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
155 parameters) even if this is not usual.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
156
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
157 On a Libervia installation used by a single user, the profiles are usually used for multiple
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
158 accounts. On a multi-users installations, there is usually one profile per user.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
159
4249
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
160 When you connect to a Libervia frontend, you need to specify a profile and the associated
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
161 password. The profile password is not the same as the password of the XMPP account. While
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
162 this may sounds confusing, there are several reason why we use this notion of profile
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
163 instead of directly the XMPP account/password:
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
164
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
165 - Libervia needs to know the plain XMPP password to connect, and it is encrypted in database.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
166 The profile password is used to encrypt/decrypt it, this way only a `password hash`_ is
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
167 stored and the XMPP password is encrypted `at rest`_.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
168
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
169 - As a further benefit, several passwords could be associated to the same profile (this
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
170 feature is currently not used in Libervia).
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
171
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
172 - profile password can be empty, in which case no password is requested when a profile is
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
173 used
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
174
3353
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3251
diff changeset
175 .. note::
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
176
3353
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3251
diff changeset
177 if you use an empty profile password, the XMPP password won't be encrypted in database
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3251
diff changeset
178 (or more precisely, will be trivial to decrypt).
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
179
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
180 - a profile is a simple name associated with an account, it's easier to remember than a
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
181 whole XMPP identifier (also named "JID" for *Jabber ID*)
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
182
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
183 You always have a *default* profile which is the profile used when you don't select any
4249
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
184 (notably used in Libervia CLI). This is the first profile that you have created except if
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
185 you have changed it using a frontend (you can change it with Libervia CLI).
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
186
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
187 .. _password hash: https://en.wikipedia.org/wiki/Key_derivation_function
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
188 .. _at rest: https://en.wikipedia.org/wiki/Data_at_rest
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
189
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
190 profile key
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
191 -----------
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
192
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
193 A profile **key** is a special name used as a way to select automatically one profile. The
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
194 most important one is ``@DEFAULT@`` which, as you can guess, means the default profile.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
195
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
196 bridge
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
197 ------
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
198
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
199 The "bridge" is the name used to design Libervia's `IPC`_, or in other words the way
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
200 the backend communicate with frontends. Several bridges can be used, the default one being
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
201 `D-Bus`_.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
202
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
203 The other available bridges are:
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
204
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
205 pb
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
206 `Perspective Broker`_ is a part of `Twisted`_ (the framework used by the backend and some
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
207 frontends)
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
208
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
209 embedded
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
210 this embeds the backend into the frontend. The frontend is then using the backend as a
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
211 library.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
212
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
213 .. _IPC: https://en.wikipedia.org/wiki/Inter-process_communication
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
214 .. _D-Bus: https://www.freedesktop.org/wiki/Software/dbus/
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
215 .. _Perspective Broker: https://twistedmatrix.com/documents/current/core/howto/pb-intro.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
216 .. _Twisted: https://twistedmatrix.com
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
217
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
218 Libervia Media
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
219 --------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
220
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
221 Most of the frontends use images or other media. To avoid duplication and to make the code
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
222 repositories lighter, those media are grouped in a separate repository. The Libervia media
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
223 repository is available at https://repos.goffi.org/sat_media. You can also download media
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
224 at https://ftp.goffi.org/sat_media/sat_media.tar.bz2. The path where Libervia media are
4249
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
225 installed must be specified in ``libervia.conf`` in ``media_dir`` option of the ``[DEFAULT]``
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
226 section.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
227
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
228 Libervia Templates
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
229 ------------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
230
4249
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
231 Libervia embeds a `Jinja2`_ template engine (see `Libervia Web`_ above). "Libervia
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
232 templates" refers to the default templates (i.e. the official templates, the ones used in
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
233 default Libervia pages). Those template may also be used by other frontends than Libervia
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
234 (Libervia CLI can use them with the :ref:`libervia-cli_output` arguments).
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
235
4249
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
236 Libervia templates repository is available at https://repos.goffi.org/libervia-templates, they can
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
237 also be downloaded at `PyPI <https://pypi.org/project/libervia-templates/>`_ and will be
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
238 installed automatically if you install Libervia.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
239
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
240 Related projects
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
241 ================
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
242
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
243 Some project are closely related to Libervia, here is a list of official related
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
244 project.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
245
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
246 Libervia PubSub
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
247 ---------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
248
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
249 Numerous features of Libervia are taking profit of `PubSub`_ functionalities of XMPP.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
250 Because PubSub implementations in the wild are not all on the same level, and some
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
251 experimental features are sometimes explored, a PubSub service as been written
4249
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
252 specifically for the needs of Libervia (but it's not depending on Libervia and any XMPP
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
253 software can use it).
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
254
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
255 Libervia PubSub aims to be a feature complete, server-independent PubSub implementation, and
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
256 try to be up-to-date with latest XMPP PubSub extensions. It is the privileged service to
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
257 use with Libervia because it supports everything needed (but Libervia can work with any XMPP PubSub
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
258 service, it will adapt itself to available features).
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
259
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
260 Libervia PubSub can also be used as a `PEP`_ service, if some XMPP extensions are supported by
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
261 your server (see below).
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
262
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
263 .. _PubSub: https://xmpp.org/about/technology-overview.html#pubsub
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
264 .. _PEP: https://xmpp.org/extensions/xep-0163.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
265
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
266 XMPP Extension Protocols
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
267 ------------------------
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
268
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
269 For the needs of Libervia or Libervia PubSub, some `XMPP Extension Protocols`_ (or XEP) have been
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
270 proposed and got an official number. The current list of extensions is:
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
271
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
272 `XEP-0355`_: Namespace Delegation
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
273 This has been proposed for the needs of Libervia PubSub, and allows the XMPP server to
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
274 "delegate" some features management to a third party service. It is needed to use Libervia
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
275 Pubsub as a PEP service.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
276
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
277 `XEP-0356`_: Privileged Entity
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
278 In the same spirit as previous one, this has been done so Libervia PubSub could be used as a
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
279 PEP service. This extensions allows a "component" (which is more or less a server
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
280 generic plugin) to gain some privileged access to data such as presence information,
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
281 roster or to send a message like if it was sent by the server.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
282
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
283 `XEP-0413`_: Order-By
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
284 This extension is used to specify the sorting order in which a client wishes to retrieve
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
285 some results. It is notably used by Libervia and Libervia PubSub to retrieve items like blog posts
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
286 or tickets in creation order or order of last modification.
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
287
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
288 .. _XEP-0355: https://xmpp.org/extensions/xep-0355.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
289 .. _XEP-0356: https://xmpp.org/extensions/xep-0356.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
290 .. _XEP-0413: https://xmpp.org/extensions/xep-0413.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
291
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
292 .. _XMPP Extension Protocols: https://xmpp.org/about/standards-process.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
293
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
294 Prosody's `mod_delegation`_ and `mod_privilege`_
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
295 -------------------------------------------------
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
296
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
297 Prosody modules have been created to implement the *Namespace Delegation* and *Privileged
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
298 Entity* extensions mentioned above. If you use Prosody, you'll have to activate those 2
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
299 modules to use Libervia PubSub as a PEP service.
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
300
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
301 .. _mod_privilege: https://modules.prosody.im/mod_privilege.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
302 .. _mod_delegation: https://modules.prosody.im/mod_delegation.html
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
303
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
304 Libervia official website
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
305 -------------------------
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
306
4249
ba46d6a0ff3a doc: style/typos/URL fixes
Goffi <goffi@goffi.org>
parents: 3627
diff changeset
307 The official website is made with Libervia web framework. You'll find it at https://repos.goffi.org/libervia-website
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
308
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
309 Salut
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
310 -----
3488
c80a0f864b5d doc: updated doc following global renaming
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
311 Probably the smaller side project used by Libervia, it is a simple users directory (registration must be done explicitly by users) using `XEP-0055`_ (Jabber Search).
3021
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
312
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
313 You'll find it at https://repos.goffi.org/salut/
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
314
8ec35cf13f66 doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff changeset
315 .. _XEP-0055: https://xmpp.org/extensions/xep-0055.html