doc: updated doc following global renaming

This commit is contained in:
Goffi 2021-03-21 18:23:58 +01:00
commit 6d15e23a31
40 changed files with 400 additions and 395 deletions

View file

@ -4,7 +4,7 @@
Configuration
=============
Salut à Toi main configuration is set in a file named ``sat.conf`` (which may be prefixed
Libervia main configuration is set in a file named ``libervia.conf`` (which may be prefixed
by a ``.`` if you want to hide it on suitable platforms). It is a common file used both by
backend and all frontends (and even related project like SàT Pubsub).
@ -12,18 +12,18 @@ This file can be located in the following paths (in order of parsing):
- ``/etc``
- ``~`` (``$HOME`` or your home directory)
- XDG directory for configuration (most of time it is
``~/.config/sat/``)
``~/.config/libervia/``)
- the parent directory of SàT installation path
If several configurations files are found, they are merged. In case of conflict, the
option parsed last is the one used (in other words: if you have an option set in
``/etc/sat.conf`` and the same one set in ``~/.sat.conf``, the one from ``~/.sat.conf``
``/etc/libervia.conf`` and the same one set in ``~/.libervia.conf``, the one from ``~/.libervia.conf``
will be used because it is parsed after ``/etc``).
Format
======
``sat.conf`` is using the `INI`_ file format as understood by Python's `SafeConfigParser`_
``libervia.conf`` is using the `INI`_ file format as understood by Python's `SafeConfigParser`_
(meaning that you can use interpolation).
The ``DEFAULT`` section is used for global options, this is where you specify where are
@ -35,17 +35,17 @@ sensitive), and some backend plugin can use specific sections too (usually named
have the name of a web site used with Libervia web framework.
To recapitulate, you can have the following sections in your ``sat.conf``:
To recapitulate, you can have the following sections in your ``libervia.conf``:
``[DEFAULT]``
the main, global section
frontend name (in lower case)
frontend specific settings. Some examples:
- ``[cagou]``
- ``[jp]``
- ``[primitivus]``
- ``[libervia]``
- ``[desktop]``
- ``[cli]``
- ``[tui]``
- ``[web]``
``[plugin <plugin name>]``
backend plugin specific settings. Some examples:
@ -116,7 +116,7 @@ the comments to get the meaning of each option.
; default room to use in the "Join room" menu
default_muc = sat@chat.jabberfr.org
[primitivus]
[tui]
log_level = debug
; how the logs are formatted
; note that "%" must be doubled here
@ -124,15 +124,15 @@ the comments to get the meaning of each option.
; use bracketed paste mode
bracketed_paste = true
[jp]
; how to use xdotool to refresh Firefox when doing "jp blog edit"
[cli]
; how to use xdotool to refresh Firefox when doing "li blog edit"
blog_preview_open_cmd = firefox -new-tab {url}
blog_preview_update_cmd = /bin/sh -c "WID=$(xdotool search --name 'Mozilla Firefox' | head -1); xdotool windowactivate $WID; xdotool key F5"
; and below the equivalent with Konqueror
# blog_preview_open_cmd = konqueror {url}
# blog_preview_update_cmd = /bin/sh -c "qdbus $(qdbus org.kde.konqueror\*) /konqueror/MainWindow_1 reload"
[libervia]
[web]
; do we want "http", "https" or "both"?
connection_type = both
port = 8080

View file

@ -26,8 +26,8 @@ You can follow this documentation to learn more on it, or join our official XMPP
installation.rst
overview.rst
configuration.rst
/jp/index.rst
/primitivus/index.rst
/libervia-cli/index.rst
/libervia-tui/index.rst
/contribuing/index.rst

View file

@ -25,7 +25,7 @@ example
Create account for the new user Nestor at ``nestor@example.org`` and associate it with the
SàT profile ``nestor``::
$ jp account create nestor@example.org some_password -p nestor
$ li account create nestor@example.org some_password -p nestor
modify
@ -38,7 +38,7 @@ given profile.
Only the XMPP password on the server is changed, not the one registered in the
parameter of SàT. You may have to update the parameter of your profile if the new
password doesn't correspond to your parameters one (you can do that with jp param set
password doesn't correspond to your parameters one (you can do that with li param set
or with most SàT frontends in parameters).
example
@ -46,7 +46,7 @@ example
Change the XMPP password of the XMPP account of the default profile::
$ jp account modify new_password
$ li account modify new_password
delete
@ -72,4 +72,4 @@ example
Delete the XMPP account of Pierre, which is not on the local server anymore::
$ jp account delete -p pierre
$ li account delete -p pierre

View file

@ -34,7 +34,7 @@ examples
Get a list of available commands on your server to launch a command::
$ jp ad-hoc run
$ li ad-hoc run
If your server supports `XEP-0133`_ and you're an admin on it, you can send announcements
to online users. This can be useful to notify an imminent maintenance of the server. Here
@ -42,20 +42,20 @@ we notify online users that the server will be shutdown in 30 min, using a shell
substitution capabilities with a pre-registered message in the file
``~/announces/maintenance_30.txt``, then we submit it::
$ jp ad-hoc run "http://jabber.org/protocol/admin#announce" -f subject "Maintenance in 30 min" -f announcement "$(<~/announces/maintenance_30.txt)" -S
$ li ad-hoc run "http://jabber.org/protocol/admin#announce" -f subject "Maintenance in 30 min" -f announcement "$(<~/announces/maintenance_30.txt)" -S
Get your server uptime (if supported by your server)::
$ jp ad-hoc run uptime
$ li ad-hoc run uptime
Run the commands available at the service with the jid ``someservice.example.org``::
$ jp ad-hoc run -s someservice.example.org
$ li ad-hoc run -s someservice.example.org
Run you server commands with verbosity so you get the name of the fields that you can fill
automatically later::
$ jp ad-hoc run -v
$ li ad-hoc run -v
.. _XEP-0133: https://xmpp.org/extensions/xep-0133.html
@ -69,11 +69,11 @@ examples
List ad-hoc commands available at your server::
$ jp ad-hoc list
$ li ad-hoc list
List ad-hoc commands available at a chat service::
$ jp ad-hoc list -j conference.example.org
$ li ad-hoc list -j conference.example.org
remote
======
@ -112,9 +112,9 @@ examples
Create a remote control for a running VLC instance::
$ jp ad-hoc remote vlc -l
$ li ad-hoc remote vlc -l
Create a remote control for a running SMPlayer instance, and allowing anybody from your
``housemates`` group to use it::
$ jp ad-hoc remote smplayer -g housemates -l
$ li ad-hoc remote smplayer -g housemates -l

View file

@ -17,8 +17,8 @@ read-only access, or copy it if you want to modify the image.
You may use the ``-s, --show`` argument to display the found avatar. The software used to
display the image can be specified in SàT configuration (cf. :ref:`configuration`), in the
``[jp]`` section: the ``image_cmd`` setting let you specify the path to the software. If
``image_cmd`` is not used, ``jp`` will try some common software, and if none is found, it
``[li]`` section: the ``image_cmd`` setting let you specify the path to the software. If
``image_cmd`` is not used, ``li`` will try some common software, and if none is found, it
will try to open the image in a browser (which may sometimes result in using the default
image software of the platform).
@ -30,7 +30,7 @@ example
Get the avatar of ``louise@example.org`` and display it::
$ jp avatar get --show louise@example.org
$ li avatar get --show louise@example.org
set
@ -44,4 +44,4 @@ example
Set the avatar of the default profile::
$ jp avatar set ~/photos/some_photo.jpg
$ li avatar set ~/photos/some_photo.jpg

View file

