Skip to content

Commit 50bd873

Browse files
authored
Merge pull request #2657 from Open-MSS/merge_develop_to_stable
v10 next major release
2 parents 217649e + 7cb685b commit 50bd873

File tree

154 files changed

+36127
-31323
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+36127
-31323
lines changed

AUTHORS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ in alphabetic order by first name
77
- Andreas Hilboll <[email protected]>
88
- Anveshan Lal <[email protected]>
99
- Aravind Murali <[email protected]>
10+
- Aryan Gupta <[email protected]>
1011
- Christian Rolf <[email protected]>
1112
- Debajyoti Dasgupta <[email protected]>
1213
- Hrithik Kumar Verma <[email protected]>
@@ -18,6 +19,7 @@ in alphabetic order by first name
1819
- Matthias Riße <[email protected]>
1920
- May Bär <[email protected]>
2021
- Nilupul Manodya <[email protected]>
22+
- Preetam Sundar Das <[email protected]>
2123
- Reimar Bauer <[email protected]>
2224
- Rishabh Soni <[email protected]>
2325
- Sakshi Chopkar <[email protected]>

CHANGES.rst

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,65 @@
11
Changelog
22
=========
33

4+
Version 10.0.0
5+
~~~~~~~~~~~~~~
6+
Aryan Gupta has implemented during GSoC2024 several enhancements to improve communication efficiency within MSColab.
7+
Users can now personalize their MSColab experience by adding a profile image.
8+
The chat system has been enhanced with separate channels dedicated to service messages,
9+
which provide more granular details on collaborator actions, such as
10+
"waypoint {num} moved" or "created hexagon." Visual indicators show which users are currently
11+
active in the chat, displayed beneath their profile images. Additionally,
12+
the MSUI now displays the number of users actively working on a selected operation.
13+
These enhancements aim to provide a more intuitive and efficient communication experience for all MSColab users.
14+
15+
Preetam Sundar Das enhanced during GSoC2024 the mssautoplot CLI Script by integrating an Autoplot Docking Widget,
16+
significantly extending its functionality. This new addition offers a comprehensive Graphical User Interface (GUI),
17+
providing users with additional features and flexibility to manage and customize their
18+
plot downloads effortlessly. The widget is seamlessly accessible across all
19+
three views (Top View, Side View, and Linear View) ensuring that users can configure
20+
their plots from any perspective that best suits their workflow.
21+
This enhancement not only simplifies the plotting process but also enhances usability
22+
by allowing users to interact with their plot settings in a visual, user-friendly manner.
23+
24+
Rohit Prasad significantly improved during GSoC2024 the Multiple Flightpath Docking Widget with several key features:
25+
He added Select/Deselect All checkboxes for managing multiple tracks quickly,
26+
along with controls to adjust line thickness, style, and transparency of flight track lines.
27+
Additionally, he implemented an automatic distinct color selection feature.
28+
This ensures each new flight track is easily distinguishable by assigning unique colors from
29+
a predefined list, eliminating confusion caused by overlapping or similar-colored flight paths.
30+
Prasad also introduced customization options for flight track lines in both the
31+
Side View and Top View Option Widgets. Users can now adjust line thickness, style, and transparency,
32+
with their preferences saved for future use.
33+
Furthermore, he enhanced user experience by introducing a new custom color palette that provides visually
34+
distinct colors. This makes it easier to differentiate between multiple flight paths,
35+
improving both functionality and aesthetics of the application.
36+
37+
Matthias Riße implemented a new database migration setup for MSColab,
38+
transitioning from versions 8 or 9 to the latest versions (v10 onwards).
39+
He also enhanced both the Continuous Integration (CI) setup and developer installation process.
40+
These improvements have resulted in a more efficient and reproducible CI environment
41+
while simplifying developer installations.
42+
By adopting pixi (prefix-dev), the project can now manage dependencies more effectively,
43+
ensuring that both local development environments and the CI environment are consistent.
44+
This alignment leads to fewer errors, faster updates, and an overall smoother workflow.
45+
46+
Jörn Ungermann reorganized the archive of operations and enhanced the request processes for MSColab Operations.
47+
48+
Reimar Bauer made several improvements to the handling of operations in both MSUI and MSColab.
49+
50+
HINT:
51+
~~~~~
52+
The MSColab database migration process has been updated.
53+
Please follow the steps outlined in our documentation.
54+
Additionally, we have modified the installation process by introducing pixi (prefix-dev).
55+
Pixi packages can coexist with both Anaconda default and Miniforge3 conda-forge packages.
56+
However, it is important to note that Anaconda's default channel is incompatible with conda-forge.
57+
The MSColab Server model has been updated, and it now requires an MSUI of the same version to function correctly.
58+
However, the compatibility with the MSWMS Server remains unchanged.
59+
60+
All changes:
61+
https://github.com/Open-MSS/MSS/milestone/103?closed=1
62+
463

