view doc/jp/pubsub_node_schema.rst @ 3403:404d4b29de52

plugin file, XEP-0234: registering is now done by class + use of async: - instead of registering a callback, a file sending manager now register itself and must implement some well known method (`fileSend`, `canHandleFileSend`) and optionally a `name` attribute - `utils.asDeferred` is now used for callbacks, so all type of methods including coroutines can be used. - feature checking is now handled by `canHandleFileSend` method instead of simple namespace check, this allows to use a method when namespace can't be checked (this is the case when a file is sent to a bare jid with jingle)
author Goffi <goffi@goffi.org>
date Thu, 12 Nov 2020 14:53:15 +0100
parents 72583524cfd3
children
line wrap: on
line source

.. _jp-pubsub_node_schema:

=========================================
pubsub/node/schema: nodes schema handling
=========================================

``node schema`` is an experimental feature to associate a data form with a PubSub node, and
reject items not following this form. This feature is currently only available with SàT
PubSub.

Those commands can only be used by an owner of the node.

set
===

Set the schema of a node. The raw schema is written directly as positional argument.

example
-------

Set the schema for tickets node using the file ``tickets_schema.xml`` from ``$HOME``
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)"


edit
====

Edit the schema of a node using your local editor (the one set in ``$EDITOR``).

If you don't change anything or publish an empty schema, the edition will be cancelled.

:ref:`draft_common` commands can be used.

example
-------

Edit the tickets node schema::

  $ jp pubsub node schema edit -n org.salut-a-toi.tickets:0 -s pubsub.example.org


example
-------

get
===

Retrieve schema of a node.

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