@ -21,11 +21,11 @@ examples
Create a blog post with a body, a subject, 2 tags, and with comments allowed::
$ echo "This is post body" | jp blog set -T "This is a test message" -t test -t jp -C
$ echo "This is post body" | li blog set -T "This is a test message" -t test -t li -C
Create a blog post with rich content using `markdown` syntax, and no subject::
$ echo "This is a **rich** body" | jp blog set -S markdown
$ echo "This is a **rich** body" | li blog set -S markdown
get
===
@ -37,7 +37,7 @@ output can be customised to only retrieve some keys, or to use a specific templa
instance, the following command retrieves only the title and publication date of the
personal blog of the profile::
$ jp blog get -k title -k published
$ li blog get -k title -k published
:ref:`pubsub_common` commands are used to specify the blog location.
@ -47,19 +47,19 @@ examples
Retrieve personal blog of the profile using `fancy` output with a verbosity of 1 (to show
publication date)::
$ jp blog get -O fancy -v
$ li blog get -O fancy -v
Retrieve *title* and *publication date* of last 3 blog posts from the blog at
https://www.goffi.org::
$ jp blog get -m 3 -u https://www.goffi.org -k title -k published
$ li blog get -m 3 -u https://www.goffi.org -k title -k published
Retrieve last 2 posts of personal blog, and output them in browser using default
template::
$ jp blog get -m 2 -O template --oo browser
$ li blog get -m 2 -O template --oo browser
.. _jp-blog_edit:
.. _libervia-cli_blog_edit:
edit
====
@ -82,7 +82,7 @@ case, when you'll save your modification and quit your editor, the blog post wil
published but saved locally in a draft. To continue your work later, just start your
edition with the ``-D, --current`` option like this::
$ jp blog edit -D
$ li blog edit -D
Note that item location must be re-specified if it has been used to create the draft, so
you'll have to reproduce the arguments to specify service, node or item (or the URL),
@ -100,7 +100,7 @@ configuration <edit_preview_>`_ below to see how to do.
.. note::
If --preview doesn't work, use ``jp blog preview`` (see below) to get error messages.
If --preview doesn't work, use ``li blog preview`` (see below) to get error messages.
On GNU/Linux, Be sure that inotify Python module is installed correctly.
examples
@ -108,24 +108,24 @@ examples
Edit a new blog post with comments on your personal blog, using default syntax and preview::
$ jp blog edit -P --comments
$ li blog edit -P --comments
Modifiy a draft previously saved using the ``"publish": false`` metadata::
$ jp blog edit -D
$ li blog edit -D
Correct a typo in your last published blog post::
$ jp blog edit --last-item
$ li blog edit --last-item
Edit the blog item at an HTTPS URL using XHTML syntax::
$ jp blog edit -u https://www.example.net/some_xmpp_blog_article.html -S xhtml
$ li blog edit -u https://www.example.net/some_xmpp_blog_article.html -S xhtml
Create a new blog post on a XMPP blog node using its HTTPS URL (supposing here that
https://example.net is a XMPP blog node)::
$ jp blog edit -u https://www.example.net
$ li blog edit -u https://www.example.net
.. _edit_metadata:
@ -180,7 +180,7 @@ editor
Local editor used is by default the one set in ``$EDITOR`` environment variable, but you
can specify one in ``sat.conf``. To do so, you have to set the name of an editor
executable in the ``editor`` option in ``[jp]`` section.
executable in the ``editor`` option in ``[li]`` section.
You can specify the args to use by using ``blog_editor_args`` option. Use
``{content_file}`` to get the path of the main content file (the body of the blog post),
@ -188,7 +188,7 @@ and ``{metadata_file}`` to get the path of the json metadata.
.. sourcecode:: cfg
[jp]
[li]
editor = kate
blog_editor_args = {content_file} {metadata_file}
@ -198,7 +198,7 @@ preview
^^^^^^^
To set the preview, you can use the options ``blog_preview_open_cmd`` and
``blog_preview_update_cmd`` in your ``[jp]`` section. the former is the command to use to
``blog_preview_update_cmd`` in your ``[li]`` section. the former is the command to use to
open your browser when edition starts, and the later is the command to use when a
modification is saved. In both cases you may use ``{url}`` to set the location of local HTML file.
@ -209,7 +209,7 @@ installed on your system, and enter the following lines in your ``sat.conf``:
.. sourcecode:: cfg
[jp]
[li]
blog_preview_open_cmd = konqueror {url}
blog_preview_update_cmd = /bin/sh -c "qdbus $(qdbus org.kde.konqueror\*) /konqueror/MainWindow_1 reload"
@ -218,7 +218,7 @@ following lines in your ``sat.conf``:
.. sourcecode:: cfg
[jp]
[li]
blog_preview_open_cmd = firefox -new-tab {url}
blog_preview_update_cmd = /bin/sh -c "WID=$(xdotool search --name 'Mozilla Firefox' | head -1); xdotool windowactivate $WID; xdotool key F5"
@ -231,13 +231,13 @@ A dictionary with a mapping from syntax name to file extension can be used. This
useful to activate the right syntax highlighting in your editor. There is a default
mapping which can be overriden.
The mapping is set in the ``syntax_ext_dict`` option of the ``[jp]`` section of your
The mapping is set in the ``syntax_ext_dict`` option of the ``[li]`` section of your
``sat.conf`` file. For instance, if your prefer do your ``.markdown`` for temp files
instead of the default ``.md``, you can use this:
.. sourcecode:: cfg
[jp]
[li]
syntax_ext_dict = {"markdown": "markdown"}
the first ``markdown`` is the name of the syntax (could be an other syntax like ``xhtml``),
@ -248,16 +248,16 @@ preview
This command will show the specified file in browser, and refresh it when changes are
detected. Configuration is the same as for `edit preview <edit_preview_>`_. This can be
used if you have already started an edition with ``jp blog edit`` but forgot to use the ``-P, --preview`` arguments.
used if you have already started an edition with ``li blog edit`` but forgot to use the ``-P, --preview`` arguments.
example:
--------
Preview the draft at ``~/local/sat/blog/some_name/blog_something.md``::
$ jp blog preview ~/local/sat/blog/some_name/blog_something.md
$ li blog preview ~/local/sat/blog/some_name/blog_something.md
.. _jp-blog_import:
.. _libervia-cli_blog_import:
import
======
@ -284,16 +284,16 @@ examples:
List available importers::
$ jp blog import
$ li blog import
Get description of ``dotclear`` importer::
$ jp blog import dotclear
$ li blog import dotclear
Import a Dotclear blog::
$ jp blog import dotclear /path/to/dotclear.dump
$ li blog import dotclear /path/to/dotclear.dump
Import a Dotclear blog without uploading images::
$ jp blog import --no-images-upload dotclear /path/to/dotclear.dump
$ li blog import --no-images-upload dotclear /path/to/dotclear.dump

View file

@ -45,11 +45,11 @@ examples
Retrieve all MUC bookmarks::
$ jp bookmarks list
$ li bookmarks list
Retrieve all bookmarked URL stored in PubSub::
$ jp bookmarks list -l pubsub -t url
$ li bookmarks list -l pubsub -t url
remove
@ -66,11 +66,11 @@ examples
Delete the bookmark of a MUC room that you are not following anymore::
$ jp bookmarks remove some_old_room@conference.example.net
$ li bookmarks remove some_old_room@conference.example.net
Delete the bookmark of a URL without requesting confirmation::
$ jp bookmarks remove -t url https://unused_url.example.net
$ li bookmarks remove -t url https://unused_url.example.net
add
@ -91,8 +91,8 @@ examples
Add a bookmark to Salut à Toi official chat room::
$ jp bookmarks add sat@chat.jabberfr.org -a
$ li bookmarks add sat@chat.jabberfr.org -a
Add a link to Salut à Toi official website::
$ jp bookmarks add -t url https://www.salut-a-toi.org -n "SàT officiel"
$ li bookmarks add -t url https://www.salut-a-toi.org -n "SàT officiel"

View file

@ -4,7 +4,7 @@ common arguments
Some arguments are used in many commands. This page describe them.
.. _jp-common_profile:
.. _libervia-cli_common_profile:
profile
=======
@ -12,7 +12,7 @@ profile
profile arguments are really common, they allow you to select your profile.
If you don't select any, the default profile is used, which is the first
profile created or the one you have explicitly set. You can check which profile
is used by default with ``jp profile default``.
is used by default with ``li profile default``.
The common arguments for profile are:
@ -61,7 +61,7 @@ The common arguments for pubsub are:
e.g.::
$ jp blog get -u https://www.goffi.org
$ li blog get -u https://www.goffi.org
``-s SERVICE, --service``
used to specifiy the JID of the pubsub service
@ -78,7 +78,7 @@ The common arguments for pubsub are:
when an item id is needed, you can use this option to retrieve the last published item.
e.g.::
$ jp blog edit --last-item
$ li blog edit --last-item
``-M, --max-items``
use to specify a maxium number of items to retrieve, when it makes sense.
@ -174,14 +174,14 @@ until publication.
e.g.::
$ jp blog edit -D
$ li blog edit -D
``-F DRAFT_PATH, --draft-path DRAFT_PATH``
Used when you have started to edit something and want to continue your work from this
file. In other words, it's similar to ``-D, --current`` except that you specify the file
to use instead of using the last available draft.
.. _jp-output:
.. _libervia-cli_output:
output
======
@ -192,11 +192,11 @@ manipulated by a script, or if you want only a specific element of the result.
``-O {…}, --output {…}``
specifiy the output to use. Available options depends of the command you are using,
check ``jp [your command] --help`` to know them.
check ``li [your command] --help`` to know them.
e.g.::
$ jp blog get -O json
$ li blog get -O json
``--output-option OUTPUT_OPTS, --oo OUTPUT_OPTS``
depending of the output selected, you may have options to customise the output.
@ -205,10 +205,10 @@ manipulated by a script, or if you want only a specific element of the result.
e.g.::
$ jp blog
$ li blog
Some options expect parameters, in this case they can be specified using ``=``.
e.g. specifiying a template to use::
$ jp blog get -O template --oo browser --oo template=/tmp/my_template.html
$ li blog get -O template --oo browser --oo template=/tmp/my_template.html

View file

@ -4,7 +4,7 @@ debug: tools to help debugging/monitoring Salut à Toi
``debug`` groups commands to monitor or manipulate SàT and XMPP stream.
.. _jp-debug_bridge_method:
.. _libervia-cli_debug_bridge_method:
bridge method
=============
@ -31,15 +31,15 @@ API documentation`_ for details), without the profile as it is automatically set
specify them as Python in one shell argument, so we use single quote (``\```)first for
s hell string, and inside it we use double quote (``"``) for Python strings::
$ jp debug bridge method messageSend '"louise@example.org", {"": "test message"}, {}, "auto", {}'
$ li debug bridge method messageSend '"louise@example.org", {"": "test message"}, {}, "auto", {}'
.. note::
This is for debugging only, if you want to send message with jp, use :ref:`jp-message_send`.
This is for debugging only, if you want to send message with li, use :ref:`libervia-cli_message_send`.
Get version string of SàT::
$ jp debug bridge method getVersion
$ li debug bridge method getVersion
bridge signal
@ -47,7 +47,7 @@ bridge signal
Send a fake signal. This is specially useful to test behaviour of a frontend when a
specific event happens. To use is you just need to specify the name of the signal and the
arguments to use (using Python eval in the same way as for jp-debug_bridge_method_).
arguments to use (using Python eval in the same way as for libervia-cli_debug_bridge_method_).
example
-------
@ -56,7 +56,7 @@ Send a note with ``info`` level and hand written XMLUI. Here me use a shell vari
store the level, so we can easily change it if we want to use an other level for tests.
Note the use of quotes (to escape both for shell and Python)::
$ LEVEL='info'; jp debug bridge signal -c actionNew '{"xmlui": '"'"'<?xml version="1.0" ?><sat_xmlui title="test title" type="dialog"><dialog level="'$LEVEL'" type="note"><message>test message\non\nseveral\nlines</message></dialog></sat_xmlui>'"'"'}' '""' -1
$ LEVEL='info'; li debug bridge signal -c actionNew '{"xmlui": '"'"'<?xml version="1.0" ?><sat_xmlui title="test title" type="dialog"><dialog level="'$LEVEL'" type="note"><message>test message\non\nseveral\nlines</message></dialog></sat_xmlui>'"'"'}' '""' -1
monitor
@ -76,7 +76,7 @@ example
Monitor raw XML stream::
$ jp debug monitor -v
$ li debug monitor -v
theme
=====
@ -90,4 +90,4 @@ example
Show colours with the set background::
$ jp debug theme
$ li debug theme

View file

@ -22,7 +22,7 @@ example
Show available e2e algorithms::
$ jp encryption algorithms
$ li encryption algorithms
get
===
@ -31,7 +31,7 @@ Display which encryption session is currently active with the given entity.
The only required argument is the JID of the entity.
If not e2e encryption session exist, a message will be displayed and jp will exit with a
If not e2e encryption session exist, a message will be displayed and li will exit with a
non zero code: this means that the messages are in clear in the XMPP servers, but normal
XMPP encryption is not affected (message should still be encrypted between client and
server and between servers).
@ -46,7 +46,7 @@ example
Check if session is encrypted with Louise::
$ jp encryption get louise@example.org
$ li encryption get louise@example.org
start
=====
@ -74,11 +74,11 @@ examples
Start e2e encryption with Pierre, using the algorithm selected by SàT::
$ jp encryption start louise@example.net
$ li encryption start louise@example.net
Start an OMEMO session with Louise::
$ jp encryption start -n omemo louise@example.org
$ li encryption start -n omemo louise@example.org
stop
====
@ -95,7 +95,7 @@ example
Stop the e2e encryption session with Pierre::
$ jp encryption stop pierre@example.net
$ li encryption stop pierre@example.net
trust ui
========
@ -123,4 +123,4 @@ example
Manage ``OMEMO`` trust with Louise devices::
$ jp encryption trust ui -n omemo louise@example.org
$ li encryption trust ui -n omemo louise@example.org

View file

@ -15,9 +15,9 @@ example
Retrieve events of profile::
$ jp event list
$ li event list
.. _jp-event_get:
.. _libervia-cli_event_get:
get
===
@ -29,9 +29,9 @@ example
Retrieve an event metadata::
$ jp event get -n org.salut-a-toi.event:0__BsyCsXpcrRh44CQhSVTUMi -i 'org.salut-a-toi.event:0'
$ li event get -n org.salut-a-toi.event:0__BsyCsXpcrRh44CQhSVTUMi -i 'org.salut-a-toi.event:0'
.. _jp-event_create:
.. _libervia-cli_event_create:
create
======
@ -58,13 +58,13 @@ example
Create an event about to celebrate New Year::
$ jp event create -d 2019-12-31 -f name "New Year's Eve" -f description "Party to celebrate new year" -f register true -f image https://example.net/some_image.jpg
$ li event create -d 2019-12-31 -f name "New Year's Eve" -f description "Party to celebrate new year" -f register true -f image https://example.net/some_image.jpg
modify
======
This command in the same way as jp-event_create_ but modify an existing event. You need to
This command in the same way as libervia-cli_event_create_ but modify an existing event. You need to
specify the node of the event to modify using ``-n NODE, --node NODE``.
example
@ -72,10 +72,10 @@ example
Add a background image to the New Year event created above::
$ jp event modify -n org.salut-a-toi.event:0__d8QQLJvbcpDXxK66UBXKfT -f background-image https://example.net/some_background_image.jpg
$ li event modify -n org.salut-a-toi.event:0__d8QQLJvbcpDXxK66UBXKfT -f background-image https://example.net/some_background_image.jpg
invitee
=======
Subcommands to handle guests. Please check :ref:`jp-event_invitee`.
Subcommands to handle guests. Please check :ref:`libervia-cli_event_invitee`.

View file

@ -1,4 +1,4 @@
.. _jp-event_invitee:
.. _libervia-cli_event_invitee:
========================================
event/invitee: event invitees management
@ -6,13 +6,13 @@ event/invitee: event invitees management
``invitee`` groups commands to invite somebody to an event, get or set data about an invitee, and list all invitees. You can send an invitation by e-mail to people without XMPP account.
.. _jp-event_invitee_get:
.. _libervia-cli_event_invitee_get:
get
===
Retrieve the RSVP status of one guest. Note that you must the invitees node and not the
event node. To retrieve invitees node, use :ref:`jp-event_get` with the event node.
event node. To retrieve invitees node, use :ref:`libervia-cli_event_get` with the event node.
You may specify the guest bare jid using ``-j JID, --jid JID`` (by default your own bare
jid will be used).
@ -24,15 +24,15 @@ example
Get RSVP of Louise::
$ jp event invitee get -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -j louise@example.org
$ li event invitee get -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -j louise@example.org
.. _jp-event_invitee_set:
.. _libervia-cli_event_invitee_set:
set
===
Set your own RSVP data. Note that as for jp-event_invitee_get_ you must use
Set your own RSVP data. Note that as for libervia-cli_event_invitee_get_ you must use
invitees node and not the event node.
Use ``-f KEY VALUE, --field KEY VALUE`` to specify the data to set. ``KEY`` can be one of
@ -44,13 +44,13 @@ example
Indicate that you'll come to an event with 3 guests::
$ jp event invitee set -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -f attend yes -f guests 3
$ li event invitee set -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -f attend yes -f guests 3
list
====
Get and format the RSVP of your invitees. Note that as for jp-event_invitee_get_ and
jp-event_invitee_set_ you must use invitees node and not the event node.
Get and format the RSVP of your invitees. Note that as for libervia-cli_event_invitee_get_ and
libervia-cli_event_invitee_set_ you must use invitees node and not the event node.
By default, only people who have answered are shown. You may use ``-m, --missing`` to show
other people which were invited, but have not answered yet. When using this option, you
@ -63,7 +63,7 @@ example
Get the full list of invitees (including those who didn't answered yet) with the RSVP formatted::
$ jp event invitee list -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -m
$ li event invitee list -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -m
invite
------
@ -72,7 +72,7 @@ Invite somebody to an event. The invitation is done by e-mail, a guest account w
created. Contrary to other ``invitee`` commands, in this one you'll use the event node
directly.
This command is really similar to :ref:`jp-invitation_create`
This command is really similar to :ref:`libervia-cli_invitation_create`
E-mail address is specified using ``-e EMAIL, --email EMAIL`` and you'll need to give an
URL template (using ``-U URL_TEMPLATE, --url-template URL_TEMPLATE``)leading to your
@ -91,4 +91,4 @@ example
Pierre is inviting Louise (whose e-mail address is ``louise_email@example.net``) to an
event he's organising::
$ jp event invitee invite -e louise_email@example.et -N "Louise" -H "Pierre" -l fr -U "https://www.example.org/g/{uuid}" -u "xmpp:pierre@example.org?;node=generic%2F61400ea7-a2a2-4ce0-9b68-3735b602f671"
$ li event invitee invite -e louise_email@example.et -N "Louise" -H "Pierre" -l fr -U "https://www.example.org/g/{uuid}" -u "xmpp:pierre@example.org?;node=generic%2F61400ea7-a2a2-4ce0-9b68-3735b602f671"

View file

@ -40,14 +40,14 @@ examples
Send a file to Louise, with a progress bar::
$ jp file send -P some_file.ext louise@example.org
$ li file send -P some_file.ext louise@example.org
Send a picture to a file sharing component, putting it in the ``holidays`` namespace, in
the ``/some/path`` path::
$ jp file send -P -N holidays -d /some/path some_photo.jpg files.example.org
$ li file send -P -N holidays -d /some/path some_photo.jpg files.example.org
.. _jp-file_request:
.. _libervia-cli_file_request:
request
=======
@ -76,12 +76,12 @@ examples
Request a file names ``some_file.jpg`` in path ``/photos/demo_album`` at service
``files.example.org``, with a progress bar::
$ jp file request -P -d photos/demo_album -n some_file.jpg files.example.org
$ li file request -P -d photos/demo_album -n some_file.jpg files.example.org
Request file with given ``sha-256`` hash (which is default hash algorithm, so we don't
specify it), and save it to file ``dest_file.txt``::
$ jp file request -H f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2 -D dest_file.txt files.example.org
$ li file request -H f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2 -D dest_file.txt files.example.org
receive
=======
@ -111,12 +111,12 @@ examples
Accept and receive the next file, save it to local directory and show a progress bar::
$ jp file receive --progress
$ li file receive --progress
Several files are expected from Louise, accept them and store them do
``~/Downloads/Louise``::
$ jp file receive --multiple --path ~/Downloads/Louise louise@example.org
$ li file receive --multiple --path ~/Downloads/Louise louise@example.org
get
===
@ -134,7 +134,7 @@ Download an encrypted file with a progress bar, and save it to current working d
with the same name as in the URL (``some_image.jpg``). The URL fragment part (after ``#``)
is used for decryption, so be sure to not leak the URL when you manipulate one::
$ jp file get -P "aesgcm://upload.example.org/wvgSUlURU_UPspAv/some_image.jpg#7d8509c43479591f8d8492f84369875ca983db58f43225c40229eb06d05b2037c841b2346c9642a88ba4a91aa96a0e8f"
$ li file get -P "aesgcm://upload.example.org/wvgSUlURU_UPspAv/some_image.jpg#7d8509c43479591f8d8492f84369875ca983db58f43225c40229eb06d05b2037c841b2346c9642a88ba4a91aa96a0e8f"
upload
======
@ -161,13 +161,13 @@ example
Upload a document to a server::
$ jp file upload -P ~/Documents/something_interesting.odt
$ li file upload -P ~/Documents/something_interesting.odt
Encrypt and upload a document to server::
$ jp file upload -P -e ~/Documents/something_secret.odt
$ li file upload -P -e ~/Documents/something_secret.odt
share
=====
Subcommands for advanced file sharing. Please check :ref:`jp-file_share`.
Subcommands for advanced file sharing. Please check :ref:`libervia-cli_file_share`.

View file

@ -1,4 +1,4 @@
.. _jp-file_share:
.. _libervia-cli_file_share:
==================================
file/share: advanced files sharing
@ -7,7 +7,7 @@ file/share: advanced files sharing
``share`` groups commands for listing file available on a device/service, sharing a file
or directory, and inviting people to retrieve files.
.. _jp-file_share_list:
.. _libervia-cli_file_share_list:
list
====
@ -30,21 +30,21 @@ examples
List files shared from a device (note that we use a full jid here)::
$ jp file share list louise@example.org/some_resource
$ li file share list louise@example.org/some_resource
List files available on a sharing service at the path ``/photos``::
$ jp file share list -d photos files.example.org
$ li file share list -d photos files.example.org
Louise wants to list the file shared by Pierre::
$ jp file share list pierre@files.example.org
$ li file share list pierre@files.example.org
path
====
Share a local file or directory with a list of entities, or publicly. The files can then
be listed or requested using jp-file_share_list_ or :ref:`jp-file_request`.
be listed or requested using libervia-cli_file_share_list_ or :ref:`libervia-cli_file_request`.
You specify the file or directory the positional ``path`` argument. By default the name of
the file/directory is used, but you can give a different one using ``-n NAME, --name
@ -61,13 +61,13 @@ examples
Share the file ``interesting_doc.odt`` with Pierre and Louise::
$ jp file share path -j pierre@example.net -j louise@example.org interesting_doc.odt
$ li file share path -j pierre@example.net -j louise@example.org interesting_doc.odt
Imagine that you have built a weather station and want to make its data public. You can
share the directory ``~/weather_station_data`` with the world, using the name ``public
weather data``::
$ jp file share path --public --name "public weather data" ~/weather_station_data
$ li file share path --public --name "public weather data" ~/weather_station_data
invite
======
@ -94,15 +94,15 @@ example
Pierre wants to invite Louise to view his ``summer holidays`` photo album::
$ jp file share invite -P "photos/summer holidays" -t photos pierre@files.example.net
$ li file share invite -P "photos/summer holidays" -t photos pierre@files.example.net
louise@example.org
affiliations
============
subcommands for file sharing affiliations management. please check :ref:`jp-file_share_affiliations`.
subcommands for file sharing affiliations management. please check :ref:`libervia-cli_file_share_affiliations`.
configuration
=============
subcommands for retrieving/modifying file sharing node configuration. please check :ref:`jp-file_share_configuration`.
subcommands for retrieving/modifying file sharing node configuration. please check :ref:`libervia-cli_file_share_configuration`.

View file

@ -1,4 +1,4 @@
.. _jp-file_share_affiliations:
.. _libervia-cli_file_share_affiliations:
=============================================================
file/share/affiliations: file sharing affiliations management
@ -36,7 +36,7 @@ example
Get affiliations of a file sharing node::
$ jp file share affiliations get -P "/some/path" louise@files.example.org
$ li file share affiliations get -P "/some/path" louise@files.example.org
set
===
@ -48,9 +48,9 @@ examples
Allow read access to a photo album to Louise::
$ jp file share affiliations set -c files.example.net -P "/albums/holidays" -a louise@tazar2.int member
$ li file share affiliations set -c files.example.net -P "/albums/holidays" -a louise@tazar2.int member
Remove access to a directory from an old address of Pierre, and give it to the new one::
$ jp file share affiliations set -c files.example.net -N "some_namespace" -P
$ li file share affiliations set -c files.example.net -N "some_namespace" -P
"/interesting/directory" -a pierre@example.com none -a pierre@example.org member

View file

@ -1,4 +1,4 @@
.. _jp-file_share_configuration:
.. _libervia-cli_file_share_configuration:
=========================================================
file/share/configuration: file sharing node configuration
@ -22,7 +22,7 @@ example
Get configuration of a file sharing node::
$ jp file share configuration get -P "/some/path" louise@files.example.org
$ li file share configuration get -P "/some/path" louise@files.example.org
set
===
@ -34,5 +34,5 @@ example
Make a repository public::
$ jp file share configuration set -c files.example.net -P "/public_files" -f
$ li file share configuration set -c files.example.net -P "/public_files" -f
access_model open

View file

@ -6,7 +6,7 @@ Forums are internally a way to organise blog nodes open to many publishers. The
commands let you manage the structure of topics. You may have several different structures
in one PubSub forums node, this can be useful if you have multi-lingual forums.
.. _jp-forums_get:
.. _libervia-cli_forums_get:
get
===
@ -22,18 +22,18 @@ examples
Get structure of default forum with details::
$ jp forums get -v
$ li forums get -v
Get structure of French forums in JSON::
$ jp forums get -k fr -O json
$ li forums get -k fr -O json
edit
====
Edit the structure of XMPP forums. As for jp-forums_get_ you may specify the key beside
the classic PubSub node arguments. The edition works the same as for :ref:`jp-blog_edit`.
Edit the structure of XMPP forums. As for libervia-cli_forums_get_ you may specify the key beside
the classic PubSub node arguments. The edition works the same as for :ref:`libervia-cli_blog_edit`.
To edit the structure you'll get a JSON file which is a list of object where the topic
metadata are set. You can use the following metadata:
@ -99,4 +99,4 @@ example
Edit structure of forums on a PubSub service::
$ jp forums edit -s pubsub.example.org
$ li forums edit -s pubsub.example.org

View file

@ -20,7 +20,7 @@ example
Get identity information about an entity::
$ jp identity get somebody@example.org
$ li identity get somebody@example.org
set
===
@ -33,4 +33,4 @@ example
Set 2 nicknames for default profile::
$ jp identity set -n toto -n titi
$ li identity set -n toto -n titi

View file

@ -1,15 +1,20 @@
.. _jp-documentation:
.. _libervia-cli_documentation:
==
jp
==
============
Libervia CLI
============
``jp`` is the CLI (Command Line Interface) frontend of Salut à Toi
Libervia CLI is the Command Line Interface of Libervia
``libervia-cli`` is the command to launch it.
``li`` is short alias for ``libervia-cli``, it is the command used through this
documentation.
Overview
========
``jp`` is a powerful tool to work with Salut à Toi/XMPP.
``li`` is a powerful tool to work with Salut à Toi/XMPP.
With it you can send chat messages, share files, retrieve avatars, write blog entries, etc.
Usage
@ -17,13 +22,13 @@ Usage
To get help on commands or their options, use::
$ jp --help
$ li --help
which can be used on any command, so if you need help on ``message send`` command, just do::
$ jp message send --help
$ li message send --help
With jp, you always enter commands first, then options and arguments.
With li, you always enter commands first, then options and arguments.
There are several levels of commands: first one is the main category (``message``,
``blog``, ``avatar``, etc.), then there are often subcommands (e.g. ``message send``).
@ -31,8 +36,8 @@ There are several levels of commands: first one is the main category (``message`
After the commands come the options. For instance if you want to send a message, you can
get the available options with ``--help`` as explained above::
$ jp message send --help
usage: jp message send [-h] [-p PROFILE] [--pwd PASSWORD] [-c] [-l LANG] [-s]
$ li message send --help
usage: li message send [-h] [-p PROFILE] [--pwd PASSWORD] [-c] [-l LANG] [-s]
[-n] [-S SUBJECT] [-L SUBJECT_LANG]
[-t {chat,error,groupchat,headline,normal,auto}]
[-e ALGORITHM] [--encrypt-noreplace] [-x | -r]
@ -67,7 +72,7 @@ get the available options with ``--help`` as explained above::
If you want to send a message to, say, ``pierre@example.net``, and encrypt it with OMEMO,
just do the following::
echo "hi, I'm writing with jp" | jp message send -e omemo pierre@example.net
echo "hi, I'm writing with li" | li message send -e omemo pierre@example.net
(note that with OMEMO, you need to have previously validated fingerprint of your contact
for this to work).
@ -75,7 +80,7 @@ for this to work).
The different commands are explained in dedicated sections.
.. toctree::
:caption: jp commands:
:caption: li commands:
:glob:
:maxdepth: 2