564
Version 9.3.1
665
~~~~~~~~~~~~~

README.md

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,65 +12,71 @@ into the right direction in order to get the software working on your
1212
computer.
1313

1414

15-
Installing MSS
16-
==============
15+
## Installing MSS
1716

18-
Automatically
19-
-------------
17+
We distinguish between Developer and User installations.
2018

21-
- For **Windows**, go [here](https://github.com/Open-MSS/mss-install/blob/main/Windows.bat?raw=1)
22-
- Right click on the webpage and select "Save as..." to download the file
23-
- Double click the downloaded file and follow further instructions
24-
- For fully automatic installation, open cmd and execute it with `/Path/To/Windows.bat -a`
25-
- For **Linux/Mac**, go [here](https://github.com/Open-MSS/mss-install/blob/main/LinuxMac.sh?raw=1)
26-
- Right click on the webpage and select "Save as..." to download the file
27-
- Make it executable via `chmod +x LinuxMac.sh`
28-
- Execute it and follow further instructions `./LinuxMac.sh`
29-
- For fully automatic installation, run it with the -a parameter `./LinuxMac.sh -a`
19+
### Developer Installation
20+
Please read our [contributing](https://open-mss.github.io/contributing/) pages.
21+
and [development](https://mss.readthedocs.io/en/stable/development.html) guidelines
3022

31-
Manually
32-
--------
23+
### User Installation
3324

34-
As **Beginner** start with an installation of Miniforge
35-
Get [miniforge](https://github.com/conda-forge/miniforge#download) for your Operation System
25+
Get **pixi** from https://pixi.sh/latest/ for your operation system.
3626

27+
You can now decide if you want to install **mss** as global or a project.
3728

38-
You must install mss into a new environment to ensure the most recent
39-
versions for dependencies (On the Anaconda Prompt on Windows, you have
40-
to leave out the 'source' here and below).
29+
#### Global installation
30+
You can install **mss** global without defining a project first.
31+
This method is practical when you are interested in starting the client
32+
and don't need server configurations.
4133

42-
```
43-
$ mamba create -n mssenv
44-
$ mamba activate mssenv
45-
(mssenv) $ mamba install mss python
46-
```
47-
For updating an existing MSS installation to the current version, it is
48-
best to install it into a new environment. If an existing environment
49-
shall be updated, it is important to update all packages in this
50-
environment.
34+
pixi global install mss
5135

52-
```
53-
$ mamba activate mssenv
54-
(mssenv) $ msui --update
55-
```
36+
#### Usage
5637

57-
It is possible to list all versions of `mss` available on your platform with:
38+
msui
39+
mswms -h
40+
mscolab -h
41+
mssautoplot -h
5842

59-
```
60-
$ mamba search mss --channel conda-forge
61-
```
6243

63-
For a simple test you can setup a demodata wms server and start a msolab server with default settings
44+
##### Updating
6445

65-
```
66-
(mssenv) $ mswms_demodata --seed
67-
(mssenv) $ export PYTHONPATH=~/mss
68-
(mssenv) $ mswms &
69-
(mssenv) $ mscolab start &
70-
(mssenv) $ msui
71-
```
46+
pixi global update mss
7247

48+
#### Project installation
49+
Initialize a new project and navigate to the project directory.
7350

51+
pixi init MSS
52+
cd MSS
53+
54+
Use the shell command to activate the environment and start a new shell in there.
55+
56+
pixi shell
57+
58+
Add the **mss** dependencies from conda-forge.
59+
60+
(MSS) pixi add mss
61+
62+
##### Usage
63+
Always when you want to start **mss** programs you have after its installation
64+
to activate the environment by pixi shell in the project dir.
65+
On the very first start of **msui** it takes a bit longer because it setups fonts.
66+
67+
cd MSS
68+
pixi shell
69+
70+
(MSS) msui
71+
(MSS) mswms -h
72+
(MSS) mscolab -h
73+
(MSS) mssautoplot -h
74+
75+
##### Updating
76+
77+
cd MSS
78+
pixi shell
79+
(MSS) pixi update mss
7480

7581

7682
Current release info

conftest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ def generate_initial_config():
111111
root_fs.makedir('colabTestData')
112112
BASE_DIR = ROOT_DIR
113113
DATA_DIR = fs.path.join(ROOT_DIR, 'colabTestData')
114-
# mscolab data directory
115-
MSCOLAB_DATA_DIR = fs.path.join(DATA_DIR, 'filedata')
116-
MSCOLAB_SSO_DIR = fs.path.join(DATA_DIR, 'datasso')
114+
# mscolab data directory for operation git repositories
115+
OPERATIONS_DATA = fs.path.join(DATA_DIR, 'filedata')
116+
SSO_DIR = fs.path.join(DATA_DIR, 'datasso')
117117
118118
# In the unit days when Operations get archived because not used
119119
ARCHIVE_THRESHOLD = 30

docs/autoplot_dock_widget.rst

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
mssautoplot - UI Setup
2+
======================
3+
4+
Autoplot Docking Widget
5+
-----------------------
6+
7+
**Autoplot Dockwidget Description:**
8+
The Docking Widget offers users a Graphical User Interface (GUI) for downloading plots based on specified configurations. It provides a user-friendly approach, integrating seamlessly with other dock widgets. This widget can be accessed across all three views—Top View, Side View, and Linear View—ensuring flexibility and ease of use for different user preferences.
9+
10+
**Components:**
11+
12+
The autoplot docking widget contains the following parameters which can be configured:
13+
14+
- **Select configuration file button**: This button is used to select the JSON file for uploading the configurations to the dock widget. By default, it uses the `mssautoplot.json` file located in this path - `$HOME/.config/msui`.
15+
16+
- **Left Treewidget**: The following parameters can be configured or updated based on requirements:
17+
18+
- Flight
19+
- Map Sections
20+
- Vertical
21+
- Filename
22+
- Initial Time
23+
- Valid Time
24+
25+
- **Right Treewidget**: The following parameters can be configured or updated:
26+
27+
- URL
28+
- Layers
29+
- Styles
30+
- Level
31+
- Start Time
32+
- End Time
33+
- Time Interval
34+
35+
- **ComboBoxes**: These allow configuring the start time, end time, and time interval. Ensure that the start time is always less than the end time. The plots are downloaded from the start time to the end time at the provided time intervals.
36+
37+
- **Download Plots Button**: This button is used to download plots based on the configurations. The configuration is saved in the `mssautoplot.json` file by default, located at `$HOME/.config/msui`.
38+
39+
- **Update/Create JSON file**: This button will create or update the JSON file. If not present, it will update the default `mssautoplot.json` file located at `$HOME/.config/msui`.
40+
41+
How to Use
42+
----------
43+
44+
The `mssautoplot.json` file located in the `$HOME/.config/msui` directory contains the default configuration.
45+
46+
The **left treewidget** is used to configure the automated plotting flights list:
47+
48+
.. code-block:: json
49+
50+
"automated_plotting_flights":
51+
[
52+
["flight1", "section1", "vertical1", "filename1", "init_time1", "time1"],
53+
["flight2", "section2", "vertical2", "filename2", "init_time2", "time2"]
54+
]
55+
56+
- Flight, filename, and section parameters are configured in the **Top View**.
57+
- The vertical parameter is configured in the **Side View**.
58+
59+
The **right treewidget** is used to configure the automated plotting flight sections, which are based on the view:
60+
61+
- For **Top View**, it is `"automated_plotting_hsecs": [["URL", "Layer", "Styles", "Level"]]`.
62+
- For **Side View**, it is `"automated_plotting_vsecs": [["URL", "Layer", "Styles", "Level"]]`.
63+
- For **Linear View**, it is `"automated_plotting_lsecs": [["URL", "Layer", "Styles"]]`.
64+
65+
Inserting, Updating, and Removing Configuration in the Treewidget
66+
-----------------------------------------------------------------
67+
68+
There are three buttons— **Add**, **Update**, and **Remove**—under each treewidget:
69+
70+
- **Add Button**: Inserts a row based on the current configurations.
71+
72+
- For the left treewidget, the current values of flight, section, vertical, filename, init_time, and time are inserted.
73+
- For the right treewidget, the current values of URL, Layers, Styles, Level, Start Time, End Time, and Time Interval are inserted.
74+
75+
- **Remove Button**: Removes the selected row.
76+
77+
- **Update Button**: Updates the selected row with the current values (only active after selecting a row).
78+
79+
Ensure that the **right tree widget** has at least one row before inserting into the left treewidget.
80+
81+
Downloading the Plots
82+
---------------------
83+
84+
Plots can be downloaded in the following ways:
85+
86+
1. Upload the configuration JSON file by clicking the **Select configuration file** button, then click the **Download Plots** button to download the plots.
87+
2. Upload the configuration JSON file by clicking the **Select configuration file** button, then make modifications as needed.
88+
3. Download plots with or without flight track from start time to end time at specified time intervals. This ensures that a total of `M x N` plots are downloaded, where `M` is the number of rows in the left treewidget and `N` is the number of rows in the right treewidget.
89+
90+
Example
91+
-------
92+
93+
An `mssautoplot.json` file generated after clicking the **Update/Create Configuration file Button** in the path, e.g. “$HOME/.config/msui” by default:
94+
95+
**/$HOME/.config/msui/mssautoplot.json**
96+
97+
.. literalinclude:: samples/config/msui/autoplot_dockwidget.json.sample

docs/components.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _components:
2+
13
Components
24
==========
35

@@ -10,5 +12,6 @@ Components
1012
mscolab
1113
gentutorials
1214
mssautoplot
15+
autoplot_dock_widget
1316
conf_sso_test_msscolab
1417
sso_via_saml_mscolab

docs/conf.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,11 @@
1414
import os
1515
import sys
1616
import setuptools
17-
import subprocess
1817
import requests
1918
import zipfile
2019
import shutil
2120
import pathlib
2221

23-
from string import Template
24-
2522

2623
def get_tutorial_images():
2724
TUTORIAL_URL = "https://fz-juelich.sciebo.de/s/KcF29hPNRzkxN6q/download"
@@ -153,20 +150,6 @@ def get_tutorial_images():
153150
# The full version, including alpha/beta/rc tags.
154151
release = __version__
155152

156-
# Replace $variables in the .rst files if on a readthedocs worker
157-
if "/home/docs/checkouts" in " ".join(sys.argv):
158-
mss_search = subprocess.run(["conda", "search", "-c", "conda-forge", "mss"], stdout=subprocess.PIPE,
159-
stderr=subprocess.STDOUT, encoding="utf8").stdout
160-
# mss_search is inside a code block, reflect indentation
161-
mss_search = (" " * 3).join([line for line in mss_search.splitlines(True) if line.startswith("mss ")][-2:])
162-
163-
for file in os.listdir():
164-
if file.endswith(".rst"):
165-
with open(file, "r") as rst:
166-
content = Template(rst.read())
167-
with open(file, "w") as rst:
168-
rst.write(content.safe_substitute(mss_version=version, mss_search=mss_search))
169-
170153
# The language for content autogenerated by Sphinx. Refer to documentation
171154
# for a list of supported languages.
172155
#

docs/conf_sso_test_msscolab.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@ To set up a local identity provider with the mscolab server, you'll first need t
3030
----------------
3131
Before getting started, you should correctly activate the environments, set the correct Python path as explained in the mss instructions : https://github.com/Open-MSS/MSS/tree/develop#readme
3232

33+
Setup your
3334

35+
**msidp_settings.py**
36+
37+
.. literalinclude:: samples/config/msidp/msidp_settings.py.sample
38+
39+
.. _configuration-mscolab:
3440

3541
2. Generate Keys, Certificates, and backend_saml files
3642
------------------------------------------------------

0 commit comments

Comments
 (0)