Mercurial > libervia-backend
annotate doc/overview.rst @ 3087:a51f7fce1e2c
tools (stream): data modification on SatFile:
- if `data_cb` is used and if it returns a not None value, it is used instead of the data
read from the file. This allows data modification on the fly, useful notably for
encryption
- new `check_size_with_read` argument which check size on `close()` using amount of data
actually read/written instead of file size. This avoid a warning when file is modified
on the fly
- added `closed` attribute
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 20 Dec 2019 12:28:04 +0100 |
parents | 72583524cfd3 |
children | cea52c9ddfd9 |
rev | line source |
---|---|
3022 | 1 ======== |
2 Overview | |
3 ======== | |
3021
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 To have a better understanding of Salut a Toi, this page gives a global view of what it is |
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 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 Salut à Toi (or SàT) is a XMPP client. `XMPP`_ is an open standard used |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 for communication (notably instant messaging but not only). XMPP is a solid standard, |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 which is decentralised and federated. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 SàT is not only focusing on instant messaging, and aims to be a universal communication |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 tools. In other words, you can use SàT to chat, but also to blog publicly or privately, to |
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 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 SàT is actually a whole ecosystem, and is made in a way that you can use it with many |
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 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 To work, as SàT is a XMPP **client**, a XMPP **server** is needed. You can either run your |
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 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 So to summarise, Salut à Toi, or SàT, is a communication ecosystem. Technically, it is a |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 **XMPP client** which connect to an **XMPP server**. SàT itself works with a **backend** |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 and one or many **frontends**. |
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. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
41 It takes its main configuration from a file named ``sat.conf`` and can be in different |
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 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 time ``~/.local/share/sat``. In this directory, you'll find the main database in the |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
45 ``sat.db`` file, which is a `SQLite`_ database. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
46 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
47 The backend is run and stopped with the ``sat`` binary. Running it without argument launch |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 the backend in the background, with ``sat fg`` you run it in the foreground (you'll see |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
49 log directly and can stop the backend with ``Ctrl + c``). The ``sat status`` commands help |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
50 you discover if the backend is running or stopped. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
51 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
52 .. _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
|
53 .. _SQLite: https://sqlite.org |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
55 Frontends |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
56 ========= |
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 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
|
59 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
|
60 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
|
61 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
|
62 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
63 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
|
64 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
65 Cagou |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
66 ----- |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
67 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
68 Cagou is the desktop/mobile frontend. It's probably the main interface for most users. It |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
69 is based on the `Kivy`_ framework and should run of most platforms (for now it is |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
70 officially tested only on GNU/Linux and Android phones and tablets). |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
71 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
72 .. _Kivy: https://kivy.org |
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 Libervia |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
75 -------- |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
76 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
77 Libervia is the web frontend, and is the second main interface for most users. This |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
78 frontend has the particularity to be in 2 parts: a server which serves HTTP content, and a |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
79 client which runs in the browser. So you have Libervia server which connect to SàT backend |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
80 which itself connect to the XMPP server, and your browser will connect to Libervia server. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
81 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
82 In the browser, you can access the server in two ways: either directly with what we call |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
83 **Libervia pages**, or with a JavaScript code in `single-page application`_ which is the |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
84 **Libervia client** (or **Libervia web app**) that we have mentioned above. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
85 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
86 The **Libervia pages** are web pages managing a single feature. They can work without |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
87 JavaScript when it's possible (it's not the case for instant messaging or similar highly |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
88 dynamic contents). They aims to be simple and straightforward to use. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
89 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
90 The **Libervia client** is a highly dynamic web application, used to access more features. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
91 It's more complete and may be well adapted if you want to let SàT running in a browser tab |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
92 for an extended period. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
93 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
94 Please note that the current web application (SàT 0.7) will be completely rewritten for next 0.8 release. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
95 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
96 Last but not least, Libervia is also the central part of the new **web framework** of |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
97 Salut à Toi. Indeed, in addition of being a frontend to SàT features (which is built with |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
98 this framework), you can create totally different websites which are integrated in SàT |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
99 (and so XMPP) ecosystem. This framework uses SàT template engine (based on `Jinja2`_) and |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
100 makes the creation of decentralised and federated websites simple. Thanks to this framework, |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
101 it's easy to experiment new ideas/features, or to change completely the look and feel of |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
102 the Libervia frontend. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
103 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
104 The `official SàT website`_ is made with Libervia web framework. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
105 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
106 .. _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
|
107 .. _Jinja2: http://jinja.pocoo.org/ |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
108 .. _official SàT website: https://salut-a-toi.org |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
109 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
110 Primitivus |
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 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
113 Primitivus is the Terminal User Interface (TUI). In other words, it works in console and |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
114 is intended for people at ease with it. Its text only interface has several advantages: |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
115 you get rid of many distracting things (like images), it works without graphical |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
116 environment installed (which is often the case on servers) and it works on distant shell |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
117 (like `ssh`_) while staying gentle with your bandwidth. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
118 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
119 Primitivus is shipped with the backend, so it should be always available once SàT is |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
120 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
|
121 |
3022 | 122 You can check :doc:`Primitivus documentation <primitivus/index>` for more details. |
3021
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
123 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
124 .. _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
|
125 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
126 jp |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
127 -- |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
128 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
129 Jp is the Command Line Interface (CLI). It's a powerful tool which allows to do nearly |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
130 everything you can do with other frontends. Particularly useful if you want to check |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
131 something quickly, or if you want to do some automation. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
132 |
3022 | 133 You can check :doc:`jp documentation <jp/index>` documentation for more details. |
3021
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
134 |
3041
72583524cfd3
doc (jp): jp commands are now fully documented:
Goffi <goffi@goffi.org>
parents:
3022
diff
changeset
|
135 .. _glossary: |
3021
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
136 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
137 Glossary |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
138 ======== |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
139 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
140 While using SàT you may see some terms or concept. This section explain the most important |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
141 ones. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
142 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
143 profile |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
144 ------- |
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 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
|
147 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
|
148 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
|
149 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
150 On a SàT installation used by a single user, the profiles are usually used for multiple |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
151 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
|
152 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
153 When you connect to a SàT frontend, you need to specify a profile and the associated password. The profile password is not the same as the password of the XMPP account. While this may sounds confusing, there are several reason why we use this notion of profile instead of directly the XMPP account/password: |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
154 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
155 - SàT needs to know the plain XMPP password to connect, and it is encrypted in database. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
156 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
|
157 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
|
158 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
159 - As a further benefit, several passwords could be associated to the same profile (this |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
160 feature is currently not used in SàT). |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
161 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
162 - 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
|
163 used |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
164 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
165 .. note:: |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
166 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
167 if you use an empty profile password, the XMPP password won't be encrypted in database |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
168 (or more precisely, will be trivial to decrypt). |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
169 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
170 - 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
|
171 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
|
172 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
173 You always have a *default* profile which is the profile used when you don't select any |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
174 (notably used in jp). This is the first profile that you have created except if you have |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
175 changed it using a frontend (you can change it with jp). |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
176 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
177 .. _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
|
178 .. _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
|
179 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
180 profile key |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
181 ----------- |
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 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
|
184 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
|
185 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
186 bridge |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
187 ------ |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
188 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
189 The "bridge" is the name used to design Salut à Toi's `IPC`_, or in other words the way |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
190 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
|
191 `D-Bus`_. |
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 The other available bridges are: |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
194 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
195 pb |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
196 `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
|
197 frontends) |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
198 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
199 embedded |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
200 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
|
201 library. |
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 .. _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
|
204 .. _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
|
205 .. _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
|
206 .. _Twisted: https://twistedmatrix.com |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
207 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
208 SàT Media |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
209 --------- |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
210 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
211 Most of the frontends use images or other media. To avoid duplication and to make the code |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
212 repositories lighter, those media are grouped in a separate repository. The SàT media |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
213 repository is available at https://repos.goffi.org/sat_media. You can also download media |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
214 at https://ftp.goffi.org/sat_media/sat_media.tar.bz2. The path where SàT media are |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
215 installed must be specified in ``sat.conf`` in ``media_dir`` option of the ``[DEFAULT`` |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
216 section. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
217 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
218 SàT Templates |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
219 ------------- |
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 SàT embeds a `Jinja2`_ template engine (see `Libervia`_ above). "SàT templates" refers to |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
222 the default templates (i.e. the official templates, the ones used in default Libervia pages). Those template may also be used by other frontends than Libervia (jp can use them with the :ref:`jp-output` arguments). |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
223 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
224 SàT templates repository is available at https://repos.goffi.org/sat_templates, they can |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
225 also be downloaded at `PyPI <https://pypi.org/project/sat-templates/>`_ and will be |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
226 installed automatically if you install Libervia. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
227 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
228 Related projects |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
229 ================ |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
230 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
231 Some project are closely related to Salut à Toi, here is a list of official related |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
232 project. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
233 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
234 SàT PubSub |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
235 ---------- |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
236 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
237 Numerous features of Salut à Toi are taking profit of `PubSub`_ functionalities of XMPP. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
238 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
|
239 experimental features are sometimes explored, a PubSub service as been written |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
240 specifically for the needs of SàT (but it's not depending on SàT and any XMPP software can |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
241 use it). |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
242 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
243 SàT PubSub aims to be a feature complete, server-independent PubSub implementation, and |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
244 try to be up-to-date with latest XMPP PubSub extensions. It is the privileged service to |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
245 use with SàT because it supports everything needed (but SàT can work with any XMPP PubSub |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
246 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
|
247 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
248 SàT PubSub can also be used as a `PEP`_ service, if some XMPP extensions are supported by |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
249 your server (see below). |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
250 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
251 .. _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
|
252 .. _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
|
253 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
254 XMPP Extension Protocols |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
255 ------------------------ |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
256 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
257 For the needs of SàT or SàT PubSub, some `XMPP Extension Protocols`_ (or XEP) have been |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
258 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
|
259 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
260 `XEP-0355`_: Namespace Delegation |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
261 This has been proposed for the needs of SàT PubSub, and allows the XMPP server to |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
262 "delegate" some features management to a third party service. It is needed to use SàT |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
263 Pubsub as a PEP service. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
264 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
265 `XEP-0356`_: Privileged Entity |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
266 In the same spirit as previous one, this has been done so SàT PubSub could be used as a |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
267 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
|
268 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
|
269 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
|
270 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
271 `XEP-0413`_: Order-By |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
272 This extension is used to specify the sorting order in which a client wishes to retrieve |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
273 some results. It is notably used by SàT and SàT PubSub to retrieve items like blog posts |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
274 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
|
275 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
276 .. _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
|
277 .. _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
|
278 .. _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
|
279 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
280 .. _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
|
281 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
282 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
|
283 ------------------------------------------------- |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
284 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
285 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
|
286 Entity* extensions mentioned above. If you use Prosody, you'll have to activate those 2 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
287 modules to use SàT PubSub as a PEP service. |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
288 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
289 .. _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
|
290 .. _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
|
291 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
292 SàT official website |
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 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
295 The official website is made with Libervia web framework. You'll find it at https://repos.goffi.org/sat_web_site |
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 Salut |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
298 ----- |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
299 Probably the smaller side project used by SàT, it is a simple users directory (registration must be done explicitly by users) using `XEP-0055`_ (Jabber Search). |
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 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
|
302 |
8ec35cf13f66
doc: added, overview, configuration and Primitivus documentation + some small modifications
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
303 .. _XEP-0055: https://xmpp.org/extensions/xep-0055.html |