.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

Administration
==============


.. note::
   * This section is used to describe a software component from the perspective of on-going
     operation including regular processes and actions that are taken to configure and manage
     the component. 
   
   * This section is typically: provided for platform-component or applications; and
     referenced in user guides
   
   * This note must be removed after content has been added.


Processes
---------


Actions
-------
