Skip to content

Commit

Permalink
Merge branch 'main' into analytics
Browse files Browse the repository at this point in the history
  • Loading branch information
juanluisrp authored Jan 16, 2024
2 parents 47decad + e1ac22b commit 2be6d10
Show file tree
Hide file tree
Showing 1,508 changed files with 73,517 additions and 17,896 deletions.
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# These are supported funding model platforms

github: [osgeo]
cusotm: ['https://github.com/geonetwork/core-geonetwork/wiki#financial-support','https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LDTWEL3XKUVU8&source=url','https://www.osgeo.org/about/how-to-become-a-sponsor/']
27 changes: 27 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

<!--Include a few sentences describing the overall goals for this Pull Request-->

<!-- Please help our volunteers reviewing this PR by completing the following items.
Ask in a comment if you have troubles with any of them. -->

# Checklist

- [ ] I have read the [contribution guidelines](https://github.com/geonetwork/core-geonetwork/blob/main/CONTRIBUTING.md)
- [ ] *Pull request* provided for `main` branch, backports managed with label
- [ ] *Good housekeeping* of code, cleaning up comments, tests, and documentation
- [ ] *Clean commit history* broken into understandable chucks, avoiding big commits with hundreds of files, cautious of reformatting and whitespace changes
- [ ] *Clean commit message*s, longer verbose messages are encouraged
- [ ] *API Changes* are identified in commit messages
- [ ] *Testing* provided for features or enhancements using [automatic tests](https://github.com/geonetwork/core-geonetwork/blob/main/software_development/TESTING.md)
- [ ] *User documentation* provided for new features or enhancements in [manual](https://github.com/geonetwork/core-geonetwork/tree/main/docs/manual)
- [ ] *Build documentation* provided for development instructions in `README.md` files
- [ ] *Library management* using `pom.xml` dependency management. Update build documentation with intended library use and library tutorials or documentation

<!--Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or not applicable.-->

<!-- If you can, it's better to give credits to organisation supporting this work:
- `Funded by NAME`
- `Funded by URL`
- `Funded by NAME URL`
-->

9 changes: 4 additions & 5 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,12 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
show-progress: 'false'

- name: Setup Java JDK
uses: actions/setup-java@v3.12.0
uses: actions/setup-java@v4.0.0
with:
java-version: 11
# Java distribution. See the list of supported distributions in README file
Expand Down Expand Up @@ -83,6 +85,3 @@ jobs:
- name: Remove SNAPSHOT jars from repository
run: |
find ~/.m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {}
- name: Remove Schema 3.8 jars from repository
run: |
find ~/.m2/repository -name "*3.8*" -type d | xargs rm -rf {}
41 changes: 41 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Documentation

on:
push:
branches:
- main
paths:
- "docs/manual/**"
pull_request:
branches:
- main
paths:
- "docs/manual/**"
workflow_dispatch:

jobs:
deploy-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout GeoNetwork
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: mkdocs install
run: pip install --upgrade pip && pip install -r docs/manual/requirements.txt
- name: git configuration
run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com'
- name: build docs without publishing them
if: ${{ github.event_name == 'pull_request' }}
working-directory: docs/manual
run: |
mike deploy --title "4.4 Latest" --alias-type=copy --update-aliases 4.4 latest
- name: deploy latest docs to gh-pages branch
if: ${{ github.event_name != 'pull_request' }}
working-directory: docs/manual
run: |
mike deploy --push --title "4.4 Latest" --alias-type=copy --update-aliases 4.4 latest
32 changes: 18 additions & 14 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Linux GitHub CI
on: [pull_request,push,workflow_dispatch]

env:
MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3 -Xmx512m -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS
MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3 -Xmx512m -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
TAKARI_SMART_BUILDER_VERSION: 0.6.1

jobs:
Expand All @@ -15,40 +15,47 @@ jobs:
- os: ubuntu-22.04
jdk: 11
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
# 500 commits, set to 0 to get all
fetch-depth: 500
submodules: 'recursive'
show-progress: 'false'
- name: Set up JDK
uses: actions/setup-java@v3.12.0
uses: actions/setup-java@v4.0.0
with:
distribution: 'temurin'
java-version: ${{ matrix.jdk }}
cache: 'maven'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: mkdocs install
working-directory: docs/manual
run: pip install --upgrade pip && pip install -r requirements.txt
- name: Set up Maven
uses: stCarolas/setup-maven@v4
with:
maven-version: 3.6.3
- name: Build with Maven
run: mvn -B -V install -DskipTests=true -Dmaven.javadoc.skip=true
run: |
mvn -B -ntp -V install -DskipTests=true -Dmaven.javadoc.skip=true -Drelease -Pwith-doc
- name: Remove SNAPSHOT jars from repository
run: |
find ~/.m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {}
- name: Remove Schema 3.8 jars from repository
run: |
find ~/.m2/repository -name "*3.8*" -type d | xargs rm -rf {}
QA:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
# 500 commits, set to 0 to get all
fetch-depth: 500
submodules: 'recursive'
show-progress: 'false'
- name: Set up JDK
uses: actions/setup-java@v3.12.0
uses: actions/setup-java@v4.0.0
with:
distribution: 'temurin'
java-version: 11
Expand All @@ -59,11 +66,8 @@ jobs:
maven-version: 3.6.3
- name: Test with maven
run: |
mvn resources:resources@copy-index-schema-to-source -f web
mvn -B -V -fae verify -Pit
mvn -B resources:resources@copy-index-schema-to-source -f web
mvn -B -ntp -V -fae verify -Drelesae -Pit
- name: Remove SNAPSHOT jars from repository
run: |
find ~/.m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {}
- name: Remove Schema 3.8 jars from repository
run: |
find ~/.m2/repository -name "*3.8*" -type d | xargs rm -rf {}
6 changes: 4 additions & 2 deletions .github/workflows/mvn-dep-tree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
show-progress: 'false'

- name: Setup Java JDK
uses: actions/setup-java@v3.12.0
uses: actions/setup-java@v4.0.0
with:
java-version: 11
# Java distribution. See the list of supported distributions in README file
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,13 @@ jobs:
# https://github.community/t/how-to-detect-a-pull-request-from-a-fork/18363/4
if: github.event.pull_request.head.repo.fork != true
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
submodules: 'recursive'
show-progress: 'false'
- name: Set up JDK 11
uses: actions/setup-java@v3.12.0
uses: actions/setup-java@v4.0.0
with:
distribution: 'temurin'
java-version: '11'
Expand All @@ -32,6 +33,12 @@ jobs:
- name: Build GN
run: mvn -B package -DskipTests

- name: Set up JDK 21 # Sonarcloud analyzer needs at least JDK 17
uses: actions/[email protected]
with:
distribution: 'temurin'
java-version: '21'
cache: 'maven'
- name: Analyze with Sonar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ git*.properties
*/*/target/
*/target/
.*/
!.github
#GeoNetwork*
/geonetwork*
camel-harvesters/wfsfeature-harvester/logs
Expand Down Expand Up @@ -79,8 +80,8 @@ web/src/main/webapp/WEB-INF/data/wro4j*.db
web/src/main/webapp/WEB-INF/data/wro4j-cache*
web/src/main/webapp/WEB-INF/data_*
web/src/main/webapp/WEB-INF/metadata_subversion/
web/src/main/webapp/WEB-INF/server.prop
web/src/main/webapp/WEB-INF/prebuilt
web/src/main/webapp/data/
web/src/main/webapp/doc/en
web/src/main/webapp/doc/fr
web/src/main/webapp/WEB-INF/data/data/resources/schemapublication
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,3 @@
[submodule "web-ui/src/main/resources/catalog/lib/bootstrap-table"]
path = web-ui/src/main/resources/catalog/lib/bootstrap-table
url = https://github.com/wenzhixin/bootstrap-table.git
[submodule "docs/manuals"]
path = docs/manuals
url = https://github.com/geonetwork/doc.git
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs.geonetwork-opensource.org
14 changes: 10 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,21 @@ Thank you for contributing to GeoNetwork:

* Pull requests must be applied to `main`, before being backported.

* Before merging a pull request, should be defined the following properties:

- Milestone to include the change.
- Add the label `changelog` when the change is relevant to be added to the release changelog file .
- Add the label(s) to the backport to previous branch(es), when the change is a bug fix or if it is a small improvement that may be relevant to the backport.

* Good housekeeping: Anytime you commit, try and clean the code around it to latest style guide. If you improve a function without comments: add comments. If you modify functionality that does not have tests: write a test. If you fix functionality without documentation: add documentation.

* History: Clean commit messages and history: avoid big commits with hundreds of files, break commits commits up into understandable chunks, longer verbose commit messages are encouraged. Beware of reformatting and needless whitespace changes.
* History: Clean commit messages and history: avoid big commits with hundreds of files, break commits up into understandable chunks, longer verbose commit messages are encouraged. Avoid reformatting and needless whitespace changes.

* Draft: Use pull request *Draft** (or even the text "WIP") to identify work in progress.

* Rebase: No merge commits with current branch: use rebase!
* Rebase / Squash and merge: No merge commits with current branch, use Rebase or Squash and merge!

* API Change: Please identify any API change or behavior changes in commit messages.
* API Change: Please identify any API change or behavior changes in commit messages. Also make sure that a [process for deprecation](PROCESS_FOR_DEPRECATION.md) of a feature is carefully dealt with.

* Review: Review is required by another person, or more than one! Don't be shy asking for help or reviewing.

Expand All @@ -29,6 +35,6 @@ Thank you for contributing to GeoNetwork:

* Build documentation: All build and development instructions managed in repository `README.md` files.

* New libraries: Do not commit jars, use maven `pom.xml` to declare dependencies where needed, and `src/pom.xml` dependency management to manage version numbers. Document what the library does in GeoNetwork, how it interacts or extends GeoNetwork, with references to official library tutorials or documentation.
* New libraries: Do not commit jars, use maven `pom.xml` to declare dependencies where needed, and `src/pom.xml` dependency management to manage version numbers. Use build documentation to share what the library does in GeoNetwork, how it interacts or extends GeoNetwork, with references to official library tutorials or documentation.

For more information see [How to contribute](https://github.com/geonetwork/core-geonetwork/wiki/How-to-contribute) (wiki).
6 changes: 6 additions & 0 deletions PROCESS_FOR_DEPRECATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
* Proposal for a Process for Deprecation (draft)

# Feature deprecation process

This page describes considerations and steps to take when removing a product feature. This is the process of depreciation or 'deprecating a feature'.

25 changes: 14 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,32 @@
# GeoNetwork Open-source
# GeoNetwork opensource

# Build Health
## Build Health

[![Build Status](https://github.com/geonetwork/core-geonetwork/actions/workflows/linux.yml/badge.svg?branch=main)](https://github.com/geonetwork/core-geonetwork/actions/workflows/linux.yml?query=branch%3Amain)

# Features
## Features

* Immediate search access to local and distributed geospatial catalogues
* Uploading and downloading of data, graphics, documents, pdf files and any other content type
* An interactive Web Map Viewer to combine Web Map Services from distributed servers around the world
* Online editing of metadata with a powerful template system
* Scheduled harvesting and synchronization of metadata between distributed catalogs
* Support for OGC-CSW 2.0.2 ISO Profile, OAI-PMH, SRU protocols
* Support for OGC-CSW 2.0.2, ISO 1911x and DCAT-AP metadata profiles, OAI-PMH, SRU protocols
* Fine-grained access control with group and user management
* Multi-lingual user interface

# Documentation
## Documentation

User documentation is managed in the [geonetwork/doc](https://github.com/geonetwork/doc) repository covering all releases of GeoNetwork.
The GeoNetwork Manual and Online Help are included in the `docs/manual` folder. This content is compiled into html pages during a release for a publishing on docs.geonetwork-opensource.org website.

The `docs` folder includes [geonetwork/doc](https://github.com/geonetwork/doc) as a git submodule. This documentation is compiled into html pages during a release for publishing on the [geonetwork-opensource.org](http://geonetwork-opensource.org) website.
* [docs.geonetwork-opensource.org](https://docs.geonetwork-opensource.org)

Developer documentation located in README.md files in the code-base:
The online help is compiled into html pages during a release and is included in the `war` web archive.

* General documentation for the project as a whole is in this README.md
* [Software Development Documentation](/software_development/) provides instructions for setting up a development environment, building Geonetwork, compiling user documentation, and making a releases
* Module specific documentation can be found in each module (assuming there is module specific documentation required)
## Developer Documentation

Developer documentation located in ``README.md`` files in the code-base:

* General documentation for the project as a whole is in this [README.md](README.md)
* [Software Development Documentation](/software_development/) provides instructions for setting up a development environment, building GeoNetwork, compiling user documentation, and making a releases.
* Module specific documentation can be found in each module:
14 changes: 7 additions & 7 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

The GeoNetwork community takes the security of the software and all services based on the software product seriously. On this page you can find the versions for which the community provides security patches.

If you believe you have found a security vulnerability in the software or an implementation of the software, please report it to [email protected] as described below. Do not publish the vulnerability in any public forums (such as twitter, email list or issue tracker).
If you believe you have found a security vulnerability in the software or an implementation of the software, please report it to [email protected] as described below. Do not publish the vulnerability in any public forums (such as Twitter/X, email list or issue tracker).

## Supported Versions

Each GeoNetwork release is supported with bug fixes for a limited period, with patch releases made approximately every three to six months.

- We recommend to update to latest incremental release as soon as possible to address security vulnarabilities.
- We recommend to update to latest incremental release as soon as possible to address security vulnerabilities.
- Some overlap is provided when major versions are announced with both a current version and a maintenance version being made available to provide time for organizations to upgrade.

| Version | Supported | Comment |
|---------| ------------------ |------------------------ |
| 4.4.x | :white_check_mark: | Current version |
| 4.2.x | :white_check_mark: | Maintenance version |
| 3.12.x | :white_check_mark: | Maintenance version |
| Version | Supported | Comment |
|---------|--------------------|---------------------|
| 4.4.x | :white_check_mark: | Latest version |
| 4.2.x | :white_check_mark: | Stable version |
| 3.12.x | :white_check_mark: | Maintenance version |

If your organisation is making use of a GeoNetwork version that is no longer in use by the community all is not lost. You can volunteer on the developer list to make additional releases, or engage with one of our [Commercial Support](https://www.osgeo.org/service-providers/?p=geonetwork) providers.

Expand Down
2 changes: 1 addition & 1 deletion cachingxslt/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<parent>
<groupId>org.geonetwork-opensource</groupId>
<artifactId>geonetwork</artifactId>
<version>4.4.0-SNAPSHOT</version>
<version>4.4.2-SNAPSHOT</version>
</parent>


Expand Down
2 changes: 1 addition & 1 deletion code_quality/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
The files in this directory are used for configuring IDEs or are used by the build tool to make certain code quality checks.

For example findbugs-ecludes is used by both the build tool's findbugs implementation as well as IDES for running findbugs.
For example, findbugs-excludes is used by both the build tool's findbugs implementation as well as IDES for running findbugs.
9 changes: 0 additions & 9 deletions code_quality/findbugs-excludes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -230,15 +230,6 @@
<Bug pattern="DC_DOUBLECHECK"/>
<Method name="getSupportedExts"/>
</Match>
<Match>
<Class name="org.fao.geonet.api.records.formatters.groovy.util.AssociatedLink"/>
<Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS"/>
<Method name="equals"/>
</Match>
<Match>
<Class name="org.fao.geonet.api.records.formatters.groovy.util.LinkType"/>
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/>
</Match>
<Match>
<Class name="org.fao.geonet.api.regions.ListRegionsResponse"/>
<Bug pattern="URF_UNREAD_FIELD"/>
Expand Down
Loading

0 comments on commit 2be6d10

Please sign in to comment.