View file

@ -25,7 +25,7 @@ example
Request infos and items from a server::
$ jp info disco example.org
$ li info disco example.org
version
=======
@ -41,7 +41,7 @@ example
Check version of a server::
$ jp info version example.org
$ li info version example.org
session
-------
@ -55,7 +55,7 @@ example
Get session informations::
$ jp info session
$ li info session
devices
-------
@ -70,8 +70,8 @@ example
List known devices of Louise::
$ jp info devices louise@example.org
$ li info devices louise@example.org
Check if we have other devices connected::
$ jp info devices
$ li info devices

View file

@ -11,7 +11,7 @@ csv
CSV (for Comma-Separated Values) is a common format for tabular data. It is widely used in
spreadsheet software (at least at en export format). With ``csv`` command, you can use
columns a CSV file as arguments to jp commands.
columns a CSV file as arguments to li commands.
To set the command, you'll write in sequence what to do with each column of your data.
For each column you can:
@ -22,7 +22,7 @@ For each column you can:
the ones with two ``-``)
- specify a positional argument using ``-p ARGUMENTS, --positional ARGUMENTS``
- indicate to use the column data with ``stdin`` using ``-i, --stdin``
- ignore the column if it's not used in the jp command, using ``-x, --ignore``
- ignore the column if it's not used in the li command, using ``-x, --ignore``
After each column specification, you may use a filter to manage the value. So far the
following filters are available:
@ -30,7 +30,7 @@ following filters are available:
``-S, --split``
This will split the value (on any whitespace character, discarding empty values) and
repeat the option which each item. This is useful when you are using an option which can
be repeated (like ``-t TAG, --tag TAG`` with ``jp blog set``).
be repeated (like ``-t TAG, --tag TAG`` with ``li blog set``).
``-E ARGUMENTS, --empty ARGUMENTS``
Indicate what to do if the column value is empty (by default en empty string is used).
@ -57,7 +57,7 @@ By default stdout and stderr of each launched command is ignored, but you can lo
files using respectively ``--log LOG`` and ``--log-err LOG_ERR`` where ``LOG`` and
``LOG_ERR`` are paths to a log file to create.
Once all the sequence and options are set, you write the jp command that you want to use,
Once all the sequence and options are set, you write the li command that you want to use,
with all the needed static option (i.e. options which must be used each time).
@ -69,18 +69,18 @@ Louise as a spreadsheet with a table like this:
============================ ============ ============= ===============
title body internal data tags
============================ ============ ============= ===============
Some title a body ABC jp demo
Something else another body XYZ jp demo
Third one third body VWZ special_tag jp
This one doesn't have a body 123 jp demo numbers
last one last body 456 jp demo numbers
Some title a body ABC li demo
Something else another body XYZ li demo
Third one third body VWZ special_tag li
This one doesn't have a body 123 li demo numbers
last one last body 456 li demo numbers
============================ ============ ============= ===============
She wants to use it as input data to create blog posts.
She first saves the file using CSV format, let's say to ``~/blog_input.csv``.
Then she checks ``jp blog set --help`` to get name of options to use. She'll need to use
Then she checks ``li blog set --help`` to get name of options to use. She'll need to use
``--title`` for title, ``stdin`` for the body and ``-t`` for tags. Louise wants to
activate comments, so she also wants to use ``-C`` for all posts, and a tag to says it's
coming from the spreadsheet (using ``-t spreadsheet``) .
@ -94,9 +94,9 @@ There is one row without body, Louise want to skip any row without body so she'l
Reading column by column, the sequence is like this:
``-l title``
a title which goes to the ``--title`` long option of ``jp blog``
a title which goes to the ``--title`` long option of ``li blog``
``-i -E skip``
a body which goes to the stdin of ``jp blog``. If the body is empty, the ``-E skip``
a body which goes to the stdin of ``li blog``. If the body is empty, the ``-E skip``
filter tells to skip the whole row.
``-x``
the ``internal data`` column is not used, so it is ignored
@ -107,13 +107,13 @@ Reading column by column, the sequence is like this:
First she'll use the ``-D, --debug`` to check that the commands which will be executed are
the expected one::
$ jp input csv -D -r 1 -l title -i -E skip -x -s t -S blog set -C -t spreadsheet < ~/blog_input.csv
$ li input csv -D -r 1 -l title -i -E skip -x -s t -S blog set -C -t spreadsheet < ~/blog_input.csv
Everything seems fine, so she'll actually launch the command by running the same command
line but without the ``-D`` option::
$ jp input csv -r 1 -l title -i -E skip -x -s t -S blog set -C -t spreadsheet < ~/blog_input.csv
$ li input csv -r 1 -l title -i -E skip -x -s t -S blog set -C -t spreadsheet < ~/blog_input.csv
She could also have used ``--log`` and ``--log-err`` to check the logs of each command::
$ jp input csv -r 1 -l title -i -E skip -x -s t -S --log /tmp/jp_blog_stdout.log --log-err /tmp/jp_blog_stderr.log blog set -C -t spreadsheet < ~/blog_input.csv
$ li input csv -r 1 -l title -i -E skip -x -s t -S --log /tmp/jp_blog_stdout.log --log-err /tmp/jp_blog_stderr.log blog set -C -t spreadsheet < ~/blog_input.csv

