view doc/libervia-cli/event_invitee.rst @ 4231:e11b13418ba6

plugin XEP-0353, XEP-0234, jingle: WebRTC data channel signaling implementation: Implement XEP-0343: Signaling WebRTC Data Channels in Jingle. The current version of the XEP (0.3.1) has no implementation and contains some flaws. After discussing this on xsf@, Daniel (from Conversations) mentioned that they had a sprint with Larma (from Dino) to work on another version and provided me with this link: https://gist.github.com/iNPUTmice/6c56f3e948cca517c5fb129016d99e74 . I have used it for my implementation. This implementation reuses work done on Jingle A/V call (notably XEP-0176 and XEP-0167 plugins), with adaptations. When used, XEP-0234 will not handle the file itself as it normally does. This is because WebRTC has several implementations (browser for web interface, GStreamer for others), and file/data must be handled directly by the frontend. This is particularly important for web frontends, as the file is not sent from the backend but from the end-user's browser device. Among the changes, there are: - XEP-0343 implementation. - `file_send` bridge method now use serialised dict as output. - New `BaseTransportHandler.is_usable` method which get content data and returns a boolean (default to `True`) to tell if this transport can actually be used in this context (when we are initiator). Used in webRTC case to see if call data are available. - Support of `application` media type, and everything necessary to handle data channels. - Better confirmation message, with file name, size and description when available. - When file is accepted in preflight, it is specified in following `action_new` signal for actual file transfer. This way, frontend can avoid the display or 2 confirmation messages. - XEP-0166: when not specified, default `content` name is now its index number instead of a UUID. This follows the behaviour of browsers. - XEP-0353: better handling of events such as call taken by another device. - various other updates. rel 441
author Goffi <goffi@goffi.org>
date Sat, 06 Apr 2024 12:57:23 +0200
parents 3c3275a6dc8f
children
line wrap: on
line source

.. _libervia-cli_event_invitee:

========================================
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.

.. _libervia-cli_event_invitee_get:

get
===

Retrieve the RSVP status of one or several guest(s).

You may specify the guest(s) to retrieve by using their bare JIDs with ``-j JIDS, --jid
JIDS`` as many times as necessary. By default, all guests RSVPs are retrieved.

If no response is known yet, no data is returned.

example
-------

Get RSVP of Louise::

  $ li event invitee get -u "xmpp:pubsub.example.net?;node=urn%3Axmpp%3Aevents%3A0%2Fparty;item=picnic_abd1" -j louise@example.org


.. _libervia-cli_event_invitee_set:

set
===

Set your own RSVP data.

Use ``-f KEY VALUE, --field KEY VALUE`` to specify the data to set. ``KEY`` can any field
name used in the RSVP form, where usually ``attending`` is used (with the possible values
of ``yes``, ``no``, and ``maybe``).

example
-------

Indicate that you'll come to a picnic::

  $ li event invitee set -s pubsub.example.net -n urn:xmpp:events:0/party -i picnic_abd1 -f attending yes

list
====

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
can also use ``-R, --no-rsvp`` to only show people which have not answered yet.

You'll also have a small summary indicating how many people who can expect at your event.

example
-------

Get the full list of invitees (including those who didn't answered yet) with the RSVP formatted::

  $ li event invitee list -u "xmpp:pierre@example.net?;node=generic%2F876a2b99-1c90-41fa-b823-c4a467140770" -m

invite
------

Invite somebody to an event. The invitation is done by e-mail, a guest account will be
created. Contrary to other ``invitee`` commands, in this one you'll use the event node
directly.

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
website page handling the invitation (for Libervia default invitation page is
``<your_server>/g/<uuid>``). You can use ``{uuid}`` as a placeholder which will be
replaced by event's id.

You'll probably want to specify the name of the invitee, using ``-N NAME, --name NAME``
and your own name (as the host inviting), using ``-H HOST_NAME, --host-name HOST_NAME``.
The language spoken by your guest can be specified using ``-l LANG, --lang LANG``, it is
mainly useful if you have many invitee speaking different languages.

example
-------

Pierre is inviting Louise (whose e-mail address is ``louise_email@example.net``) to an
event he's organising::

  $ 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"