From fcd56310043433337d8e8aec1c29e64be917ca34 Mon Sep 17 00:00:00 2001 From: thiagowhispher Date: Wed, 16 Dec 2020 08:24:28 -0300 Subject: [PATCH] Added docs folder --- docs/Makefile | 19 +++ docs/build/doctrees/README.doctree | Bin 0 -> 17156 bytes docs/build/doctrees/environment.pickle | Bin 0 -> 11256 bytes docs/make.bat | 35 +++++ docs/source/README.md | 102 ++++++++++++++ docs/source/conf.py | 178 +++++++++++++++++++++++++ 6 files changed, 334 insertions(+) create mode 100644 docs/Makefile create mode 100644 docs/build/doctrees/README.doctree create mode 100644 docs/build/doctrees/environment.pickle create mode 100644 docs/make.bat create mode 100644 docs/source/README.md create mode 100644 docs/source/conf.py diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..69fe55e --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/docs/build/doctrees/README.doctree b/docs/build/doctrees/README.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e383a819f0ce8cd2ca65352b24b75e488fb1ccbf GIT binary patch literal 17156 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..f1a49379f6bbccbc00e0da4a9a670764f971c5b4 GIT binary patch literal 11256 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 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% + +:end +popd diff --git a/docs/source/README.md b/docs/source/README.md new file mode 100644 index 0000000..1467584 --- /dev/null +++ b/docs/source/README.md @@ -0,0 +1,102 @@ +# Install and Configure Dashboard + +The SAPS Dashboard component is a graphical web interface which allow SAPS users to: +- submit new tasks; +- track the progress of submittted tasks; +- download successful tasks. + +## Dependencies + +In an apt-based Linux distro, type the below commands to install the Dashboard dependencies. + +```bash +sudo apt-get update +sudo apt-get install -y curl +curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - +sudo apt-get install -y nodejs +``` + +In addition to the installation of the above Linux packages, the Dashboard source code should be fetched from its repository and compiled. This could be done following the below steps: + +```bash +# saps-dashboard repository +git clone https://github.com/ufcg-lsd/saps-dashboard.git +cd saps-dashboard +npm install +``` + +## Configure + +Edit the following files: +- [Backend configuration file](https://github.com/ufcg-lsd/saps-dashboard/blob/develop/backend.config) allows the communication with the SAPS catalog. Change the ```$dashboard_access_port``` to assign the port you want to use to access the dashboard graphical interface and change the ```$catalog_ip_address``` to assign the SAPS Catalog ip address. + +```json +{ + "logLevel": "DEBUG", + "port": $dashboard_access_port, + "devMode": true, + "saps":{ + "host" : $catalog_ip_address, + "port" : 8091, + "getImagesEndpoint" : "/images" + }, + "sattelities":[ + {"name":"sat4","sigla":"L4"}, + {"name":"sat5","sigla":"L5"}, + {"name":"sat7","sigla":"L7"} + ] +} +``` + +- [SAPS Scripts](https://github.com/ufcg-lsd/saps-dashboard/blob/develop/public/dashboardApp.js) to make available new versions of the algorithms, for the three steps of the SAPS workflow (input downloading, preprocessing and processing). Any new algorithm should be packed as a docker image. See below an example on how to specify the algorithms: + +```javascript +let scriptsTags = +{ + "inputdownloading":[ + { + "name": "$name_inputdownloading_option1", + "docker_tag": "$docker_tag_inputdownloading_option1", + "docker_repository": "$docker_repository_inputdownloading_option1" + } + ], + "preprocessing":[ + { + "name": "$name_preprocessing_option1", + "docker_tag": "$docker_tag_preprocessing_option1", + "docker_repository": "$docker_repository_preprocessing_option1" + } + ], + "processing":[ + { + "name": "$name_processing_option1", + "docker_tag": "$docker_tag_processing_option1", + "docker_repository": "$docker_repository_processing_option1" + }, + { + "name": "$name_processing_option2", + "docker_tag": "$docker_tag_processing_option2", + "docker_repository": "$docker_repository_processing_option2" + } + ] +}; +``` +**Note: The SAPS scripts configured here must be the same as the Dispatcher component and Scheduler component** + +- [SAPS Dispatcher Service URL](https://github.com/ufcg-lsd/saps-dashboard/blob/develop/public/dashboardApp.js) allows the communication with the SAPS dispatcher. Assing the dispatcher address (```http://$dispatcher_access_ip:$dispatcher_access_port/```) into the ```urlSapsService``` property. + +**Note: The ```$dispatcher_access_port``` must be the same as the ```submission_rest_server_port``` property in the [Dispatcher component configuration file](https://github.com/ufcg-lsd/saps-engine/blob/develop/config/dispatcher.conf)** + +## Run + +Once the configuration file is edited, the below commands are used to start and stop the Dashboard component. + +```bash +# Start command +bash bin/start-dashboard +``` + +```bash +# Stop command +bash bin/stop-dashboard +``` diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..585e648 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,178 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = u'SAPS dashboard' +copyright = u'2020, Thiago Yuri' +author = u'Thiago Yuri' + +# The short X.Y version +version = u'' +# The full version, including alpha/beta/rc tags +release = u'0.0.1' + + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'recommonmark' +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.md' + +# The master toctree document. +master_doc = 'README' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = None + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'SAPSdashboarddoc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'SAPSdashboard.tex', u'SAPS dashboard Documentation', + u'Thiago Yuri', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'sapsdashboard', u'SAPS dashboard Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'SAPSdashboard', u'SAPS dashboard Documentation', + author, 'SAPSdashboard', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + + +# -- Extension configuration -------------------------------------------------