View file

@ -6,7 +6,7 @@ Invitations allows you to invite people without XMPP account, so they can partic
to a discussion by using a specially generated link. This is a Salut à Toi specific
feature and those commands are rather low lever.
.. _jp-invitation_create:
.. _libervia-cli_invitation_create:
create
======
@ -45,7 +45,7 @@ Invite Louise, which is speaking French, to an event. The invitation is sent to
address ``louise_email@example.net``, is sent by Piotr, and must link to the Libervia
instance at ``https://www.example.org/g/<id>``. We use here the ``event_uri`` extra key::
$ jp invitation create -n Louise -N Pierre -e louise_email@example.net -l fr -u "https://www.example.org/g/{uuid}" -x event_uri xmpp:pierre@example.org?;node=MnXe4ic2X8RUz6JAJuw4f9;item=org.salut-a-toi.event%3A0
$ li invitation create -n Louise -N Pierre -e louise_email@example.net -l fr -u "https://www.example.org/g/{uuid}" -x event_uri xmpp:pierre@example.org?;node=MnXe4ic2X8RUz6JAJuw4f9;item=org.salut-a-toi.event%3A0
get
@ -60,13 +60,13 @@ example
Get invitation data for invitation with id ``okFec4gDz75My7iQAVTmsc``::
$ jp invitation get okFec4gDz75My7iQAVTmsc -j
$ li invitation get okFec4gDz75My7iQAVTmsc -j
modify
======
This work the same way as jp-invitation_create_, you only have to specify the ``id`` of the
This work the same way as libervia-cli_invitation_create_, you only have to specify the ``id`` of the
invitation.
If you use the ``--replace`` argument, all the invitation data will be replaced by the
@ -78,7 +78,7 @@ example
Change the language of the invitee for the invitation ``okFec4gDz75My7iQAVTmsc`` for
Slovak::
$ jp invitation modify -l sk okFec4gDz75My7iQAVTmsc
$ li invitation modify -l sk okFec4gDz75My7iQAVTmsc
delete
@ -91,7 +91,7 @@ example
Delete invitation with id ``okFec4gDz75My7iQAVTmsc``::
$ jp invitation delete okFec4gDz75My7iQAVTmsc
$ li invitation delete okFec4gDz75My7iQAVTmsc
list
@ -106,4 +106,4 @@ example
List invitations::
$ jp invitation list
$ li invitation list

