Skip to content

Commit

Permalink
tui: document recent enhancements (#663)
Browse files Browse the repository at this point in the history
* tui: document recent enhancements

* Update src/7-to-8/major-changes/ui.rst
  • Loading branch information
oliver-sanders authored Dec 20, 2023
1 parent 46f3daf commit 530689b
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 56 deletions.
28 changes: 1 addition & 27 deletions src/7-to-8/caveats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Installing Workflows
At present there is no way to view or install
:term:`source workflows <source directory>` in the UI.
Rose Edit
Rose Edit is awaiting reimplementation in the UI.
Rose Edit is awaiting reimplementation.
Xtrigger Visibility
Xtriggers are not yet visible in the UI.

Expand All @@ -49,32 +49,6 @@ Documentation / Orientation Guide
* https://github.com/cylc/cylc-ui/issues/155


Terminal User Interface
-----------------------

The ``cylc tui`` command (Tui) replaces the old ``cylc monitor``. It provides a
tree view that is very similar to the Cylc UI and supports some control
functionality.

Performance
TUI currently refreshes its display every second. Large workflows which
change rapidly may evolve faster than TUI is able to keep pace with which
will cause TUI to freeze.

A more performant implementation which does not rely on a scheduled global
update will follow in due course.

* https://github.com/cylc/cylc-flow/issues/3527
GScan
The old ``cylc gscan`` GUI has been removed. You can now find the gscan
display on the left-hand side of the Cylc UI.

In a future release ``cylc tui`` will be able to list workflows in a similar
way.

* https://github.com/cylc/cylc-flow/issues/3464


UI Server
---------

Expand Down
76 changes: 48 additions & 28 deletions src/7-to-8/major-changes/ui.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,62 +6,82 @@ Cylc 8 UIs
There are two UI options available to monitor and control workflows at Cylc 8.


Cylc TUI
Cylc Tui
--------

Cylc TUI is a text based UI, available on the command line with
``cylc tui <workflow_id>``.
Cylc Tui (TUI = Terminal User Interface) is a command line version of the GUI
which comes packaged with the Cylc scheduler.

It remains in development, with smooth running with large workflows soon to be
resolved.
It can be used to monitor and control any workflows running under your user
account, trigger tasks, access log files and perform other common activities.

.. figure:: ../../img/cylc-tui.png
Start Tui by running the ``cylc tui`` command.

.. figure:: ../../img/tui-1.png
:figwidth: 80%
:align: center

Cylc 8 TUI application
Tui showing the details of a failed job.

.. figure:: ../../img/tui-2.png
:figwidth: 80%
:align: center

This replaces Cylc 7's ``cylc monitor``.
A list of actions that can be performed on the selected task.

.. figure:: ../../img/tui-3.png
:figwidth: 80%
:align: center

Tui displaying the workflow configuration. It can also show scheduler and
job log files.

Tui replaces the Cylc 7 ``cylc monitor`` command.


Cylc Web GUI
------------

Cylc 8 web GUI is available, both as a single user application, ``cylc gui``
and as a multi user hub, ``cylc hub``. Both are dependent on `Cylc UI Server`_ installation.
The Cylc GUI application is a monitoring and control application which runs in
a web browser, it is distributed in the `Cylc UI Server`_ package which comes
separately from the core scheduler.

Start the GUI server and open the web app in your browser by running
``cylc gui``.

.. figure:: ../../img/cylc-ui-dash.png
:figwidth: 80%
:align: center

Cylc 8 UI dashboard
The GUI homepage.

.. figure:: ../../img/cylc-ui-tree.png
:figwidth: 80%
:align: center

Cylc 8 UI workflow tree view
The GUI displaying a workflow using the "tree" view.

See :ref:`UI_Server_config` for how to configure the GUI.

Launching the UI via the hub will require authentication.
The default Authenticator uses PAM to authenticate system users with their
username and password.
As some workflows can be very large, or even infinite, the GUI uses a "window"
system to determine what to display. For more information, see :ref:`n-window`.

Going via the hub unlocks the ability to grant other users the permission
to view and interact with workflows running under your account.
Site administrators will need to configure this, for more information
see :ref:`cylc.uiserver.multi-user`.

.. figure:: ../../img/hub.png
:figwidth: 80%
:align: center
Cylc Hub
--------

Cylc 8 Hub authentication page
The Cylc 8 GUI can be deployed with Jupyter Hub to support multi-user access
where it is possible to grant users the permission to view and interact with
workflows running under other user accounts. In these deployments, users will
have to authenticate when they open the GUI in the browser.

See :ref:`UI_Server_config` for how to configure the GUI.
The central server is started by the ``cylc hub`` command.

As some workflows can be very large, or even infinite, the UI uses a "window"
system to determine what to display. For more information, see :ref:`n-window`.
.. figure:: ../../img/hub.png
:figwidth: 80%
:align: center

The UI continues to be developed.
The Jupyter Hub authentication page in a multi-user setup.

.. TODO Possibly add more screen-grabs/information here.
Multi-user setups need to be configured by site administrators, for more
information see :ref:`cylc.uiserver.multi-user`.
2 changes: 1 addition & 1 deletion src/7-to-8/summary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ At Cylc 8, there are two UIs available to monitor and control your workflows:

.. code-block:: bash
cylc tui <workflow_id>
cylc tui
- a web based UI application (requires `Cylc UI Server`_)

Expand Down
1 change: 1 addition & 0 deletions src/dictionaries/words
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
GUI
Popen
app
apps
Expand Down
Binary file removed src/img/cylc-tui.png
Binary file not shown.
Binary file added src/img/tui-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/img/tui-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/img/tui-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions src/reference/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,20 @@ environment itself, e.g. to install a Cylc extension,
use a custom xtrigger, or event handler use ``$CYLC_PYTHONPATH``.


Tui
^^^

The Tui (terminal user interface) is a command line version of the Gui.
You can use it to monitor and control your workflows.

There has been a major update to Tui at Cylc 8.3.0, you can now use Tui to
browse your installed workflows. Tui is now able to keep up with larger
workflows which would previously have caused it to time out.

.. image:: changes/tui-1.gif
:width: 100%


Upgrade To The Latest Jupyter Releases
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down
Binary file added src/reference/changes/tui-1.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 530689b

Please sign in to comment.