diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 00000000..dfacff25 --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,15 @@ +# Authors + +The list of contributors in alphabetical order: + +- [Audrius Mecionis](https://orcid.org/0000-0002-3759-1663) +- [Diego Rodriguez](https://orcid.org/0000-0003-0649-2002) +- [Dinos Kousidis](https://orcid.org/0000-0002-4914-4289) +- [Domenic Gosein](https://orcid.org/0000-0002-1546-0435) +- [Giuseppe Steduto](https://orcid.org/0009-0002-1258-8553) +- [Jan Okraska](https://orcid.org/0000-0002-1416-3244) +- [Leticia Wanderley](https://orcid.org/0000-0003-4649-6630) +- [Marco Donadoni](https://orcid.org/0000-0003-2922-5505) +- [Marco Vidal](https://orcid.org/0000-0002-9363-4971) +- [Sinclert Perez](https://www.linkedin.com/in/sinclert) +- [Tibor Simko](https://orcid.org/0000-0001-7202-5803) diff --git a/AUTHORS.rst b/AUTHORS.rst deleted file mode 100644 index b7393133..00000000 --- a/AUTHORS.rst +++ /dev/null @@ -1,16 +0,0 @@ -Authors -======= - -The list of contributors in alphabetical order: - -- `Audrius Mecionis `_ -- `Diego Rodriguez `_ -- `Dinos Kousidis `_ -- `Domenic Gosein `_ -- `Giuseppe Steduto `_ -- `Jan Okraska `_ -- `Leticia Wanderley `_ -- `Marco Donadoni `_ -- `Marco Vidal `_ -- `Sinclert Perez `_ -- `Tibor Simko `_ diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29b..6b12f6a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1,128 @@ +# Changelog + +## 0.9.3 (2023-12-12) + +- Adds metadata labels to Dockerfile. +- Changes version of NGINX Docker image from 1.19 to 1.25. + +## 0.9.2 (2023-12-06) + +- Adds automated multi-platform container image building for amd64 and arm64 architectures. +- Adds option to delete all the runs of a workflow. +- Adds form to generate the launcher URL of any user-provided analysis, together with the markdown snippet for the corresponding Launch-on-REANA badge. +- Changes the Launch-on-REANA page to improve how workflow parameters are shown by displaying them inside a table. +- Changes the Launch-on-REANA page to show improved validation warnings which also indicate where unexpected properties are located in the REANA specification file. +- Changes version of Node.js Docker image from 16 to 18. +- Fixes container image building on the arm64 architecture. + +## 0.9.1 (2023-09-27) + +- Adds support for previewing PDF files present in a workflow's workspace. +- Adds support for previewing ROOT files present in a workflow's workspace. +- Adds support for signing-in with a custom third-party Keycloak instance. +- Adds a new menu item to the workflow actions popup to allow stopping running workflows. +- Changes the workflow deletion message to clarify that attached interactive sessions are also closed when a workflow is deleted. +- Changes the workflow progress bar to always display it as completed for finished workflows. +- Changes the interactive session notification to also report that the session will be closed after a specified number of days of inactivity. +- Changes the workflow-details page to make it possible to scroll through the list of workflow steps in the job logs section. +- Changes the workflow-details page to not automatically refresh the selected job when viewing the related logs, but keeping the user-selected one active. +- Changes the page titles to conform to the same sentence case style. +- Changes workspace file preview to support customisable maximum file size limit allowed for previewing. +- Changes nginx configuration to save bandwidth by serving gzip-compressed static files. +- Changes the launcher page to show warnings when validating the REANA specification file of the workflow to be launched. +- Changes the launcher page to allow showing custom demo examples. +- Fixes calculation of workflow runtime durations for stopped workflows. + +## 0.9.0 (2023-01-19) + +- Adds Launch on REANA page allowing the submission of workflows via badge-clicking. +- Adds notifications to inform users when critical levels of quota usage is reached. +- Adds 404 Not Found error page. +- Adds tab titles to all the pages. +- Changes OAuth configuration to enable the new CERN SSO. +- Changes the workflow-details page to show the logs of the workflow engine. +- Changes the workflow-details page to show file sizes in a human-readable format. +- Changes the workflow-details page to show the workspace's retention rules. +- Changes the workflow-details page to show the duration of the workflow's jobs. +- Changes the workflow-details page to display a label of the workflow launcher URL remote origin. +- Changes the workflow-details page to periodically refresh the content of the page. +- Changes the workflow-details page to refresh after the deletion of a workflow. +- Changes the workflow-list page to add a way to hide deleted workflows. +- Changes the workflow-list page to add new workflows sorting options by most used disk and cpu quota. +- Changes the deletion of a workflow to always clean up the workspace. +- Changes the announcements to support limited HTML markup. +- Fixes redirection chain for non-signed-in CERN SSO users to access the desired target page after sign-in. +- Fixes `fetchWorkflow` action to fetch a specific workflow instead of the entire user workflow list. +- Fixes the ordering by size of the files showed in the `Workspace` tab of the workflow-details page. + +## 0.8.2 (2022-02-15) + +- Changes `node-sass` dependency to version 7. + +## 0.8.1 (2022-02-02) + +- Adds support for HTML preview of workspace files. +- Adds search by name in workflow file list page. +- Adds support for Create React App v5. +- Changes cluster health status page to represent availability instead of usage. +- Changes Docker image Node version from 12 to 16. + +## 0.8.0 (2021-11-22) + +- Adds user quota usage pie charts in Profile page. +- Adds a more generic notifications system. +- Adds a way to open, list and closes interactive sessions. +- Adds the possibility of deleting workflows to save disk space. +- Adds filtering by status and search by name in workflow list page. +- Adds import aliases. +- Adds cluster health status page. + +## 0.7.2 (2021-02-04) + +- Adds option to require user email confirmation after sign-up. +- Adds option to display CERN Privacy Notice for CERN installations. +- Changes notification system to improve sign-in and sign-up messages. + +## 0.7.1 (2020-11-24) + +- Fixes error handling behaviour for several server-side exceptions. + +## 0.7.0 (2020-10-20) + +- Adds user profile page. +- Adds local user forms for sign-in and sign-up functionalities. +- Adds home page suitable for standalone vs CERN deployments. +- Adds page refresh button to workflow detailed page. +- Adds favicon to the web interface pages. +- Adds basic theme scaffolding. +- Adds announcement configuration to easily display messages on the web interface. +- Adds pagination on the workflow list and workflow detailed pages. +- Fixes loading workflow indicator. +- Fixes displaying of non-existing workflows. +- Fixes file preview functionality experience to allow/disallow certain file formats. +- Fixes workflow specification display to show runtime parameters. +- Fixes display of footer links in case they are not set during deployment. +- Changes configuration to dynamically detect URL. +- Changes main loader of the web interface. +- Changes workflow list page and all the code base to use hooks everywhere. +- Changes pre-requisites to node version 12 and latest npm dependencies. +- Changes polling to improve performance. +- Changes default font to Open Sans. +- Changes code formatting to respect updated `prettier` version coding style. +- Changes documentation to single-page layout. + +## 0.6.0 (2019-12-20) + +- Basic login/user page using CERN SSO. +- Simple user page showing user access token. +- Adds GitLab projects integration. +- Allows enabling/disabling GitLab project integration. +- Improves UX in projects page. +- Adds state management with Redux. +- Includes SASS and CSS-modules support. +- Loads config from server and store it in Redux state. + +## 0.3.0 (2018-07-04) + +- Initial public release. + diff --git a/CHANGES.rst b/CHANGES.rst deleted file mode 100644 index 558d21b3..00000000 --- a/CHANGES.rst +++ /dev/null @@ -1,146 +0,0 @@ -Changes -======= - -Version 0.9.3 (2023-12-12) --------------------------- - -- Adds metadata labels to Dockerfile. -- Changes version of NGINX Docker image from 1.19 to 1.25. - -Version 0.9.2 (2023-12-06) --------------------------- - -- Adds automated multi-platform container image building for amd64 and arm64 architectures. -- Adds option to delete all the runs of a workflow. -- Adds form to generate the launcher URL of any user-provided analysis, together with the markdown snippet for the corresponding Launch-on-REANA badge. -- Changes the Launch-on-REANA page to improve how workflow parameters are shown by displaying them inside a table. -- Changes the Launch-on-REANA page to show improved validation warnings which also indicate where unexpected properties are located in the REANA specification file. -- Changes version of Node.js Docker image from 16 to 18. -- Fixes container image building on the arm64 architecture. - -Version 0.9.1 (2023-09-27) --------------------------- - -- Adds support for previewing PDF files present in a workflow's workspace. -- Adds support for previewing ROOT files present in a workflow's workspace. -- Adds support for signing-in with a custom third-party Keycloak instance. -- Adds a new menu item to the workflow actions popup to allow stopping running workflows. -- Changes the workflow deletion message to clarify that attached interactive sessions are also closed when a workflow is deleted. -- Changes the workflow progress bar to always display it as completed for finished workflows. -- Changes the interactive session notification to also report that the session will be closed after a specified number of days of inactivity. -- Changes the workflow-details page to make it possible to scroll through the list of workflow steps in the job logs section. -- Changes the workflow-details page to not automatically refresh the selected job when viewing the related logs, but keeping the user-selected one active. -- Changes the page titles to conform to the same sentence case style. -- Changes workspace file preview to support customisable maximum file size limit allowed for previewing. -- Changes nginx configuration to save bandwidth by serving gzip-compressed static files. -- Changes the launcher page to show warnings when validating the REANA specification file of the workflow to be launched. -- Changes the launcher page to allow showing custom demo examples. -- Fixes calculation of workflow runtime durations for stopped workflows. - -Version 0.9.0 (2023-01-19) --------------------------- - -- Adds Launch on REANA page allowing the submission of workflows via badge-clicking. -- Adds notifications to inform users when critical levels of quota usage is reached. -- Adds 404 Not Found error page. -- Adds tab titles to all the pages. -- Changes OAuth configuration to enable the new CERN SSO. -- Changes the workflow-details page to show the logs of the workflow engine. -- Changes the workflow-details page to show file sizes in a human-readable format. -- Changes the workflow-details page to show the workspace's retention rules. -- Changes the workflow-details page to show the duration of the workflow's jobs. -- Changes the workflow-details page to display a label of the workflow launcher URL remote origin. -- Changes the workflow-details page to periodically refresh the content of the page. -- Changes the workflow-details page to refresh after the deletion of a workflow. -- Changes the workflow-list page to add a way to hide deleted workflows. -- Changes the workflow-list page to add new workflows sorting options by most used disk and cpu quota. -- Changes the deletion of a workflow to always clean up the workspace. -- Changes the announcements to support limited HTML markup. -- Fixes redirection chain for non-signed-in CERN SSO users to access the desired target page after sign-in. -- Fixes ``fetchWorkflow`` action to fetch a specific workflow instead of the entire user workflow list. -- Fixes the ordering by size of the files showed in the ``Workspace`` tab of the workflow-details page. - -Version 0.8.2 (2022-02-15) --------------------------- - -- Changes ``node-sass`` dependency to version 7. - -Version 0.8.1 (2022-02-02) --------------------------- - -- Adds support for HTML preview of workspace files. -- Adds search by name in workflow file list page. -- Adds support for Create React App v5. -- Changes cluster health status page to represent availability instead of usage. -- Changes Docker image Node version from 12 to 16. - -Version 0.8.0 (2021-11-22) --------------------------- - -- Adds user quota usage pie charts in Profile page. -- Adds a more generic notifications system. -- Adds a way to open, list and closes interactive sessions. -- Adds the possibility of deleting workflows to save disk space. -- Adds filtering by status and search by name in workflow list page. -- Adds import aliases. -- Adds cluster health status page. - -Version 0.7.2 (2021-02-04) --------------------------- - -- Adds option to require user email confirmation after sign-up. -- Adds option to display CERN Privacy Notice for CERN installations. -- Changes notification system to improve sign-in and sign-up messages. - -Version 0.7.1 (2020-11-24) --------------------------- - -- Fixes error handling behaviour for several server-side exceptions. - -Version 0.7.0 (2020-10-20) --------------------------- - -- Adds user profile page. -- Adds local user forms for sign-in and sign-up functionalities. -- Adds home page suitable for standalone vs CERN deployments. -- Adds page refresh button to workflow detailed page. -- Adds favicon to the web interface pages. -- Adds basic theme scaffolding. -- Adds announcement configuration to easily display messages on the web interface. -- Adds pagination on the workflow list and workflow detailed pages. -- Fixes loading workflow indicator. -- Fixes displaying of non-existing workflows. -- Fixes file preview functionality experience to allow/disallow certain file formats. -- Fixes workflow specification display to show runtime parameters. -- Fixes display of footer links in case they are not set during deployment. -- Changes configuration to dynamically detect URL. -- Changes main loader of the web interface. -- Changes workflow list page and all the code base to use hooks everywhere. -- Changes pre-requisites to node version 12 and latest npm dependencies. -- Changes polling to improve performance. -- Changes default font to Open Sans. -- Changes code formatting to respect updated ``prettier`` version coding style. -- Changes documentation to single-page layout. - -Version 0.6.0 (2019-12-20) --------------------------- - -- Basic login/user page using CERN SSO. -- Simple user page showing user access token. -- Adds GitLab projects integration. -- Allows enabling/disabling GitLab project integration. -- Improves UX in projects page. -- Adds state management with Redux. -- Includes SASS and CSS-modules support. -- Loads config from server and store it in Redux state. - -Version 0.3.0 (2018-07-04) --------------------------- - -- Initial public release. - -.. admonition:: Please beware - - Please note that REANA is in an early alpha stage of its development. The - developer preview releases are meant for early adopters and testers. Please - don't rely on released versions for any production purposes yet. diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.md similarity index 69% rename from CONTRIBUTING.rst rename to CONTRIBUTING.md index f92388f2..86916dec 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.md @@ -1,11 +1,9 @@ -Contributing -============ +# Contributing Bug reports, issues, feature requests, and other contributions are welcome. If you find a demonstrable problem that is caused by the REANA code, please: -1. Search for `already reported problems - `_. +1. Search for [already reported problems](https://github.com/reanahub/reana-ui/issues). 2. Check if the issue has been fixed or is still reproducible on the latest `master` branch. 3. Create an issue, ideally with **a test case**. @@ -13,24 +11,22 @@ a demonstrable problem that is caused by the REANA code, please: If you create a pull request fixing a bug or implementing a feature, you can run the tests to ensure that everything is operating correctly: -.. code-block:: console - - $ ./run-tests.sh +```console +$ ./run-tests.sh +``` Each pull request should preserve or increase code coverage. - We are using Prettier to format our code. In order to use it before a pull request: 1. Install the package from NPM - .. code-block:: console - - $ npm install prettier - + ```console + $ npm install prettier + ``` 2. Style your code - .. code-block:: console - - $ prettier --write **/*.js + ```console + $ prettier --write **/*.js + ``` diff --git a/README.md b/README.md new file mode 100644 index 00000000..1605c665 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# REANA-UI + +[![image](https://github.com/reanahub/reana-ui/workflows/CI/badge.svg)](https://github.com/reanahub/reana-ui/actions) +[![image](https://readthedocs.org/projects/reana-ui/badge/?version=latest)](https://reana-ui.readthedocs.io/en/latest/?badge=latest) +[![image](https://img.shields.io/badge/discourse-forum-blue.svg)](https://forum.reana.io) +[![image](https://img.shields.io/github/license/reanahub/reana-ui.svg)](https://github.com/reanahub/reana-ui/blob/master/LICENSE) +[![image](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) + +## About + +REANA-UI is a component of the [REANA](http://www.reana.io/) reusable and reproducible +research data analysis platform. REANA-UI provides a web interface to review production +and historical workflows. + +## Features + +- Profile page containing REANA access token +- List of personal workflows +- Workflow details page containing logs, files, specification +- GitLab integration to load your workflow repositories +- Cluster health status page + +## Usage + +The detailed information on how to install and use REANA can be found in +[docs.reana.io](https://docs.reana.io). + +## Development + +```console +$ git clone https://github.com/reanahub/reana-ui.git +$ cd reana-ui/reana-ui +$ yarn +$ yarn start # make sure REANA_SERVER_URL env var is set +$ firefox localhost:3000 +``` + +## Yarn scripts + +- `start`: start a development server with live reload +- `build`: build a production-ready bundle in the `build` folder +- `test`: run unit tests +- `lint`: run linter +- `prettier`: check code formatting with `prettier` +- `fmt`: fix formatting problems with `prettier` +- `ci`: run both linter and format checkers, useful before committing changes + +## Useful links + +- [REANA project home page](https://www.reana.io/) +- [REANA user documentation](https://docs.reana.io) +- [REANA user support forum](https://forum.reana.io) +- [REANA-UI releases](https://reana-ui.readthedocs.io/en/latest#changes) +- [REANA-UI docker images](https://hub.docker.com/r/reanahub/reana-ui) +- [REANA-UI developer documentation](https://reana-ui.readthedocs.io/) +- [REANA-UI known issues](https://github.com/reanahub/reana-ui/issues) +- [REANA-UI source code](https://github.com/reanahub/reana-ui) diff --git a/README.rst b/README.rst deleted file mode 100644 index 0ab482c0..00000000 --- a/README.rst +++ /dev/null @@ -1,75 +0,0 @@ -######## -REANA-UI -######## - -.. image:: https://github.com/reanahub/reana-ui/workflows/CI/badge.svg - :target: https://github.com/reanahub/reana-ui/actions - -.. image:: https://readthedocs.org/projects/reana-ui/badge/?version=latest - :target: https://reana-ui.readthedocs.io/en/latest/?badge=latest - -.. image:: https://badges.gitter.im/Join%20Chat.svg - :target: https://gitter.im/reanahub/reana?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge - -.. image:: https://img.shields.io/github/license/reanahub/reana-ui.svg - :target: https://github.com/reanahub/reana-ui/blob/master/LICENSE - -.. image:: https://img.shields.io/badge/code_style-prettier-ff69b4.svg - :target: https://github.com/prettier/prettier - -About -===== - -REANA-UI is a component of the `REANA `_ reusable and -reproducible research data analysis platform. REANA-UI provides a web interface -to review production and historical workflows. - -Features -======== - -- Profile page containing REANA access token -- List of personal workflows -- Workflow details page containing logs, files, specification -- GitLab integration to load your workflow repositories -- Cluster health status page - -Usage -===== - -The detailed information on how to install and use REANA can be found in -`docs.reana.io `_. - -Development -=========== - -.. code-block:: console - - $ git clone https://github.com/reanahub/reana-ui.git - $ cd reana-ui/reana-ui - $ yarn - $ yarn start # make sure REANA_SERVER_URL env var is set - $ firefox localhost:3000 - -Yarn scripts -============ - -- ``start``: start a development server with live reload -- ``build``: build a production-ready bundle in the ``build`` folder -- ``test``: run unit tests -- ``lint``: run linter -- ``prettier``: check code formatting with ``prettier`` -- ``fmt``: fix formatting problems with ``prettier`` -- ``ci``: run both linter and format checkers, useful before committing changes - -Useful links -============ - -- `REANA project home page `_ -- `REANA user documentation `_ -- `REANA user support forum `_ - -- `REANA-UI releases `_ -- `REANA-UI docker images `_ -- `REANA-UI developer documentation `_ -- `REANA-UI known issues `_ -- `REANA-UI source code `_ diff --git a/docs/conf.py b/docs/conf.py index ac9c5fb7..4e580172 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,9 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [] +extensions = [ + "myst_parser", +] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] @@ -43,14 +45,17 @@ # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] -source_suffix = ".rst" +source_suffix = [".rst", ".md"] + +# Allow using ::: in Markdown files +myst_enable_extensions = ["colon_fence"] # The master toctree document. master_doc = "index" # General information about the project. project = "reana" -copyright = "2018-2023, info@reana.io" +copyright = "2018-2024, info@reana.io" author = "info@reana.io" # The version info for the project you're documenting, acts as replacement for diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..47a624bd --- /dev/null +++ b/docs/index.md @@ -0,0 +1,31 @@ +```{include} ../README.md +:end-before: "## About" +``` + +```{include} ../README.md +:start-after: "## About" +:end-before: "## Useful links" +``` + +```{include} ../CHANGELOG.md +:heading-offset: 1 +``` + +```{include} ../CONTRIBUTING.md +:heading-offset: 1 + +``` + +## License + +```{eval-rst} +.. include:: ../LICENSE +``` + +In applying this license, CERN does not waive the privileges and immunities +granted to it by virtue of its status as an Intergovernmental Organization or +submit itself to any jurisdiction. + +```{include} ../AUTHORS.md +:heading-offset: 1 +``` diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 1dae11ff..00000000 --- a/docs/index.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. include:: ../README.rst - :end-before: About - -.. include:: ../README.rst - :start-after: ===== - :end-before: Features - -Features: - -.. include:: ../README.rst - :start-after: ======== - :end-before: Useful links - -.. include:: ../CHANGES.rst - -.. include:: ../CONTRIBUTING.rst - - -License -======= - -.. include:: ../LICENSE - -In applying this license, CERN does not waive the privileges and immunities -granted to it by virtue of its status as an Intergovernmental Organization or -submit itself to any jurisdiction. - -.. include:: ../AUTHORS.rst diff --git a/docs/requirements.txt b/docs/requirements.txt index f5c724b4..9cbc1a74 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -6,4 +6,5 @@ Sphinx>=1.7.5 sphinx-rtd-theme>=0.4.0 -urllib3<2.0.0 \ No newline at end of file +urllib3<2.0.0 +myst_parser