View file

@ -32,17 +32,17 @@ examples
Publish a merge request (to be executed from the repository of the project you have
modified)::
$ jp merge-request set
$ li merge-request set
Update an existing merge request, which has the id ``123`` (to be executed from the
reposiroty of the project you have modified)::
$ jp merge-request set -i 123
$ li merge-request set -i 123
Do a merge request for repository at path ``~/some_project``, specifying a label
indicating it's work in progress (WIP)::
$ jp merge-request set -r ~/some_project --label WIP
$ li merge-request set -r ~/some_project --label WIP
get
@ -56,11 +56,11 @@ examples
Show some metadata of last 5 merge requests::
$ jp merge-request get -M 5
$ li merge-request get -M 5
Display details for merge request with id 456::
$ jp merge-request get -v -i 456
$ li merge-request get -v -i 456
import
@ -78,4 +78,4 @@ example
Import the merge request with id 321::
$ jp merge-request import -i 321
$ li merge-request import -i 321

View file

@ -6,7 +6,7 @@ message: chat message management
Message commands let you send chat messages or manage your server message archives.
.. _jp-message_send:
.. _libervia-cli_message_send:
send
====
@ -21,11 +21,11 @@ examples
Send a message to a contact::
$ echo 'Salut à Toi!' | jp message send louise@example.net
$ echo 'Salut à Toi!' | li message send louise@example.net
Send a message encrypted with OMEMO::
$ echo 'pssst, this message is encrypted' | jp message send -e omemo louise@example.net
$ echo 'pssst, this message is encrypted' | li message send -e omemo louise@example.net
.. note::
@ -33,7 +33,7 @@ Send a message encrypted with OMEMO::
Send a ``normal`` message marked as French with a subject::
$ echo 'Bonjour, je vous écris avec « Salut à Toi »' | jp message send -l fr -t normal -S 'Ceci est un message de test'
$ echo 'Bonjour, je vous écris avec « Salut à Toi »' | li message send -l fr -t normal -S 'Ceci est un message de test'
mam
===
@ -48,12 +48,12 @@ examples
Retrieve messages from last 2 days::
$ jp message mam -S "2 days ago"
$ li message mam -S "2 days ago"
Retrieve messages from last 5 hours on SàT official chat room::
$ jp message mam -S "5 hours ago" -s sat@chat.jabberfr.org
$ li message mam -S "5 hours ago" -s sat@chat.jabberfr.org
Retrieve 2 first messages of 2019 on SàT official chat room::
$ jp message mam -S 2019-01-01 -s sat@chat.jabberfr.org -m 2
$ li message mam -S 2019-01-01 -s sat@chat.jabberfr.org -m 2

View file

