Properties
==========

.. FIXME: duplicate from tutorial/properties.rst

Access control is achieved through `properties`.

.. glossary::

   property

       A property is a state (`disabled`, `mandatory`, `frozen`, `hidden`...)
       of a family or a variable.
       These properties change the usual behavior of a variable or family.

The properties can be defined permanently or according to the result of a calculation.

There are two main properties.

.. _hidden:

Hidden variable
---------------

A `hidden` variable is a variable whose value cannot be modified by the :term:`operator`.

This could be an internal variable used by the :term:`integrator` that is not supposed to change.

Or a variable that only makes sense in a particular context. Therefore, this variable can be hidden and then unhidden depending on the context.

.. _disabled:

Disabled variable
-----------------

A `disabled` variable is a variable that will not be accessible to any of the actors (:term:`integrator` and :term:`operator`).

This property is generally used dynamically to remove access to the variable depending on the context.

A picture is worth a thousand words:

.. image:: ../images/dessin.png


.. index:: overall coherence
