Skip to content

Commit cb2f4b7

Browse files
Merge pull request #227 from zalf-rdm/issue_#226_Task__Update_to_latest_4_x_release__4_4_3_
[Fixes #226] Task: update to latest 4.x release 4.4.3
2 parents 7da94c5 + 23ca8b5 commit cb2f4b7

File tree

169 files changed

+5062
-1360
lines changed

Some content is hidden

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

169 files changed

+5062
-1360
lines changed

.clabot

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
"MartinPontius",
7777
"ahmdthr",
7878
"fvicent",
79-
"RegisSinjari"
79+
"RegisSinjari",
80+
"Gpetrak"
8081
]
8182
}

.devcontainer/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ GEONODE_LB_PORT=80
6767
HTTP_HOST=localhost
6868
HTTPS_HOST=
6969

70-
HTTP_PORT=8000
70+
HTTP_PORT=8010
7171
HTTPS_PORT=443
7272

7373
# Let's Encrypt certificates for https encryption. You must have a domain name as HTTPS_HOST (doesn't work

.devcontainer/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
version: '3.4'
21
services:
32
# Update this to the name of the service you want to work with in your docker-compose.yml file
43
django:
@@ -38,6 +37,7 @@ services:
3837
- "8000:8000"
3938
- "5678:5678"
4039

40+
4141
entrypoint: ["tail", "-f", "/dev/null"]
4242

4343
# Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust.

.env.sample

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ SECRET_KEY='{secret_key}'
168168

169169
STATIC_ROOT=/mnt/volumes/statics/static/
170170
MEDIA_ROOT=/mnt/volumes/statics/uploaded/
171+
ASSETS_ROOT=/mnt/volumes/statics/assets/
171172
GEOIP_PATH=/mnt/volumes/statics/geoip.db
172173

173174
CACHE_BUSTING_STATIC_ENABLED=False

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ updates:
1111
ignore:
1212
- dependency-name: django
1313
versions:
14-
- "<= 3.0"
15-
- ">= 4.0"
14+
- "<= 4.0"
15+
- ">= 5.0"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ geonode/local_settings.py
2929

3030
# Uploaded files
3131
geonode/uploaded
32+
geonode/assets_data
3233

3334
#Testing output
3435
.coverage

CHANGELOG.md