@ -41,24 +41,24 @@ examples
Get list of categories::
$ jp param get
$ li param get
Get list of parameters in ``General`` category::
$ jp param get General
$ li param get General
Get JID set for default profile. It is set in ``Connection`` category, with the parameters
named ``JabberID`` (be careful with the case)::
$ jp param get Connection JabberID
$ li param get Connection JabberID
Get the type of the ``check_certificate`` parameters in ``Connection`` category::
$ jp param get Connection check_certificate -a type
$ li param get Connection check_certificate -a type
Get the constraint of the ``Priority`` parameters in ``Connection`` category::
$ jp param get Connection Priority -a constraint
$ li param get Connection Priority -a constraint
set
===
@ -67,7 +67,7 @@ As expected, this command set a SàT parameter. The ``category``, ``name`` and `
are needed as positional arguments.
``--security-limit SECURITY_LIMIT`` can be used if you want an update to be rejected if
the parameter is not modifiable with this limit. This can be useful if you use ``jp`` from
the parameter is not modifiable with this limit. This can be useful if you use ``li`` from
an external tool and you want to limit damage risks, or for testing purpose.
examples
@ -75,15 +75,15 @@ examples
Use Markdown_ syntax for composition (e.g. for editing blog posts)::
$ jp param set Composition Syntax markdown
$ li param set Composition Syntax markdown
Try to change jid of the profile with a low security limit, this command should fail::
$ jp param set --security-limit 0 Connection JabberID some_random_jid@example.org
$ li param set --security-limit 0 Connection JabberID some_random_jid@example.org
.. _Markdown: https://daringfireball.net/projects/markdown/
.. _jp-param_save:
.. _libervia-cli_param_save:
save
====
@ -101,9 +101,9 @@ example
Save parameters structure to ``~/parameters.xml``::
$ jp param save ~/parameters.xml
$ li param save ~/parameters.xml
.. _jp-param_load:
.. _libervia-cli_param_load:
load
====
@ -121,4 +121,4 @@ example
Load and merge parameters structure from ``~/parameters.xml``::
$ jp param load ~/parameters.xml
$ li param load ~/parameters.xml

View file

@ -17,4 +17,4 @@ example
Get reponse time of a server::
$ jp ping example.org
$ li ping example.org

View file

@ -18,7 +18,7 @@ example
Receive a video stream, and redirect it to mpv_ so show the video::
$ jp pipe in | mpv -
$ li pipe in | mpv -
.. _mpv: https://mpv.io/
@ -36,8 +36,8 @@ example
Send a video to louise::
$ jp pipe out louise@example.org/sat < some_video.webm
$ li pipe out louise@example.org/sat < some_video.webm
Send output from ``cal`` command to louise::
$ cal | jp pipe out louise@example.org/sat
$ cal | li pipe out louise@example.org/sat

View file

@ -11,13 +11,13 @@ connect
=======
Unsurprisingly this command connects your profile, i.e. log-in your XMPP account. This
command uses :ref:`jp-common_profile` common commands, so you can use either ``-c,
command uses :ref:`libervia-cli_common_profile` common commands, so you can use either ``-c,
--connect`` to connect to XMPP server, or ``--start-session`` if you want to start SàT
profile session without connecting to XMPP server (for instance if you want to modify
parameters without connecting to XMPP server).
Note that :ref:`jp-common_profile` common commands are available in commands needing a
connected profile, ``jp profile connect`` is interesting if you only want to connect your
Note that :ref:`libervia-cli_common_profile` common commands are available in commands needing a
connected profile, ``li profile connect`` is interesting if you only want to connect your
profile/start a session.
example
@ -25,21 +25,21 @@ example
Connect the default profile::
$ jp profile connect -c
$ li profile connect -c
disconnect
==========
Disconnect your profile from XMPP server. There is no option beside the
:ref:`jp-common_profile` common options.
:ref:`libervia-cli_common_profile` common options.
example
-------
Disconnect the profile ``pierre``::
$ jp profile disconnect -p pierre
$ li profile disconnect -p pierre
create
@ -74,7 +74,7 @@ components), you can use the ``-A [{true,false}], --autoconnect [{true,false}]``
.. note::
passwords in jp are currently specified directly on the command-line and not prompted,
passwords in li are currently specified directly on the command-line and not prompted,
this is not safe from a security point of view as people can see it on the screen, it
may stay in your shell history, or visible on process list. Keep that in mind if you're
in a public environment or on a public machine. This will be improved for SàT 0.8.
@ -85,7 +85,7 @@ examples
Nestor wants to create a profile for its account on ``example.org``, he specifies a
profile password only, so it will also be used as the XMPP password::
$ jp profile create nestor -j nestor@example.org -p some_password
$ li profile create nestor -j nestor@example.org -p some_password
Create a component profile for the file sharing component (whose entry point is
``file_sharing``). The jid of the service is specified with ``--jid`` (note that we don't
@ -93,7 +93,7 @@ use a node as it is a jid of a component) and the ``--xmpp-password`` is the sha
secret. Here the profile password is kept empty to not have to enter manually the XMPP
password each time we connect the service::
$ jp profile create file_sharing -j files.example.org -p "" --xmpp-password
$ li profile create file_sharing -j files.example.org -p "" --xmpp-password
some_shared_secret -C file_sharing
@ -109,7 +109,7 @@ example
Print default profile::
$ jp profile default
$ li profile default
delete
@ -126,7 +126,7 @@ example
Delete the profile of Pierre::
$ jp profile delete pierre
$ li profile delete pierre
info
@ -141,7 +141,7 @@ example
Show jid and XMPP password for default profile::
$ jp profile info --show-password
$ li profile info --show-password
list
@ -155,7 +155,7 @@ example
Show all profiles::
$ jp profile list
$ li profile list
modify
@ -183,12 +183,12 @@ examples
Pierre has changed server, he can update his jid and password like this::
$ jp profile modify -p pierre -j pierre@example.org -x new_password
$ li profile modify -p pierre -j pierre@example.org -x new_password
Use ``louise`` as default profile::
$ jp profile modify -p louise -D
$ li profile modify -p louise -D
Disable profile password for default profile (be cautious, see the note above)::
$ jp profile modify --disable-password
$ li profile modify --disable-password

View file

@ -1,4 +1,4 @@
.. _jp-pubsub:
.. _libervia-cli_pubsub:
=========================
pubsub: PubSub management
@ -21,7 +21,7 @@ Publish a pubsub item.
which must be set if the node already exists, or used if the node is to be created, see
`XEP-0060 §7.1.5`_ for details.
In the same way as for :ref:`jp-pubsub_node_create`, ``-F, --full-prefix`` can be used if
In the same way as for :ref:`libervia-cli_pubsub_node_create`, ``-F, --full-prefix`` can be used if
you need to specify the full option name.
.. _XEP-0060 §7.1.5: https://xmpp.org/extensions/xep-0060.html#publisher-publish-options
@ -31,7 +31,7 @@ example
Create an item with a custom note XML::
$ echo '<note xmlns="http://example.net/mynotes">this is a note</note>' | jp pubsub set -n "notes"
$ echo '<note xmlns="http://example.net/mynotes">this is a note</note>' | li pubsub set -n "notes"
get
===
@ -43,7 +43,7 @@ example
Retrieve the last 5 notes from our custom notes node::
$ jp pubsub get -n notes -m 5
$ li pubsub get -n notes -m 5
delete
======
@ -59,7 +59,7 @@ example
Delete item with id ``123456`` from a node::
$ jp pubsub delete -n test_node -i 123456
$ li pubsub delete -n test_node -i 123456
edit
====
@ -75,7 +75,7 @@ example
Edit the last note in our custom node::
$ jp pubsub edit -n notes -L
$ li pubsub edit -n notes -L
subscribe
=========
@ -90,7 +90,7 @@ example
Subscribe to an information blog::
$ jp pubsub subscribe -n informations -s pubsub.example.net
$ li pubsub subscribe -n informations -s pubsub.example.net
unsubscribe
===========
@ -102,7 +102,7 @@ example
Unsubscribe from an information blog::
$ jp pubsub unsubscribe -n informations -s pubsub.example.net
$ li pubsub unsubscribe -n informations -s pubsub.example.net
subscriptions
=============
@ -117,7 +117,7 @@ example
Retrieve all subscriptions on a pubsub service::
$ jp pubsub subscriptions -s pubsub@example.net
$ li pubsub subscriptions -s pubsub@example.net
affiliations
=============
@ -131,11 +131,11 @@ examples
Retrieve all affiliations at a pubsub service::
$ jp pubsub affiliations -s pubsub@example.net
$ li pubsub affiliations -s pubsub@example.net
Retrieve affiliation for the ``notes`` node::
$ jp pubsub affiliations -s pubsub@example.net -n notes
$ li pubsub affiliations -s pubsub@example.net -n notes
search
======
@ -209,7 +209,7 @@ actions
-------
Once filters are set, you may indicate what do to with the found items. By default they
are printed, but you can also use an other jp command, or even an external tool.
are printed, but you can also use an other li command, or even an external tool.
The following actions are available:
@ -217,8 +217,8 @@ The following actions are available:
pretty print the found items.
``exec``
use the given jp command on each found item. Everything after the ``exec`` is used to
indicate the command and arguments to use (you must not specify ``jp``, use the command
use the given li command on each found item. Everything after the ``exec`` is used to
indicate the command and arguments to use (you must not specify ``li``, use the command
directly). The service, node and item will be set to match the found item.
``external``
@ -235,27 +235,27 @@ be checked too, then node linked in linked item and so on until depth level is r
For instance, if you want to find all comments of a blog node containing an http(s) link,
you can do that::
$ jp pubsub search -n urn:xmpp:microblog:0 -s user@example.net -D 1 -r 'https?://'
$ li pubsub search -n urn:xmpp:microblog:0 -s user@example.net -D 1 -r 'https?://'
examples
--------
Finding all items containing the text "something interesting" in personal blog::
$ jp pubsub search -n urn:xmpp:microblog:0 -M -1 -t "something interesting"
$ li pubsub search -n urn:xmpp:microblog:0 -M -1 -t "something interesting"
Find which blog items in the last 20 have a body with less than 200 characters (note that
body can be either ``<title>`` or ``<content>``, see `XEP-0277`_ for details). Here we use
a python expression on the text of the body to count the number of characters::
$ jp pubsub search -n urn:xmpp:microblog:0 -M 20 --python "len((item_xml.find('.//{http://www.w3.org/2005/Atom}content[@type=\"text\"]') or item_xml.find('.//{http://www.w3.org/2005/Atom}title[@type=\"text\"]')).text) < 200"
$ li pubsub search -n urn:xmpp:microblog:0 -M 20 --python "len((item_xml.find('.//{http://www.w3.org/2005/Atom}content[@type=\"text\"]') or item_xml.find('.//{http://www.w3.org/2005/Atom}title[@type=\"text\"]')).text) < 200"
Find items published by ``toto@example.net`` among last 30 on a blog node, and use
``pubsub blog`` command to retrieve id and title. We use ``-N`` to specify the ``pubsub``
namespace which is used in the XPath expression, then we use ``exec`` to run ``blog get -k
title -k id`` on found items::
$ jp pubsub search -n some_blog_node -s pubsub.example.net -M 30 -N pubsub http://jabber.org/protocol/pubsub -x '/pubsub:item[starts-with(@publisher, "toto@example.net")]' exec blog get -k title -k id
$ li pubsub search -n some_blog_node -s pubsub.example.net -M 30 -N pubsub http://jabber.org/protocol/pubsub -x '/pubsub:item[starts-with(@publisher, "toto@example.net")]' exec blog get -k title -k id
Find items which have **NOT** a title among last 30 items in our personal blog. As
explained in `XEP-0277`_ Atom's ``<title>`` is always used (even if there is only a body
@ -263,14 +263,14 @@ and no title), so we actually look for items without ``<content>``. We do that w
XPath looking for this ``atom:content`` element, then we use the ``-I [BOOLEAN], --invert
[BOOLEAN]`` to filter out elements which match.::
$ jp pubsub search -n urn:xmpp:microblog:0 -M 30 -I -x //atom:content -N atom http://www.w3.org/2005/Atom
$ li pubsub search -n urn:xmpp:microblog:0 -M 30 -I -x //atom:content -N atom http://www.w3.org/2005/Atom
Display authors names from last 10 items and their comments, using the ``-k [BOOLEAN],
--only-matching [BOOLEAN]`` modifier to only display the data we need. We use ``-D 1`` to
do a recursive search of level 1, which will also look into comments nodes (using last 10
items there too)::
$ jp pubsub search -n urn:xmpp:microblog:0 -M 10 --only-matching -x //atom:author/atom:name -N atom http://www.w3.org/2005/Atom -D 1
$ li pubsub search -n urn:xmpp:microblog:0 -M 10 --only-matching -x //atom:author/atom:name -N atom http://www.w3.org/2005/Atom -D 1
.. _XEP-0277: https://xmpp.org/extensions/xep-0277.html
@ -327,12 +327,12 @@ with ``chmod +x ~/expand_sat.py``).
To be sure it's safe, you can first do a dry-run and check the result::
$ jp pubsub transform -n urn:xmpp:microblog:0 -A -o creation ~/expand_sat.py
$ li pubsub transform -n urn:xmpp:microblog:0 -A -o creation ~/expand_sat.py
Once you have checked that you have the expected behaviour, you can apply the
transformations::
$ jp pubsub transform -n urn:xmpp:microblog:0 -A -o creation --apply ~/expand_sat.py
$ li pubsub transform -n urn:xmpp:microblog:0 -A -o creation --apply ~/expand_sat.py
And that's it. You can use the same technique for more complex transformations, including
modifying the XML (with Python, you can easily do that with standard
@ -348,14 +348,14 @@ example
Build a link to personal blog::
$ jp pubsub uri -n urn:xmpp:microblog:0
$ li pubsub uri -n urn:xmpp:microblog:0
node
====
Subcommands for node management. Please check :ref:`jp-pubsub_node`.
Subcommands for node management. Please check :ref:`libervia-cli_pubsub_node`.
hook
====
Subcommands for hooks management. Please check :ref:`jp-pubsub_hook`.
Subcommands for hooks management. Please check :ref:`libervia-cli_pubsub_hook`.

View file

@ -1,4 +1,4 @@
.. _jp-pubsub_hook:
.. _libervia-cli_pubsub_hook:
====================================
pubsub/hook: PubSub hooks management
@ -51,7 +51,7 @@ example
Install a persistent hook on blog node, using the Python script named
``do_something_neat.py`` in ``$HOME`` directory::
$ jp pubsub node hook create -n urn:xmpp:microblog:0 -t python_file --persistent ~/do_something_neat.py
$ li pubsub node hook create -n urn:xmpp:microblog:0 -t python_file --persistent ~/do_something_neat.py
delete
======
@ -65,7 +65,7 @@ example
Delete the ``do_something_neat.py`` hook::
$ jp pubsub node hook delete -n urn:xmpp:microblog:0 -t python_file --arg ~/do_something_neat.py
$ li pubsub node hook delete -n urn:xmpp:microblog:0 -t python_file --arg ~/do_something_neat.py
list
====
@ -92,5 +92,5 @@ example
Get PubSub hooks registered for this profile in JSON::
$ jp pubsub hook list -O json
$ li pubsub hook list -O json

View file

@ -1,11 +1,11 @@
.. _jp-pubsub_node:
.. _libervia-cli_pubsub_node:
====================================
pubsub/node: PubSub nodes management
====================================
``node`` is a subcommands grouping all PubSub commands related to node management. For
details on ``pubsub`` command itself, refer to :ref:`jp-pubsub`.
details on ``pubsub`` command itself, refer to :ref:`libervia-cli_pubsub`.
info
====
@ -17,13 +17,13 @@ examples
Get informations on our personal microblog node::
$ jp pubsub node info -n urn:xmpp:microblog:0
$ li pubsub node info -n urn:xmpp:microblog:0
Only print ``access_model`` and ``publish_model``::
$ jp pubsub node info -n urn:xmpp:microblog:0 -k access_model -k publish_model
$ li pubsub node info -n urn:xmpp:microblog:0 -k access_model -k publish_model
.. _jp-pubsub_node_create:
.. _libervia-cli_pubsub_node_create:
create
======
@ -41,7 +41,7 @@ example
Create a node called ``notes`` with a ``whitelist`` access model (so only you and people
you may authorize later can access it)::
$ jp pubsub node create -n notes
$ li pubsub node create -n notes
purge
=====
@ -56,7 +56,7 @@ example
Remove all items from a blog comments node (in other words, removing all comments while
letting the node so people can add new comments)::
$ jp pubsub node purge -n "urn:xmpp:microblog:0:comments/123-456-789"
$ li pubsub node purge -n "urn:xmpp:microblog:0:comments/123-456-789"
delete
======
@ -71,7 +71,7 @@ example
Delete the ``temporary_notes`` node::
$ jp pubsub node delete -n temporary_notes
$ li pubsub node delete -n temporary_notes
set
===
@ -88,7 +88,7 @@ example
Make the ``public_notes`` node accessible to the world::
$ jp pubsub node set -n public_notes -f access_model open
$ li pubsub node set -n public_notes -f access_model open
import
======
@ -103,10 +103,10 @@ If you want to change publisher of one or more items (i.e. if you want to use an
example
-------
Import a node backup which has previously been saved using ``jp blog get -M -1 -n
Import a node backup which has previously been saved using ``li blog get -M -1 -n
some_node > some_node_backup.xml``::
$ jp pubsub node import -n some_node ~/some_node_backup.xml
$ li pubsub node import -n some_node ~/some_node_backup.xml
.. note::
@ -117,10 +117,10 @@ some_node > some_node_backup.xml``::
affiliations
============
Subcommands for node affiliations management. Please check :ref:`jp-pubsub_node_affiliations`.
Subcommands for node affiliations management. Please check :ref:`libervia-cli_pubsub_node_affiliations`.
subscriptions
=============
Subcommands for node subscriptions management. Please check
:ref:`jp-pubsub_node_subscriptions`.
:ref:`libervia-cli_pubsub_node_subscriptions`.

View file

@ -1,4 +1,4 @@
.. _jp-pubsub_node_affiliations:
.. _libervia-cli_pubsub_node_affiliations:
=======================================================
pubsub/node/affiliations: nodes affiliations management
@ -17,7 +17,7 @@ example
Get affiliations of a node::
$ jp pubsub node affiliations get -n some_node
$ li pubsub node affiliations get -n some_node
set
===
@ -36,5 +36,5 @@ If we have a whitelisted node ``some_whitelisted_node``, we can allow
``pierre@example.net`` to access it (by setting his role as ``member``) using the
following command::
$ jp pubsub node affiliations set -n some_whitelisted_node -a louise@example.net
$ li pubsub node affiliations set -n some_whitelisted_node -a louise@example.net
publisher -a pierre@example.net member

View file

@ -1,4 +1,4 @@
.. _jp-pubsub_node_schema:
.. _libervia-cli_pubsub_node_schema:
=========================================
pubsub/node/schema: nodes schema handling
@ -22,7 +22,7 @@ Set the schema for tickets node using the file ``tickets_schema.xml`` from ``$HO
directory. Shell substition is used here to put the content of the file in the positional
argument::
$ jp pubsub node schema set -n org.salut-a-toi.tickets:0 -s pubsub.example.org "$(<~/test_schema.xml)"
$ li pubsub node schema set -n org.salut-a-toi.tickets:0 -s pubsub.example.org "$(<~/test_schema.xml)"
edit
@ -39,7 +39,7 @@ example
Edit the tickets node schema::
$ jp pubsub node schema edit -n org.salut-a-toi.tickets:0 -s pubsub.example.org
$ li pubsub node schema edit -n org.salut-a-toi.tickets:0 -s pubsub.example.org
example
@ -56,4 +56,4 @@ example
Get schema of tickets and save it to a file named ``tickets_schema.xml`` in ``$HOME``
directory::
$ jp pubsub node schema get -n org.salut-a-toi.tickets:0 -s pubsub.example.org > ~/tickets_schema.xml
$ li pubsub node schema get -n org.salut-a-toi.tickets:0 -s pubsub.example.org > ~/tickets_schema.xml

View file

@ -1,4 +1,4 @@
.. _jp-pubsub_node_subscriptions:
.. _libervia-cli_pubsub_node_subscriptions:
========================================================
pubsub/node/affiliations: nodes subscriptions management
@ -18,7 +18,7 @@ example
Get subscription from ``some_node``::
$ jp pubsub node subscriptions get -n some_node
$ li pubsub node subscriptions get -n some_node
set
===
@ -38,6 +38,6 @@ example
Subscribe Louise with her new address at ``louise@example.org`` and remove her
subscription from old ``louise@example.com``::
$ jp pubsub node subscriptions set -n some_node -S louise@example.org subscribed louise@example.com none
$ li pubsub node subscriptions set -n some_node -S louise@example.org subscribed louise@example.com none

View file

@ -39,15 +39,15 @@ examples
Get roster of default profile and display groups::
$ jp roster get -v
$ li roster get -v
Get roster of default profile and display all metadata::
$ jp roster get -vv
$ li roster get -vv
Get roster or default profile and show the result in JSON::
$ jp roster get -O json
$ li roster get -O json
set
===
@ -66,11 +66,11 @@ examples
Set a name used to privately identify your contact Louise::
$ jp roster set -n Enjolras louise@example.net
$ li roster set -n Enjolras louise@example.net
Replace all groups of Pierre, to add him only to ``friends`` and ``housemates``::
$ jp roster set --replace -g friends -g housemates pierre@example.net
$ li roster set --replace -g friends -g housemates pierre@example.net
delete
======
@ -82,7 +82,7 @@ examples
Remove John from your roster::
$ jp roster delete john@example.net
$ li roster delete john@example.net
stats
=====
@ -99,7 +99,7 @@ example
Get statistic for the default profile::
$ jp roster stats
$ li roster stats
purge
=====
@ -118,7 +118,7 @@ example
Remove all contacts from default profile which have no subscription at all or from which
the default profile is not subscribed to::
$ jp roster purge --no_to
$ li roster purge --no_to
resync
======
@ -142,4 +142,4 @@ exemple
Do a full resynchronisation of default profile's roster::
$ jp roster resync
$ li roster resync

View file

@ -2,25 +2,25 @@
shell: use SàT with REPL
========================
``shell`` launch a read–eval–print loop (REPL) with some helpers to launch jp commands.
``shell`` launch a read–eval–print loop (REPL) with some helpers to launch li commands.
This is useful if you are willing to a session when you'll use several commands in a row
(for e.g. to inspect something on a PubSub service).
start the shell
===============
To start the shell, you just have to enter ``jp shell``. You can eventually specify a
profile to use an other one than the default one by entering ``jp shell -p
To start the shell, you just have to enter ``li shell``. You can eventually specify a
profile to use an other one than the default one by entering ``li shell -p
<some_profile>``.
.. _jp-shell_use:
.. _libervia-cli_shell_use:
use the shell
=============
Once in the shell, you can launch a command by entering it as usual (without having to
specify ``jp``). For instance to get last 2 blog posts from your personal blog, you just
specify ``li``). For instance to get last 2 blog posts from your personal blog, you just
have to enter::
> blog get -m 2
@ -28,11 +28,11 @@ have to enter::
There are 2 kinds of commands in the shell:
- **shell commands** which are command to manipulate the shell itself
- **jp commands** which are the classic commands that you use with jp
- **li commands** which are the classic commands that you use with li
The most important thing to remember is that you can use ``?`` (or ``help`` which is
equivalent) to get the list of commands (shell + jp), and ``?<command>`` (or ``help
<command>``) to get information on a shell command. For jp commands, you can use the usual
equivalent) to get the list of commands (shell + li), and ``?<command>`` (or ``help
<command>``) to get information on a shell command. For li commands, you can use the usual
``--help`` argument.
You may move in the commands hierarchy using ``cmd`` which can be seen as something
@ -90,15 +90,15 @@ cmd
---
Move in the command hierarchy, this avoid to type again a command if you know you'll use
it several times. See jp-shell_use_ for explanation and examples
it several times. See libervia-cli_shell_use_ for explanation and examples
do
--
Launch a jp command. By default the command is launched if you enter directly its name and
Launch a li command. By default the command is launched if you enter directly its name and
arguments, but if a command or argument conflict with a shell command, the shell command
will be launched instead. The ``do`` command avoid such a situation by always launching a
jp command::
li command::
> do blog get -m 2
@ -110,7 +110,7 @@ Quit the shell (alias of ``quit``).
help (alias ``?``)
------------------
Give information on available commands or on a specific command, see jp-shell_use_ for
Give information on available commands or on a specific command, see libervia-cli_shell_use_ for
more explanations.
examples
@ -145,7 +145,7 @@ use
---
Fix the value of an argument, which will then be set for all following commands, see
jp-shell_use_ for more explanations.
libervia-cli_shell_use_ for more explanations.
Without argument, show all fixed arguments
@ -183,7 +183,7 @@ Without argument, show if verbose mode is activated. With an argument evaluating
boolean, activate or deactivate this mode.
In verbose mode, the fixed arguments and the command launched are printed before launching
a jp command.
a li command.
examples
^^^^^^^^
@ -199,7 +199,7 @@ Activate verbose mode::
version
-------
Print current version of jp/Salut à Toi.
Print current version of li/Salut à Toi.
whoami
------

View file

@ -18,11 +18,11 @@ examples
Retrieve last 5 tickets (ordered by creation) from a project using magic string in README::
$ jp ticket get -m 5 -o creation
$ li ticket get -m 5 -o creation
Retrieve the ticket with id ``123`` on service ``pubsub.example.org``::
$ jp ticket get -s pubsub.example.org -i 123
$ li ticket get -s pubsub.example.org -i 123
@ -30,7 +30,7 @@ import
======
Import tickets from an external source. This works in the same way as
:ref:`jp-blog_import`: you need to specify an importer and a data location. If you let
:ref:`libervia-cli_blog_import`: you need to specify an importer and a data location. If you let
both positional argument empty, you'll get list of importers, if you specify importer but
not data location, you'll get a description on how the importer works.
@ -54,19 +54,19 @@ examples
Get list of ticket importers::
$ jp ticket import
$ li ticket import
Get description of ticket importer for Bugzilla::
$ jp ticket import bugzilla
$ li ticket import bugzilla
Import tickets from a Bugzilla XML export file at ``~/bugzilla_export.xml`` to the
``pubsub.example.org`` PubSub service. We use default tickets node and want a progression
bar::
$ jp ticket import -P -s pubsub.example.org ~/bugzilla_export.xml
$ li ticket import -P -s pubsub.example.org ~/bugzilla_export.xml
Same import, but this time we want to map the field ``assigned_to_name`` from Bugzilla to
the field ``assigned_to`` in our schema::
$ jp ticket import -P -s pubsub.example.org -m assigned_to_name assigned_to ~/bugzilla_export.xml
$ li ticket import -P -s pubsub.example.org -m assigned_to_name assigned_to ~/bugzilla_export.xml

View file

@ -23,7 +23,7 @@ examples
Parse a blog URI::
$ jp uri parse "xmpp:somebody@example.org?;node=urn%3Axmpp%3Amicroblog%3A0"
$ li uri parse "xmpp:somebody@example.org?;node=urn%3Axmpp%3Amicroblog%3A0"
build
======
@ -36,4 +36,4 @@ examples
Build XMPP URI for a blog::
$ jp uri build pubsub somebody@example.org -f node urn:xmpp:microblog:0
$ li uri build pubsub somebody@example.org -f node urn:xmpp:microblog:0

View file

@ -2,24 +2,24 @@
Overview
========
To have a better understanding of Salut a Toi, this page gives a global view of what it is
To have a better understanding of Libervia, this page gives a global view of what it is
and what are the important concepts linked to it. You don't need to read this to use it, but you
can if you wish to understand "who is doing what".
Salut à Toi (or SàT) is a XMPP client. `XMPP`_ is an open standard used
for communication (notably instant messaging but not only). XMPP is a solid standard,
which is decentralised and federated.
Libervia is a XMPP client. `XMPP`_ is an open standard used for communication (notably
instant messaging but not only). XMPP is a solid standard, which is decentralised and
federated.
SàT is not only focusing on instant messaging, and aims to be a universal communication
tools. In other words, you can use SàT to chat, but also to blog publicly or privately, to
Libervia is not only focusing on instant messaging, and aims to be a universal communication
tools. In other words, you can use Libervia to chat, but also to blog publicly or privately, to
share file, photo albums, to create events, to have discussion forum, etc.
SàT is actually a whole ecosystem, and is made in a way that you can use it with many
Libervia is actually a whole ecosystem, and is made in a way that you can use it with many
different interfaces (or "frontends"). There is a common central part which is called the
"backend", it handles most of the work, while frontends are mostly about the interactions
with user(s).
To work, as SàT is a XMPP **client**, a XMPP **server** is needed. You can either run your
To work, as Libervia is a XMPP **client**, a XMPP **server** is needed. You can either run your
own, or use an existing one (either public, or run by an organisation you belong to, like
family server, run by a friend, your company, university, association, etc.). If you want
to run your own server, there are already plenty of them and happily most of which are
@ -27,9 +27,9 @@ to run your own server, there are already plenty of them and happily most of whi
on the XSF website <https://xmpp.org/software/servers.html>`_ (the XSF or *XMPP Standards
Foundation* being the non-profit organisation taking care of the XMPP standard).
So to summarise, Salut à Toi, or SàT, is a communication ecosystem. Technically, it is a
**XMPP client** which connect to an **XMPP server**. SàT itself works with a **backend**
and one or many **frontends**.
So to summarise, Libervia is a communication ecosystem. Technically, it is a **XMPP
client** which connect to an **XMPP server**. Libervia itself works with a **backend** and
one or many **frontends**.
.. _XMPP: https://xmpp.org
@ -62,22 +62,23 @@ should be started automatically when you want to use a frontend.
Bellow you'll see a list of the official frontends currently maintained:
Cagou
-----
Libervia Deskop/Mobile (Cagou)
------------------------------
Cagou is the desktop/mobile frontend. It's probably the main interface for most users. It
is based on the `Kivy`_ framework and should run on most platforms (for now it is
officially tested only on GNU/Linux and Android phones and tablets).
Libervia Desktop (alias ``Libervia Mobile`` or ``Cagou``) is the desktop/mobile frontend.
It's probably the main interface for most users. It is based on the `Kivy`_ framework and
should run on most platforms (for now it is officially tested only on GNU/Linux and
Android phones and tablets).
.. _Kivy: https://kivy.org
Libervia
--------
Libervia Web
------------
Libervia is the web frontend, and is the second main interface for most users. This
frontend has the particularity to be in 2 parts: a server which serves HTTP content, and a
client which runs in the browser. So you have Libervia server which connect to SàT backend
which itself connect to the XMPP server, and your browser will connect to Libervia server.
The Web frontend is the second main interface for most users. This frontend has the
particularity to be in 2 parts: a server which serves HTTP content, and a client which
runs in the browser. So you have Libervia server which connect to Libervia backend which itself
connect to the XMPP server, and your browser will connect to Libervia server.
In the browser, you can access the server in two ways: either directly with what we call
**Libervia pages**, or with a JavaScript code in `single-page application`_ which is the
@ -88,56 +89,55 @@ JavaScript when it's possible (it's not the case for instant messaging or simila
dynamic contents). They aims to be simple and straightforward to use.
The **Libervia client** is a highly dynamic web application, used to access more features.
It's more complete and may be well adapted if you want to let SàT running in a browser tab
It's more complete and may be well adapted if you want to let Libervia running in a browser tab
for an extended period.
Please note that the current web application (SàT 0.7) will be completely rewritten for next 0.8 release.
Last but not least, Libervia is also the central part of the new **web framework** of
Salut à Toi. Indeed, in addition of being a frontend to SàT features (which is built with
this framework), you can create totally different websites which are integrated in SàT
(and so XMPP) ecosystem. This framework uses SàT template engine (based on `Jinja2`_) and
Libervia. Indeed, in addition of being a frontend to Libervia features (which is built with
this framework), you can create totally different websites which are integrated in Libervia
(and so XMPP) ecosystem. This framework uses Libervia template engine (based on `Jinja2`_) and
makes the creation of decentralised and federated websites simple. Thanks to this framework,
it's easy to experiment new ideas/features, or to change completely the look and feel of
the Libervia frontend.
The `official SàT website`_ is made with Libervia web framework.
The `official Libervia website`_ is made with Libervia web framework.
.. _single-page application: https://en.wikipedia.org/wiki/Single-page_application
.. _Jinja2: http://jinja.pocoo.org/
.. _official SàT website: https://salut-a-toi.org
.. _official Libervia website: https://salut-a-toi.org
Primitivus
----------
Libervia TUI (Primitivus)
-------------------------
Primitivus is the Terminal User Interface (TUI). In other words, it works in console and
is intended for people at ease with it. Its text only interface has several advantages:
you get rid of many distracting things (like images), it works without graphical
environment installed (which is often the case on servers) and it works on distant shell
(like `ssh`_) while staying gentle with your bandwidth.
Libervia TUI (alias ``Primitivus``) is the Terminal User Interface. In other words, it
works in console and is intended for people at ease with it. Its text only interface has
several advantages: you get rid of many distracting things (like images), it works without
graphical environment installed (which is often the case on servers) and it works on
distant shell (like `ssh`_) while staying gentle with your bandwidth.
Primitivus is shipped with the backend, so it should be always available once SàT is
Primitivus is shipped with the backend, so it should be always available once Libervia is
installed (but some distributions may provide it separately).
You can check :doc:`Primitivus documentation <primitivus/index>` for more details.
You can check :doc:`Libervia TUI documentation <libervia-tui/index>` for more details.
.. _ssh: https://en.wikipedia.org/wiki/Secure_Shell
jp
--
Libervia CLI (jp)
-----------------
Jp is the Command Line Interface (CLI). It's a powerful tool which allows to do nearly
everything you can do with other frontends. Particularly useful if you want to check
something quickly, or if you want to do some automation.
Libervia CLI (alias ``li`` or ``jp``) is the Command Line Interface. It's a
powerful tool which allows to do nearly everything you can do with other frontends.
Particularly useful if you want to check something quickly, or if you want to do some
automation.
You can check :doc:`jp documentation <jp/index>` documentation for more details.
You can check :doc:`Libervia CLI documentation <libervia-cli/index>` documentation for more details.
.. _glossary:
Glossary
========
While using SàT you may see some terms or concept. This section explain the most important
While using Libervia you may see some terms or concept. This section explain the most important
ones.
profile
@ -147,17 +147,17 @@ A profile is the name linked to an account data. Usually a profile correspond to
account, but you can have several profiles using the same XMPP account (with different
parameters) even if this is not usual.
On a SàT installation used by a single user, the profiles are usually used for multiple
On a Libervia installation used by a single user, the profiles are usually used for multiple
accounts. On a multi-users installations, there is usually one profile per user.
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:
When you connect to a Libervia 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:
- SàT needs to know the plain XMPP password to connect, and it is encrypted in database.
- Libervia needs to know the plain XMPP password to connect, and it is encrypted in database.
The profile password is used to encrypt/decrypt it, this way only a `password hash`_ is
stored and the XMPP password is encrypted `at rest`_.
- As a further benefit, several passwords could be associated to the same profile (this
feature is currently not used in SàT).
feature is currently not used in Libervia).
- profile password can be empty, in which case no password is requested when a profile is
used
@ -186,7 +186,7 @@ most important one is ``@DEFAULT@`` which, as you can guess, means the default p
bridge
------
The "bridge" is the name used to design Salut à Toi's `IPC`_, or in other words the way
The "bridge" is the name used to design Libervia's `IPC`_, or in other words the way
the backend communicate with frontends. Several bridges can be used, the default one being
`D-Bus`_.
@ -205,47 +205,47 @@ embedded
.. _Perspective Broker: https://twistedmatrix.com/documents/current/core/howto/pb-intro.html
.. _Twisted: https://twistedmatrix.com
SàT Media
---------
Libervia Media
--------------
Most of the frontends use images or other media. To avoid duplication and to make the code
repositories lighter, those media are grouped in a separate repository. The SàT media
repositories lighter, those media are grouped in a separate repository. The Libervia media
repository is available at https://repos.goffi.org/sat_media. You can also download media
at https://ftp.goffi.org/sat_media/sat_media.tar.bz2. The path where SàT media are
at https://ftp.goffi.org/sat_media/sat_media.tar.bz2. The path where Libervia media are
installed must be specified in ``sat.conf`` in ``media_dir`` option of the ``[DEFAULT``
section.
SàT Templates
-------------
Libervia Templates
------------------
SàT embeds a `Jinja2`_ template engine (see `Libervia`_ above). "SàT templates" refers to
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).
Libervia embeds a `Jinja2`_ template engine (see `Libervia Web`_ above). "Libervia templates" refers to
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:`libervia-cli_output` arguments).
SàT templates repository is available at https://repos.goffi.org/sat_templates, they can
Libervia templates repository is available at https://repos.goffi.org/sat_templates, they can
also be downloaded at `PyPI <https://pypi.org/project/sat-templates/>`_ and will be
installed automatically if you install Libervia.
Related projects
================
Some project are closely related to Salut à Toi, here is a list of official related
Some project are closely related to Libervia, here is a list of official related
project.
SàT PubSub
----------
Libervia PubSub
---------------
Numerous features of Salut à Toi are taking profit of `PubSub`_ functionalities of XMPP.
Numerous features of Libervia are taking profit of `PubSub`_ functionalities of XMPP.
Because PubSub implementations in the wild are not all on the same level, and some
experimental features are sometimes explored, a PubSub service as been written
specifically for the needs of SàT (but it's not depending on SàT and any XMPP software can
specifically for the needs of Libervia (but it's not depending on Libervia and any XMPP software can
use it).
SàT PubSub aims to be a feature complete, server-independent PubSub implementation, and
Libervia PubSub aims to be a feature complete, server-independent PubSub implementation, and
try to be up-to-date with latest XMPP PubSub extensions. It is the privileged service to
use with SàT because it supports everything needed (but SàT can work with any XMPP PubSub
use with Libervia because it supports everything needed (but Libervia can work with any XMPP PubSub
service, it will adapt itself to available features).
SàT PubSub can also be used as a `PEP`_ service, if some XMPP extensions are supported by
Libervia PubSub can also be used as a `PEP`_ service, if some XMPP extensions are supported by
your server (see below).
.. _PubSub: https://xmpp.org/about/technology-overview.html#pubsub
@ -254,23 +254,23 @@ your server (see below).
XMPP Extension Protocols
------------------------
For the needs of SàT or SàT PubSub, some `XMPP Extension Protocols`_ (or XEP) have been
For the needs of Libervia or Libervia PubSub, some `XMPP Extension Protocols`_ (or XEP) have been
proposed and got an official number. The current list of extensions is:
`XEP-0355`_: Namespace Delegation
This has been proposed for the needs of SàT PubSub, and allows the XMPP server to
"delegate" some features management to a third party service. It is needed to use SàT
This has been proposed for the needs of Libervia PubSub, and allows the XMPP server to
"delegate" some features management to a third party service. It is needed to use Libervia
Pubsub as a PEP service.
`XEP-0356`_: Privileged Entity
In the same spirit as previous one, this has been done so SàT PubSub could be used as a
In the same spirit as previous one, this has been done so Libervia PubSub could be used as a
PEP service. This extensions allows a "component" (which is more or less a server
generic plugin) to gain some privileged access to data such as presence information,
roster or to send a message like if it was sent by the server.
`XEP-0413`_: Order-By
This extension is used to specify the sorting order in which a client wishes to retrieve
some results. It is notably used by SàT and SàT PubSub to retrieve items like blog posts
some results. It is notably used by Libervia and Libervia PubSub to retrieve items like blog posts
or tickets in creation order or order of last modification.
.. _XEP-0355: https://xmpp.org/extensions/xep-0355.html
@ -284,19 +284,19 @@ Prosody's `mod_delegation`_ and `mod_privilege`_
Prosody modules have been created to implement the *Namespace Delegation* and *Privileged
Entity* extensions mentioned above. If you use Prosody, you'll have to activate those 2
modules to use SàT PubSub as a PEP service.
modules to use Libervia PubSub as a PEP service.
.. _mod_privilege: https://modules.prosody.im/mod_privilege.html
.. _mod_delegation: https://modules.prosody.im/mod_delegation.html
SàT official website
--------------------
Libervia official website
-------------------------
The official website is made with Libervia web framework. You'll find it at https://repos.goffi.org/sat_web_site
Salut
-----
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).
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).
You'll find it at https://repos.goffi.org/salut/