.. SPDX-License-Identifier: CC-BY-SA-4.0 App Module ---------- These methods are optionally provided by the module in which an app is implemented and FreedomBox calls/uses them if they are present. .depends ^^^^^^^^^^^^^^^^^^^^ Optional. This module property must contain a list of all apps that this application depends on. The application is specified as string which is the final part of the full module load path. For example, ``names``. Dependencies are part of the :class:`~plinth.app.Info` component. Need for this attribute at the module level will be removed in the future. .is_essential ^^^^^^^^^^^^^^^^^^^^^^^^^ Optional. If an app must be installed and configured by FreedomBox without user intervention, this attribute must be set to True. This attribute is part of the :class:`~plinth.app.Info` component. Need for this attribute at the module level will be removed in the future. .version ^^^^^^^^^^^^^^^^^^^^ Required. Version number of an app. Increasing the version number of an app triggers the setup() logic allowing the app to run upgrade scripts. This attribute is part of the :class:`~plinth.app.Info` component. Need for this attribute at the module level will be removed in the future. .managed_packages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Optional. This must contain the list of all packages that this app deals with. This is mostly needed to enforce better security. This information may be moved to a separate component in the future. .managed_services ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Optional. This must contain the list of all services that this app deals with. This is mostly needed to enforce better security. This information is part of the :class:`~plinth.daemon.Daemon` component. Need for this attribute at the module level will be removed in the future. .managed_paths ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Optional. This must contain the list of all file system paths that this app deals with. This is mostly used by the :class:`~plinth.modules.letsencrypt.components.LetsEncrypt` component to enforce better security. This requirement may be removed in the future.