endif
#EXTRA_DIST= html htmldev _static
-EXTRA_DIST= html html/index.html
+EXTRA_DIST= html html/index.html _static images
jobmanagerdocdir=$(docdir)/gui/JOBMANAGER
# mkdir -p $@
RSTFILES= \
-index.rst
+index.rst \
+intro.rst \
+resource.rst
EXTRA_DIST+= $(RSTFILES) conf.py
--- /dev/null
+/**
+ * Sphinx stylesheet -- basic theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+ clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 10px;
+ list-style: none;
+}
+
+div.related li {
+ display: inline;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+img {
+ border: 0;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li div.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ width: 90%;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ font-style: italic;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable dl, table.indextable dd {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+a.headerlink {
+ visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.field-list ul {
+ padding-left: 1em;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px 7px 0 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px 7px 0 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ border: 0 solid #dce;
+ border-collapse: collapse;
+}
+
+table.docutils td, table.docutils th {
+ padding: 2px 5px 2px 5px;
+ border-left: 0;
+ background-color: #eef;
+}
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+table.footnote td, table.footnote th {
+ border: 0 !important;
+}
+
+table.docutils th {
+ border-top: 1px solid #cac;
+ background-color: #ede;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+th.head {
+ text-align: center;
+}
+
+/* -- other body styles ----------------------------------------------------- */
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd p {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+dt:target, .highlight {
+ background-color: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.refcount {
+ color: #060;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+p.deprecated {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+ padding: 7px
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa
+}
+
+.impl-detail {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+ border: 1px solid #ccc;
+}
+
+.impl-detail .compound-first {
+ margin-top: 0;
+}
+
+.impl-detail .compound-last {
+ margin-bottom: 0;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+}
+
+td.linenos pre {
+ padding: 5px 0px;
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ margin-left: 0.5em;
+}
+
+table.highlighttable td {
+ padding: 0 0.5em 0 0.5em;
+}
+
+tt.descname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+tt.descclassname {
+ background-color: transparent;
+}
+
+tt.xref, a tt {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+ background-color: transparent;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.body div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0 !important;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+}
--- /dev/null
+/**
+ * Sphinx stylesheet -- default theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: sans-serif;
+ font-size: 100%;
+ background-color: #11303d;
+ color: #000;
+ margin: 0;
+ padding: 0;
+}
+
+div.document {
+ background-color: #1c4e63;
+}
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+}
+
+div.bodywrapper {
+ margin: 0 0 0 230px;
+}
+
+div.body {
+ background-color: #ffffff;
+ color: #000000;
+ padding: 0 20px 30px 20px;
+}
+
+div.footer {
+ color: #ffffff;
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: #ffffff;
+ text-decoration: underline;
+}
+
+div.related {
+ background-color: #133f52;
+ line-height: 30px;
+ color: #ffffff;
+}
+
+div.related a {
+ color: #ffffff;
+}
+
+div.sphinxsidebar {
+}
+
+div.sphinxsidebar h3 {
+ font-family: 'Trebuchet MS', sans-serif;
+ color: #ffffff;
+ font-size: 1.4em;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+ color: #ffffff;
+}
+
+div.sphinxsidebar h4 {
+ font-family: 'Trebuchet MS', sans-serif;
+ color: #ffffff;
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 0;
+}
+
+div.sphinxsidebar p {
+ color: #ffffff;
+}
+
+div.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+ color: #ffffff;
+}
+
+div.sphinxsidebar a {
+ color: #98dbcc;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+a {
+ color: #355f7c;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.body h1,
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: 'Trebuchet MS', sans-serif;
+ background-color: #f2f2f2;
+ font-weight: normal;
+ color: #20435c;
+ border-bottom: 1px solid #ccc;
+ margin: 20px -20px 10px -20px;
+ padding: 3px 0 3px 10px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%; }
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+pre {
+ padding: 5px;
+ background-color: #eeffcc;
+ color: #333333;
+ line-height: 120%;
+ border: 1px solid #ac9;
+ border-left: none;
+ border-right: none;
+}
+
+tt {
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
+}
\ No newline at end of file
by the KERNEL) to choose and to user a resource when a container (in YACS)
or a job (in JOBMANAGER) has to be launched.
-- **hostname:** It's the network name of the computer. If the computer is a cluster, you
- have to give the frontal computer name.
+The description of each attribute is given in the table below.
+
+**Warning:** The *mandatory* part is for using the resource with the JOBMANAGER.
+
+========================== ================ =============================================================
+**Attribute** **Mandatory** **Description**
+========================== ================ =============================================================
+**hostname** Yes It's the network name of the computer. If the computer is a
+ cluster, you have to give the frontal computer name.
+**protocol** Yes Network protocol to use for creating connections
+ (ssh or rsh).
+**username** Yes User name to use for creating connections.
+**batch** Yes Type of batch system installed in the resource. Use *ssh* if
+ the resource is a single computer.
+**iprotocol** Yes Internal protocol to use on a cluster.
+**mpiImpl** No MPI implementation to use.
+
+**OS** No It's the operating system name, ex: Linux, Windows, Debian.
+**nb_node** No It's the amount of node of the computer.
+**nb_proc_per_node** No It's the amount or processor or core of your computer.
+**mem_mb** No It's the amount of memory in megabytes per node.
+**cpu_clock** No It's the frequency in gigahertz of the computer's processors.
+========================== ================ =============================================================
-- **protocol:**
-- **username:**
-- **batch:**
-- **iprotocol:**
-- **mpiImpl:**
+SALOME installation description
+-------------------------------
-- **OS:** It's the operating system name, ex: Linux, Windows, Debian.
-- **nb_node:** It's the amount of node of the computer.
-- **nb_proc_per_node:** It's the amount or processor or core of your computer.
-- **mem_mb:** It's the amount of memory in megabytes per node.
-- **cpu_clock:** It's the frequency in gigahertz of the computer's processors.
+A resource could contain a SALOME installation description.
+The description of each attribute is given in the table below.
+**Warning:** Attribute **applipath** is *mandatory* with JOBMANAGER SALOME related jobs.
-SALOME installation description
--------------------------------
+========================== =============================================================
+**Attribute** **Description**
+========================== =============================================================
+**applipath** It's the directory of the SALOME application to use into the
+ resource.
+**componentList** It's the SALOME component list available in the SALOME
+ application.
+========================== =============================================================
+
+Where is the resource file ?
+----------------------------
-- **componentList:**
-- **applipath:**
+Resources are located into a XML resource file. SALOME tries to find this file
+in three different locations:
-Two scenarios with SALOME resource
+1. If **USER_CATALOG_RESOURCES_FILE** env file is defined, SALOME uses this file.
+2. If not in the SALOME application directory: $APPLIPATH/CatalogResources.xml.
+3. If not in the directory of the installation of SALOME KERNEL:
+ $KERNEL_ROOT_DIR/share/salome/resources/kernel/CatalogResources.xml.
+
+By default, the resource manager creates a resource with the name and the hostname of the user computer.
+
+JOBMANAGER resource management GUI
++++++++++++++++++++++++++++++++++
+The JOBMANAGER provides a panel to manage the resources. This panel is showned in the
+figure :ref:`figure_jobmanager_resource_1`. The panel provides some buttons and a list
+that shows the aviable resources. You can select one resource to enable buttons.
+
+.. _figure_jobmanager_resource_1:
+
+.. figure:: images/jobmanager_resource_1.png
+ :align: center
+
+ **JOBMANAGER resource management panel**
+
+The description of each button is given in the table below.
+
+========================== =============================================================
+**Button** **Description**
+========================== =============================================================
+**Refresh Resource List** Resource file is read to refresh the list.
+**Show** Show the selected resource.
+**Edit** Edit the selected resource. The resource is saved is **Ok**
+ is clicked. If the resource name is changed, a new resource
+ is added.
+**Add** Add a new resource.
+**Remove** Remove the selected resource.
+========================== =============================================================
+
+The figure :ref:`figure_jobmanager_resource_2` shows the panel of a resource. This panel
+shows all the informations of a resource.
+
+.. _figure_jobmanager_resource_2:
+
+.. figure:: images/jobmanager_resource_2.png
+ :align: center
+
+ **JOBMANAGER resource panel**
+
+Two scenarios with a SALOME resource
+++++++++++++++++++++++++++++++++++++
+
+This section describes to common scenarios for understanding how to describe
+a resource for the JOBMANAGER.
+
Use an interactive resource
---------------------------
+In this scenario, you need to launch a job into your computer or an interactive computer
+available in your network.
+
+To launch a **command** job you need to fill the following attributes:
+
+- **hostname**
+- **protocol** = *ssh*
+- **username**
+- **batch** = *ssh*
+
+**Warning:** You have configure your ssh for allowing ssh commands without asking
+interactives password (RSA or DSA keys).
+
+To launch a **SALOME** command job you also need to fill the following attributes:
+
+- **applipath**
+
Use a cluster managed by batch system
-------------------------------------
-JOBMANAGER resource management GUI
-++++++++++++++++++++++++++++++++++
+In this scenario, you need to launch a job into a cluster managed by a batch system.
+
+To launch a **command** job you need to fill the following attributes:
+
+- **hostname**
+- **protocol**
+- **username**
+- **batch**
+- **iprotocol**
+- **nb_proc_per_node**
+
+**Warning:** You have configure your ssh for allowing ssh commands without asking
+interactives password (RSA or DSA keys) between your computer and the cluster and between
+the cluster's nodes.
+
+To launch a **SALOME** command job you also need to fill the following attributes:
+
+- **applipath**
+