Skip to content

georchestra/mapstore2-georchestra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

39f26ae · Mar 6, 2023
Jan 18, 2023
Oct 20, 2022
Jan 28, 2021
Sep 13, 2022
Feb 26, 2021
Feb 27, 2020
Apr 29, 2022
Nov 12, 2019
Dec 14, 2022
Apr 29, 2022
Jan 14, 2022
Mar 6, 2023
Sep 5, 2019
Apr 22, 2022
Nov 26, 2021
Sep 12, 2022
Oct 18, 2019
Nov 3, 2020
Apr 20, 2022
Sep 5, 2019
Sep 14, 2022
Sep 12, 2022
Sep 12, 2022
Oct 3, 2019
Sep 12, 2022
Sep 12, 2022
Sep 12, 2022
Sep 12, 2022
Sep 12, 2022
Sep 12, 2022
Nov 2, 2020
Sep 12, 2022
Sep 12, 2022
Mar 11, 2020
May 5, 2020
Dec 3, 2019
Sep 12, 2022
Mar 6, 2023
Apr 22, 2022
Apr 11, 2022
Sep 5, 2019
Oct 18, 2019
Sep 12, 2022
Jan 11, 2023
Apr 22, 2022

Repository files navigation

geOrchestra

MapStore Project for geOrchestra

Documentation: https://docs.georchestra.geo-solutions.it/ (domain will change)

See https://georchestra.geo-solutions.it/ (work in progress)

Building and install the project

Prerequisite

1. Clone the repository

git clone --recursive https://github.com/georchestra/mapstore2-georchestra.git

2. Install NodeJS

  • Suggested NodeJS 12.x, npm 6.x.
  • Minimal version : NodeJS >= 10, npm >= 6.
  • NodeJS > 14.x is not currently supported

⚠️ For minimal you may need to increase used memory limits.

To get more informations about nodejs install :

  • Instructions to install Nodejs from package manager : here
  • Download source : here
  • Download a specific version : here

3. Install Java SDK

Install Java SDK, if needed. Java 1.8, 9 and 11 are supported.

You can download them from :

4. Install Maven

Install latest Maven, if needed, from here (version 3.5.2 is required).

Build

Build the deployable war :

cd mapstore2-georchestra
./build.sh [version_identifier]

Where version_identifier is an optional identifier of the generated war that will be shown in the settings panel of the application.

Publish

Deploy the generated mapstore.war file (in web/target) to your favorite J2EE container (e.g. Tomcat).

Tomcat versions 7.x, 8.x and 9.x are supported. The latest of each can be donwloaded from:

Building the documentation

To build the documentation you need sphinx and some extensions (sphinx_rtd_theme and recommonmark), you can install using pip :

pip install sphinx_rtd_theme
pip install recommonmark

Now, you can build html documentation using :

cd docs # enter in the docs folder
make html # create html documentation

Versioning

MapStore2-geOrchestra and MapStore2 versions(stable branch name) are added to version.txt one below the other (order is strictly followed)

Example:

version-mp2-georchestra
version-mp2

Release procedure

All developments land in master branch first and releases will be created from a stable branch. As soon as a new major version is ready to be released (developments on master are completed and tested) a new stable branch will be created from master (YYYY.MM.xx, eg. 2022.02.xx). That naming convention has been agreed because typically a stable branch in mapstore2-georchestra refers to the corresponding one in MapStore.

As well as for the master branch, each stable branch should always report inside the version.txt file its name and the name of the corresponding stable MapStore branch: the first line of the file indicate the name of the project branch while the second the corresponding MapStore stable branch name used as dependency.

Given a stable branch in mapstore2-georchestra, further minor releases of the same series (e.g. 2022.02) are delivered from it (e.g. 2022.02.01-geOrchestra). Even if it can be recommended, the MapStore submodule revision can be updated as well or not necessarily according to the project needs. At each release or release candidate the first line of the version.txt is updated with the tag name and restored to the previous version after the tag generation.

All the releases are first delivered as release candidates, turned into release after acceptance.

Creating release candidate:

  • Given a stable branch in mapstore2-georchestra, update the first line of the version.txt file reporting the version (tag name) that is going to be released using the following naming convention: YYYY.MM.xx-RCX-geOrchestra (e.g. 2022.02.00-RC1-geOrchestra), where YYYY.MM corresponds to the major version and xx is the number of the minor release of the same series; RCX is the number of release candidate for the same version;
  • create a new pre-release and tag for it at Release creation page using the same name specified in version.txt
  • Add exhaustive description of the pre-release and attach all the needed assets:
    • *.war file for mapstore2-georchestra build
    • Link to the docker image in GeoSolutions Docker Hub
    • Link to the corresponding release page in MapStore as soon as available
    • Relevant configuration steps expected for the new version
  • Restore the first line of the version.txt file to the previous version in the stable branch

Creating release

  • Given a RC already available and accepted
  • From the current stable branch corresponding to the series version to be released, update the first line of the version.txt file reporting the version (tag name) that is going to be released using the following naming convention: YYYY.MM.xx-geOrchestra, where YYYY.MM corresponds to the major version and xx is the number of the minor release of the same series (e.g. 2022.02.00-geOrchestra)
  • create a new release and tag for it at Release creation page using the same name specified in version.txt
  • Add exhaustive description of the release (including descriptions from all release candidates) and attach all the needed assets:
    • *.war file for mapstore2-georchestra build
    • Link to the docker image in GeoSolutions Docker Hub
    • Link to the corresponding release page in MapStore as soon as available
    • Relevant configuration steps expected for the new version
  • Restore the first line of the version.txt file to the previous version in the stable branch