Lines changed: 2 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,4 @@
1-
# Changelogs
2-
3-
## [4.3.0](https://github.com/GeoNode/geonode/releases/tag/4.3.0) (2024-05-30)
4-
### New features and improvements
5-
6-
- **3D and MapSore catalog plugins available for maps**: This release includes a major upgrade of the MapStore framework upon which the GeoNode client is built. One of the key benefits brought by the alignment to the latest MapStore versions, is the integration of new plugins powered by MapStore. Two of these plugins have been enabled by default for maps: **3D view**, powered by Cesium and the [**Catalog tool**](https://docs.mapstore.geosolutionsgroup.com/en/latest/user-guide/catalog/) which gives users the option to include external layers (from WMS, TMS, CSW, etc. services) directly into a map. The 3D view is the first step toward the publishing of 3D content with GeoNode. Meanwhile external 3D Tiles sources can already be viewed inside a GeoNode map thanks to the [Catalog service for 3D Tiles](https://docs.mapstore.geosolutionsgroup.com/en/v2023.02.01/user-guide/catalog/#3d-tiles-catalog).
7-
- **Map Viewers**: Thanks again to the work done to extend the integration with MapStore, its concept of Application Contexts have been adapted and integrated in GeoNode under the the name "Map Viewers". With a Map Viewer the list of tools and plugins available in a map can be configured. Map Viewers can be created from a map (the feature is available under the Edit menu) and they can be used by multiple maps. With Map Viewers all the plugins offered by MapStore can be used inside GeoNode maps.
8-
- **Hiding resources from catalog listing**: There are cases where a resource is created only to be used within other resources. Images uploaded to be included in a geostory, datasets only meant to be viewed inside maps, are examples. Sometimes we don't want these resoruces to be visibile inside the catalog list, or inside search results. For these cases a new "Advertized" attribute is available under the Settings tab of the Metadata editor. When this flag is turned off the resource will only be listed to its owner. This doesn't affect the permissions on the resource. Users with view permissions can still visualize the resource, but it won't be listed in the catalog to them.
9-
- **Extended Users API**: The User API has been extended to support the full management of GeoNode accounts. This API makes GeoNode compliant with the Data policies that request to give users the option to delete their account and their data from apps. The new APIs also support the transfer of resource ownership to another user and the ability to step down from the Group Manager role for a user.
10-
- **Groups facet**: A new facet (filter) has been added to the filters panel for filtering resources by Group.
11-
12-
### Other minor improvements and fixes
13-
14-
- **Backup/Restore**: Several improvements that make the B/R service more robust and performant. Code customizations (layouts, etc.) are excluded now from projects backups.
15-
- **Owner was update when geoapp were saved**: This fixes a problem with geoapps (geostories and dashboards) where the current user was assigned as owner when the resource was saved.
16-
- **Fixed textara for rich HTML metadata fields**: It wasn't editable due to a regression introduced in previous versions.
17-
- **Metadata and SLD file uploads**: Fixed a problem with the legacy code that prevented the upload of XML and SLD metadata files for an existing resource.
18-
19-
### Software upgrades:
20-
- Django 4.2.9
21-
- Geoserver 2.24.3
22-
- MapStore 2024.01.00
23-
24-
The full list of changes [here](https://github.com/GeoNode/geonode/milestone/43?closed=1)
25-
26-
## [4.2.0](https://github.com/GeoNode/geonode/releases/tag/4.2.0) (2024-01-10)
27-
28-
### New features and improvements
29-
30-
- **Enhanced faceted filtering**: Filtering of resources has undergone a deep refactoring with the goal of improving its performance and implement proper (cascaded) faceted filtering. The resoruces, and their counting, are calculated from the intersection of the topics selected between different filters (AND logic) and the union of the optics selected from the same filter (OR logic). An improvement is planned for a future version to let users select additional topics from the same filter that happen to be hidden because not cointained in the current results.
31-
- **Location view and management**: A new "Location" tab is available inside the information side panel, where the bounding box of the resoruce and its centroid are displayed. The location for spatial resources (datasets and maps) are automatically retrieved by the data itself. For non-spatial resources the same panel gives editors the tools to set the bounding bos and the position of the resource.
32-
- **Linked resources**: The options to link resources has been extended to any type of resource. It's possible to related any resource with any other resource (one or many), and the relationship is disaplyed inside the new "Lined resources" tab inside the information side panel. The direction of the relationship is also visible, since linked resources are disaplyed under two distinct groups "Linked from" and "Lined to".
33-
34-
### Other minor improvements
35-
- Implemented a generic and pluggable OIDC SocialAccount Provider, which extends and improves the one provided by the `allauth` module already available in GeoNode
36-
- Documents from remote URLs can be created from the client
37-
- Regions are not assigned to new resources automatically anymore. A pluggable and configurable option lets administrators implement specific logic for the automatic assignmenet if required
38-
- Option to configure a WMTS service to generate thumbnail backgrounds
39-
- The rendering of thumbnails for the maps now take into account ordering and opacity
40-
- Implemented the option to do not register new users as contributors automatically (default behaviour)
41-
42-
### Software upgrades:
43-
- Django 3.2.23
44-
- Geoserver 2.23.3
45-
- PostgreSQL 15.3 / PostGIS 3.3
46-
- Nginx 1.25.3
47-
48-
The full list of changes [here](https://github.com/GeoNode/geonode/milestone/37?closed=1)
49-
50-
## [4.1.0](https://github.com/GeoNode/geonode/releases/tag/4.1.0) (2023-06-05)
51-
52-
### New upload engine
53-
GeoNode integrates a brand new importer module based on [GDAL/OGR](https://gdal.org/), which offers increased robustness and reliability to the upload UI and API services. GeoPackage (vector), GeoJSON, KML/KMZ formats and a new CSV handler have been implemented.
54-
55-
### Thesaurus faceting and date filtering
56-
If thesaurus and thesaurus keywords are configured and assigned to resources, they will be available inside the filters panel, along with the number of associated resources.
57-
Date filtering (from/top) has also been added.
58-
59-
### Time series configurable after the upload
60-
The configuration of (potential) time series at upload time was confusing for users, and not very robust.
61-
With the new importer, the optional configuration of vector time series can be done afterward, through the Settings tab inside the Metadata editing page
62-
Only vector fomats that provide date(time) fields natively are supported. Conversion from string fields is not implemented.
63-
64-
### Linked resources
65-
This restore a functionality available in previous versions of GeoNode.
66-
A tab inside the info panel has been added where relationships between datasets, maps and documents are reported.
67-
68-
### Vector dataset attributes
69-
A tab inside the info panel has been added showing the attributes of vector datasets
70-
71-
### Remote documents
72-
The API has been extended to permit the creation of document resources referencing remote URLs
73-
74-
### ISO-19115 XML upload via API
75-
The API now supports the upload of a metadata XML file along with the resource data
76-
77-
### Software upgrades
78-
79-
- [Geoserver 2.23.0](https://geoserver.org/announcements/2023/04/05/geoserver-2-23-0-released.html) is now the reference version. This version includes Geofence WPS rules which are employed by GeoNode to strengthen the security of the OGC/WPS processes.
80-
- [MapStore 2022.02.xx](https://github.com/geosolutions-it/MapStore2/tree/2022.02.xx)
81-
- [Django 3.2.19](https://docs.djangoproject.com/en/4.2/releases/3.2.19/)
82-
- PostgreSQL 13 and PostGIS 3.3.3
83-
84-
85-
### Security and Bug Fixes
86-
- [CVE-2023-26043](https://github.com/GeoNode/geonode/security/advisories/GHSA-mcmc-c59m-pqq8)
87-
Fixed a vulnerability to XML External Entity (XXE) injection
88-
- [CVE-2023-28442](https://github.com/GeoNode/geonode/security/advisories/GHSA-87mh-vw7c-5v6w)
89-
Fixed information leak
90-
91-
You can see the **full list of closed issues [here](https://github.com/GeoNode/geonode/compare/4.1.0...4.0.3)**.
92-
93-
## System requirements
94-
Python >3.9 is required to run GeoNode 4.1.0, since many of its dependencies have dropped support for older versions.
1+
# Change Log
952

963
## [4.0.2](https://github.com/GeoNode/geonode/tree/4.0.2) (2022-12-20)
974

@@ -2328,4 +2235,4 @@ Python >3.9 is required to run GeoNode 4.1.0, since many of its dependencies hav
23282235
<li> 2017-09-26: Way Barrios <a href="http://github.com/geonode/geonode/commit/5e2b128bfca7a5448b01ce4a086c990fe2179cb1" target="blank"> removing certification app from GeoNode</a></li>
23292236
<li> 2017-09-20: capooti <a href="http://github.com/geonode/geonode/commit/3e9bc3e196bfee35b8e9d649ec7c1e0b8a3c52d9" target="blank"> Added a missing migrations for map</a></li>
23302237
<li> 2017-09-19: capooti <a href="http://github.com/geonode/geonode/commit/65aa0259aa908e32a9b3533f139ad43c1f7992ba" target="blank"> Adding migrations for the gazetteer fields</a></li>
2331-
<li> 2017-09-19: capooti <a href="http://github.com/geonode/geonode/commit/9942a899144baaae6b86acfbc464c1412da2cf87" target="blank"> Fixes some migrations problem and make sure that "paver sync" correctly build worldmap database</a></li>
2238+
<li> 2017-09-19: capooti <a href="http://github.com/geonode/geonode/commit/9942a899144baaae6b86acfbc464c1412da2cf87" target="blank"> Fixes some migrations problem and make sure that "paver sync" correctly build worldmap database</a></li>

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM geonode/geonode-base:latest-ubuntu-22.04
22
LABEL GeoNode development team
33

4-
# add bower and grunt command
4+
# copy local geonode src inside container
55
COPY . /usr/src/geonode/
66
WORKDIR /usr/src/geonode
77

celery.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
#!/bin/bash
22
nohup celery -A geonode.celery_app:app beat -l DEBUG -f /var/log/celery.log &>/dev/null &
3-
nohup celery -A geonode.celery_app:app worker --without-gossip --without-mingle -Ofair -B -E --statedb=worker.state --scheduler=celery.beat:PersistentScheduler --loglevel=INFO --concurrency=2 -n worker1@%h -f /var/log/celery.log &>/dev/null &
4-
nohup celery -A geonode.celery_app:app flower --auto_refresh=True --debug=False --broker=${BROKER_URL} --basic_auth=${ADMIN_USERNAME}:${ADMIN_PASSWORD} --address=0.0.0.0 --port=5555 &>/dev/null &
3+
nohup celery -A geonode.celery_app:app worker --without-gossip --without-mingle -Ofair -B -E --statedb=worker.state --scheduler=celery.beat:PersistentScheduler --loglevel=INFO --concurrency=2 -n worker1@%h -f /var/log/celery.log &>/dev/null

create-envfile.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,7 @@ def shuffle(chars):
4242
random.shuffle(chars_as_list)
4343
return "".join(chars_as_list)
4444

45-
46-
_simple_chars = shuffle(string.ascii_letters + string.digits)
47-
_strong_chars = shuffle(
48-
string.ascii_letters + string.digits + string.punctuation.replace('"', "").replace("'", "").replace("`", "")
49-
)
50-
45+
_strong_chars = shuffle(string.ascii_letters + string.digits + "#%*._~")
5146

5247
def generate_env_file(args):
5348
# validity checks

0 commit comments

Comments
 (0)