Skip to content

Commit 268054c

Browse files
committed
Merge branch 'master' into master_rt
2 parents c994ea7 + f9741bc commit 268054c

202 files changed

Lines changed: 3312 additions & 856 deletions

File tree

Some content is hidden

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

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Change Log
22

3+
## [2022.01.01](https://github.com/geosolutions-it/MapStore2/tree/v2022.01.01) (2022-05-03)
4+
5+
- **[Full Changelog](https://github.com/geosolutions-it/MapStore2/compare/v2022.01.00...v2022.01.01)**
6+
7+
- **[Implemented enhancements](https://github.com/geosolutions-it/MapStore2/issues?q=is%3Aissue+milestone%3A%22v2022.01.01%22+is%3Aclosed+label%3Aenhancement)**
8+
9+
- **[Fixed bugs](https://github.com/geosolutions-it/MapStore2/issues?q=is%3Aissue+milestone%3A%22v2022.01.01%22+is%3Aclosed+label%3Abug)**
10+
11+
- **[Closed issues](https://github.com/geosolutions-it/MapStore2/issues?q=is%3Aissue+milestone%3A%22v2022.01.01%22+is%3Aclosed)**
12+
313
## [2022.01.00](https://github.com/geosolutions-it/MapStore2/tree/v2022.01.00) (2022-03-16)
414

515
- **[Full Changelog](https://github.com/geosolutions-it/MapStore2/compare/v2021.02.02...v2022.01.00)**

docs/developer-guide/mapstore-migration-guide.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,90 @@ formats:
9191
- '*'
9292
```
9393
94+
### Replacing BurgerMenu with SidebarMenu
95+
There were several changes applied to the application layout, one of them is the Sidebar Menu that comes to replace Burger menu on map viewer and in contexts.
96+
Following actions need to be applied to make a switch:
97+
- Update localConfig.json and add "SidebarMenu" entry to the "desktop" section:
98+
```json
99+
{
100+
"desktop": [
101+
...
102+
"SidebarMenu",
103+
...
104+
]
105+
}
106+
```
107+
- Remove "BurgerMenu" entry from "desktop" section.
108+
109+
#### Updating contexts to use Sidebar Menu
110+
111+
Contents of your `pluginsConfig.json` need to be reviewed to allow usage of new "SidebarMenu" in contexts.
112+
113+
- Find "BurgerMenu" plugin confuguration in `pluginsConfig.json` and remove `"hidden": true` line from it:
114+
115+
```json
116+
{
117+
"name": "BurgerMenu",
118+
"glyph": "menu-hamburger",
119+
"title": "plugins.BurgerMenu.title",
120+
"description": "plugins.BurgerMenu.description",
121+
"dependencies": [
122+
"OmniBar"
123+
]
124+
}
125+
```
126+
127+
- Add `SidebarMenu` entry to the "plugins" array:
128+
129+
```json
130+
{
131+
"plugins": [
132+
...
133+
{
134+
"name": "SidebarMenu",
135+
"hidden": true
136+
}
137+
...
138+
]
139+
}
140+
```
141+
142+
- Go through all plugins definitions and replace `BurgerMenu` dependency with `SidebarMenu`, e.g.:
143+
144+
```json
145+
{
146+
"name": "MapExport",
147+
"glyph": "download",
148+
"title": "plugins.MapExport.title",
149+
"description": "plugins.MapExport.description",
150+
"dependencies": [
151+
"SidebarMenu"
152+
]
153+
}
154+
```
155+
156+
- Also the `StreetView` plugin needs to depend from `SidebarMenu`.
157+
158+
```json
159+
{
160+
"name": "StreetView",
161+
"glyph": "road",
162+
"title": "plugins.StreetView.title",
163+
"description": "plugins.StreetView.description",
164+
"dependencies": [
165+
"SidebarMenu"
166+
]
167+
}
168+
```
169+
170+
94171
## Migration from 2022.01.00 to 2022.01.01
95172

96173
### MailingLists plugin has been removed
97174

98175
`MailingLists` plugin has ben removed from the core of MapStore. This means you can remove it from your `localConfig.json` (if present, it will be anyway ignored by the plugin system).
99176

177+
100178
## Migration from 2021.02.02 to 2022.01.00
101179

102180
This release includes several libraries upgrade on the backend side,

docs/developer-guide/release.md

Lines changed: 64 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -22,55 +22,85 @@ Add an entry in the changelog like this:
2222

2323
Replacing:
2424

25-
- replacing `2018.02.00` with branch name
25+
- replacing `2022.01.00` with branch name
2626
- with current release tag name `v2018.02.00`
27-
- `%222018.02.00%22` with the name of the milestone (`%22` are `"` in the URL to generate a filter like `milestone:"2018.02.00"`)
27+
- `%22v2022.01.00%22` with the name of the milestone (`%22` are `"` in the URL to generate a filter like `milestone:"v2022.01.00"`)
2828

2929
## Release Checklist
3030

31-
```markdown
31+
### naming conventions
32+
33+
**release and tag**
34+
- **vYYYY.XX.mm** name of the release and tag. (e.g. `v2022.01.01`)
35+
- **YYYY** is the year,
36+
- **XX** is the incremental number of the release for the current year (starting from 01)
37+
- **mm** is an incremental value (starting from 00) to increment for minor releases
38+
39+
**stable branch**
40+
- **YYYY.XX.xx** name of stable branch (e.g. `2022.01.xx` )
41+
- **YYYY** is the year
42+
- **XX** is the incremental number of the release for the current year (starting from 01)
43+
- **xx** is the fixed text `xx`
44+
45+
### Release procedure
46+
3247
- [ ] Create an issue with this checklist in the release milestone.
33-
- [ ] Verify if it is needed to release a new version of http-proxy or geostore, and do it if necessary. Instruction for GeoStore [here](https://github.com/geosolutions-it/geostore/wiki/Release-Process)
48+
- [ ] Verify if it is needed to release a new version of http_proxy or geostore, and do it if necessary. Instruction for GeoStore [here](https://github.com/geosolutions-it/geostore/wiki/Release-Process)
49+
- [ ] for geostore, check if [here](https://maven.geo-solutions.it/it/geosolutions/geostore/geostore-webapp/) is present the version specified in the [release calendar 2022](https://github.com/geosolutions-it/MapStore2/wiki/MapStore-Releases-2022)
50+
- [ ] for http_proxy, check if [here](https://mvnrepository.com/artifact/proxy/http_proxy) is present the version specified in the [release calendar 2022](https://github.com/geosolutions-it/MapStore2/wiki/MapStore-Releases-2022)
3451
- [ ] If major release (YYYY.XX.00), create a branch `YYYY.XX.xx` (`xx` is really `xx`, example: 2018.01.xx)
35-
- [ ] If major release,Change [QA Jenkins job](http://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-QA-Build/) to build the new branch, enable the job continuous deploy by updating the `branch` parameter in the build configuration page to `YYYY.XX.xx`
36-
- [ ] Increment version in `package.json`. (as for semantic versioning the major have to be 0 until the npm package has not a stable API).
37-
- [ ] Commit on master 0.<x-incremented>.0
38-
- [ ] Make sure on YYYY.XX.xx we have the 0.x.<number-of-minor-version>
52+
- [ ] If major release, Change [QA Jenkins job](http://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-QA-Build/) to build the new branch, enable the job continuous deploy by updating the `branch` parameter in the build configuration page to `YYYY.XX.xx`
53+
- [ ] Check version in `package.json`. (as for semantic versioning the major have to be 0 until the npm package has not a stable API).
54+
- [ ] Take note of current version of mapstore in `package.json` in master branch, it should be in the form 0.x.0
55+
- [ ] If major release, make pr and merge on master **0.<x-incremented>.0**
56+
- [ ] if minor release, make pr and merge on stable YYYY.XX.xx **0.x.<number-of-minor-version>**
3957
- [ ] Create a milestone on GitHub with the same name of the release (vYYYY.XX.xx)
40-
- [ ] create a temporary label "current release" and assing the label to all the issues of the current zenhub release
41-
- [ ] use the label to filter the issues on github and assign to all the issue the milestone created
42-
- [ ] remove the temporary label "current release"
43-
- [ ] Update `CHANGELOG.md`. [Instructions](https://mapstore.readthedocs.io/en/latest/developer-guide/release/#changelog-generation) - both master and stable
58+
- [ ] assign the label "current-release" to all the issues and Prs of the current zenhub release
59+
- [ ] use the label to filter the issues on github and assign to all the issues and Prs the milestone created
60+
- [ ] remove assignments of "current-release"
61+
- [ ] Prepare PR for updating `CHANGELOG.md` for **master** and **stable** [Instructions](https://mapstore.readthedocs.io/en/latest/developer-guide/release/#changelog-generation)
4462
- [ ] Fix `pom.xml` dependencies stable versions ( no `-SNAPSHOT` usage release).
4563
- [ ] Update the version of java modules on the stable branch to a stable, incremental version.
46-
- [ ] Run `mvn versions:set -DnewVersion=<VERSION> -DprocessAllModules -DgenerateBackupPoms=false` to update package version, where <VERSION> is the version of the java packages (e.g. `1.2.2`).
64+
- [ ] Run `mvn release:update-versions -DdevelopmentVersion=<VERSION> -Pprinting,printingbundle,release`
65+
to update package version, where <VERSION> is the version of the java packages (e.g. `1.2.2`).
4766
- [ ] Manually update project pom templates to use `mapstore-services` of `<VERSION>`
48-
- [ ] Release a stable `mapstore-services`. (from `2022.01.xx` also mapstore-webapp should be deployed for new project system and product).
67+
- [ ] Release a stable `mapstore-services`. (from `2022.01.xx` also mapstore-webapp (java/web) should be deployed for new project system).
68+
- [ ] Use `mvn clean install deploy -f java/pom.xml` to deploy `mapstore-services` and `mapstore-webapp`.
4969
- [ ] create on [ReadTheDocs](https://readthedocs.org/projects/mapstore/) project the version build for `YYYY.XX.xx` (click on "Versions" and activate the version of the branch)
5070
- [ ] Test on QA [https://qa-mapstore.geosolutionsgroup.com/mapstore/](https://qa-mapstore.geosolutionsgroup.com/mapstore/)
51-
* Any fix must be done on **YYYY.XX.mm**. The fixes will be manually merged on master
71+
* Any fix must be done on **YYYY.XX.xx**. The fixes will be manually merged on master
5272
* Test **everything**, not only the new features
53-
- [ ] Test [Binary](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-QA-Build/ws/release/target/) (take the mapstore2-QA-<RELEASE_BRANCH>-bin.zip)
54-
- [ ] Lunch the [stable deploy](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Stable/) to install the latest stable version on official demo
73+
* Test the creation of a standard project starting in from the stable branch and with the internal backend, so `npm run backend` and `npm start`, then check that an empty homepage loads correctly
74+
- [ ] Test [Binary](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-QA-Build-NEW/) (take the mapstore2-QA-<RELEASE_BRANCH>-bin.zip, from latest build)
75+
- [ ] Lunch the [stable deploy](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Stable/) to install the latest stable version on official demo, remember to change version to **YYYY.XX.mm**
5576
- [ ] Manually edit the `localConfig.json` on mapstore.geosolutionsgroup.com to fit the authkey for production (change from `authkey-qa` to `authkey-prod`)
77+
- [ ] `ssh geosolutions@mapstore.geosolutionsgroup.com`
78+
- [ ] `sudo su`
79+
- [ ] `vim /var/lib/tomcats8/mapstore2_release/webapps/mapstore/configs/localConfig.json`
5680
- [ ] to test the change has been applied, login on mapstore.geosolutionsgroup.com and verify that the layers from `gs-stable` are visible without errors (typically authentication errors that was caused by the wrong auth-key).
57-
- [ ] Commit the changelog to the stable branch
58-
- [ ] Create a [github draft release](https://github.com/geosolutions-it/MapStore2/releases) pointing to the branch **YYYY.XX.mm**.
59-
> The Release name should follow be named YYYY.XX.mm where YYYY is the year, XX is the incremental number of the release for the current year (starting from 01) and the second number mm is an incremental value (starting from 00) to increment for minor releases. Insert the tag vYYYY.XX.mm (**notice the initial 'v' for the tag**) and set the target branch as YYYY.XX.xx to create the tag when the release is published. In the release description describe the major changes and link the Changelog paragraph.
60-
- [ ] Launch [MapStore2-Releaser](https://build.geo-solutions.it/jenkins/job/MapStore2-Releaser/) Jenkins job setting up the correct name of the version and the branch to build (**and wait the end**). **Note:** Using the MapStore2 Releaser allows to write the correct version number into the binary packages.
61-
- [ ] Get the [latest mapstore.war](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/product/target/mapstore.war) from the Releaser Jenkins build
62-
- [ ] Get the [latest mapstore2-YYYY.XX.mm-bin.zip](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/release/target/) from the Releaser Jenkins build
63-
> from the job [configuration page](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/) there is a link to access the job workspace to easily download the built WAR and binary package
64-
- [ ] Download `mapstore-printing.zip` [here](http://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/java/printing/target/mapstore-printing.zip) from the Releaser Jenkins build workspace
65-
- [ ] Check that the printing plugin is missing in the binary package to release
66-
- [ ] Remove manually from localConfig the entry for authentication to gs-stable from binary and war packages.
67-
- [ ] Upload the updated binary, the war package and `mapstore-printing.zip` on github release
68-
- [ ] Publish the release
81+
- [ ] Commit the changelog to the stable branch **YYYY.XX.xx**
82+
- [ ] Create a [github draft release](https://github.com/geosolutions-it/MapStore2/releases)
83+
- [ ] `branch` **YYYY.XX.xx**
84+
- [ ] `tag` **vYYYY.XX.mm** (create a new tag from UI after entering this value)
85+
- [ ] `release` name equal to tag **vYYYY.XX.mm**
86+
- [ ] `description` describe the major changes and add links of the Changelog paragraph.
87+
- [ ] Launch [MapStore2-Releaser](https://build.geo-solutions.it/jenkins/job/MapStore2-Releaser/) Jenkins job with **YYYY.XX.mm** for the version and **YYYY.XX.xx** for the branch to build and **wait the end**). **Note:** Using the MapStore2 Releaser allows to write the correct version number into the binary packages.
88+
- [ ] Get the [latest mapstore.war](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/product/target/mapstore.war) from the Releaser Jenkins build
89+
- [ ] Get the [latest mapstore2-YYYY.XX.mm-bin.zip](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/release/target/) from the Releaser Jenkins build
90+
> from the job [configuration page](https://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/) there is a link to access the job workspace to easily download the built WAR and binary package
91+
- [ ] Download `mapstore-printing.zip` [here](http://build.geo-solutions.it/jenkins/view/MapStore2/job/MapStore2-Releaser/ws/java/printing/target/mapstore-printing.zip) from the Releaser Jenkins build workspace
92+
- [ ] Check that the printing plugin is missing in the binary package to release
93+
- [ ] Remove manually from `localConfig.json` the entry for authentication to gs-stable from binary and war packages.
94+
- [ ] Upload the updated binary, the war package and `mapstore-printing.zip` on github release
95+
- [ ] Publish the release
6996
- [ ] create on [ReadTheDocs](https://readthedocs.org/projects/mapstore/) project the version build for `vYYYY.XX.mm` (click on "Versions" and activate the version of the tag, created when release was published)
70-
- [ ] Port needed commits to master branch (Changelog changes, docs changes...)
71-
- [ ] Reset versions of java modules to `-SNAPSHOT`. the command is `mvn versions:set -DnewVersion=<SNAPSHOT_VERSION> -DprocessAllModules -DgenerateBackupPoms=false` where `<SNAPSHOT_VERSION>` is the version to set. (e.g. 1.2-SNAPSHOT).
97+
- [ ] Prepare a PR towards master branch **YYYY.XX.xx** in order to reset versions of java modules to `-SNAPSHOT`
98+
- `mvn versions:set -DnewVersion=<SNAPSHOT_VERSION> -DprocessAllModules -DgenerateBackupPoms=false`
99+
where `<SNAPSHOT_VERSION>` is the version to set. (e.g. 1.2-SNAPSHOT).
100+
make sure that only mapstore-services has changed
101+
72102
- [ ] [Create a draft release](https://github.com/geosolutions-it/MapStoreExtension/releases/new) for https://github.com/geosolutions-it/MapStoreExtension with the same name and tag
73-
- [ ] target of the release is master branch
103+
- [ ] target of the release is **master** branch
74104
- [ ] tag is **vYYYY.XX.mm**
75105
- [ ] Update revision of mapstore to the release tag **vYYYY.XX.mm**
76106
- [ ] [run the build](https://github.com/geosolutions-it/MapStoreExtension#build-extension) locally and attach to the release the file `SampleExtension.zip` from the `/dist` folder
@@ -79,8 +109,8 @@ Replacing:
79109
- [ ] Publish the release
80110
- [ ] Create a blog post
81111
- [ ] Write to the mailing list about the current release news and the next release major changes
82-
- [ ] Update the release procedure if needed.
112+
- [ ] Optional - prepare a PR for updating release procedure
83113
- [ ] Close this issue
84-
- [ ] Close the related milestone
114+
- [ ] Close the related milestone **vYYYY.XX.mm**
85115

86116
```

docs/user-guide/attributes-table.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,35 @@ Once a new record is created, it's possible to draw a geometry for it, by clicki
7676

7777
<img src="../img/attributes-table/drawing-line-shape.gif" class="ms-docimage"/>
7878

79-
For *Points* layers a point is drawn for each click on the map
79+
* For *Points* layers a point is drawn for each click on the map
8080

8181
<img src="../img/attributes-table/drawing-point-shape.gif" class="ms-docimage"/>
8282

8383
The user is always allowed to delete the drawn shape through the <img src="../img/button/delete-geometry-button.jpg" class="ms-docbutton"/> button.
8484

85+
#### Create new geometry with Snapping
86+
87+
To fine tune the vertex position while editing or creating a new feature geometry, it is possible to leverage on the Snapping functionality. Through this function <img src="../img/button/snapping.jpg" class="ms-docbutton"/> it is possible to snap to other vertices of features belonging to the same layer or to others while editing a feature.
88+
89+
<img src="../img/attributes-table/add-new-snapping-geometry.gif" class="ms-docimage"/>
90+
91+
The tool provides the ability to tune the snapping function so that the user can:
92+
93+
* Choose one of the visible map layers in TOC to be used for the snapping
94+
95+
<img src="../img/attributes-table/snap-new-layer.gif" class="ms-docimage"/>
96+
97+
* Choose where to snap the layer, enabling/disabling the **Edge** or/and the **Vertex**
98+
99+
* Set **Tolerance** for considering the pointer close enough to a segment or vertex for snapping
100+
101+
* Choose the **Loading strategy** of features to snap with by choosing one of the available options from the dropdown menu. Available options are:</p>
102+
- *bbox*: only features in the current viewport are loaded</p>
103+
- *all*: all layer features are loaded
104+
105+
!!! note
106+
The snapping functionality is by default set to work with the same layer in editing mode. By default, the **Edge** and the **Vertex** are enabled, the **Tolerance** is set to 10 `pixel` and the **Loading strategy** is set to *bbox*.
107+
85108
### Editing and removing existing features
86109

87110
In order to edit an existing feature, it is necessary to switch the Attribute Table in editing mode by clicking the *Edit mode* <img src="../img/button/editing-button.jpg" class="ms-docbutton"/> button. If the goal is to edit the Attribute Table records, the user can simply select them and type the desired value into the input field. However, it is also possible to modify the geometry associated with a record by editing it on the map (adding or changing its vertices).

0 commit comments

Comments
 (0)