view doc/jp/pubsub_node_schema.rst @ 3372:5d926c7b0d99

plugin app manager: first draft: /!\ new optional dependency: pyyaml this plugin manage the life cycle of external applications. Application handlers register to it. Data needed to launch an application as set in YAML files. Local data types are used to get values directly from SàT: - !sat_conf to retrieve a configuration value - !sat_generate_pwd to generate a password - !sat_param for parameters specified a launch Data can be exposed when an instance is launched, this can be used to specify the port (notably the one used for web), or a generated password.
author Goffi <goffi@goffi.org>
date Mon, 28 Sep 2020 21:10:30 +0200
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