Skip to content

Commit 77e574e

Browse files
fxprunayrejosegar74seblessware1spatialjuanluisrpmikesname
authored
4.2.3 changelog. (#228)
* Update user profile privileges descriptions (#195) * Changelog for 3.12.4 * Changelog for 3.12.5 * Changelog for 3.12.6 * Fix typos * Change log for 3.12.7 (#211) * Update index.rst Fixed typo there->their * Add missing space Fix #215. * Fix not visible code block * Fix example for creating an HTML-based static page The example had `format=LINK`, which posting html as form data. This will result in a bad request. * fix environment variable name geonetwork.security.type instead of config.security.type * INSPIRE / Some template fixes * Added baisic OAI-PMH endpoint description * OAuth2 OpenId Connect Documentation (#201) * wip: openid connect dox * for OPENIDCONNECT_ROLECONVERTER, changed format from ':' to '=' as separator * add doc for oidc bearer tokens * feedback from jose * add doc for OPENIDCONNECT_LOGINTYPE * add info about OPENIDCONNECT_SERVERMETADATA_CONFIG_URL * update doc for default scopes * add doc for OPENIDCONNECT_LOGSENSITIVE_INFO Co-authored-by: david.blasby <[email protected]> * wrong line number * Revert "OAuth2 OpenId Connect Documentation (#201)" (#220) This reverts commit 1d7c733. * Change log for 3.12.8 * Update GeoNetwork branch name * Add example of connecting to the API with python This change is to add a simple example of how to authenticate to the API and obtain the XRSF token with python. * Update authors.rst * 4.2.3 changelog. * Update release instructions. * Change log for 3.12.9 * Update indentation in 3.12.9 changelog --------- Co-authored-by: Jose García <[email protected]> Co-authored-by: seblessware1spatial <[email protected]> Co-authored-by: Juan Luis Rodríguez Ponce <[email protected]> Co-authored-by: Mike Bryant <[email protected]> Co-authored-by: Tristan <[email protected]> Co-authored-by: giulioverazzo <[email protected]> Co-authored-by: davidblasby <[email protected]> Co-authored-by: david.blasby <[email protected]> Co-authored-by: axel584 <[email protected]> Co-authored-by: Alex <[email protected]> Co-authored-by: Jeroen Ticheler <[email protected]> Co-authored-by: Florent Gravin <[email protected]>
1 parent 4b5d466 commit 77e574e

File tree

42 files changed

+528
-205
lines changed

Some content is hidden

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

42 files changed

+528
-205
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The `latest` Maven profile updates the translations from Transifex (this will ta
3131
mvn generate-resources -Platest
3232
```
3333

34-
These can be be used together:
34+
These can be used together:
3535
```
3636
mvn package -Platest
3737
```

source/administrator-guide/configuring-the-catalog/user-interface-configuration.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Search application
108108
Search results configuration
109109
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110110

111-
- **Related metadata types to query**: Use this section to define the metadata types displayed when showing showing search results in the grid. format To add additional types, click the blue ``+`` button. The possible types are shown below the form.
111+
- **Related metadata types to query**: Use this section to define the metadata types displayed when showing search results in the grid. format To add additional types, click the blue ``+`` button. The possible types are shown below the form.
112112

113113
.. figure:: img/ui-settings-searchresults.png
114114

@@ -190,7 +190,7 @@ You can configure each map with different layers and projections.
190190
.. figure:: img/ui-settings-mapprojection2.png
191191

192192

193-
In order to enable a new projection it must be defined here using the **proj4js** syntax, which can be found at https://proj4js.io. Additionally the default bounding box extent, maximim bounding box extent, and allowed resolutions (if required) can be defined.
193+
In order to enable a new projection it must be defined here using the **proj4js** syntax, which can be found at https://proj4js.io. Additionally the default bounding box extent, maximum bounding box extent, and allowed resolutions (if required) can be defined.
194194

195195
Ensure that the coordinates inserted are in the correct units for and are local to the projection. A list of resolutions is only relevant if the main map layer has a XYZ source, which does not follow the common tiling pattern.
196196

source/administrator-guide/managing-users-and-groups/authentication-mode.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ However there are some other authentication mechanisms available:
1414
- :ref:`authentication-keycloak`
1515
- :ref:`authentication-shibboleth`
1616

17-
Which mode to use is configured in :file:`WEB-INF/config-security/config-security.xml` or via an environment variable ``config.security.type``.
17+
Which mode to use is configured in :file:`WEB-INF/config-security/config-security.xml` or via an environment variable ``geonetwork.security.type``.
1818

1919
Uncomment the relevant line in :file:`WEB-INF/config-security/config-security.xml`:
2020

source/administrator-guide/managing-users-and-groups/index.rst

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ automatically at some point by the server for security reasons. The default sess
3232
timeout is set to 35 min (see :ref:`session-timeout-configuration` for details).
3333

3434
When there is no activity in the browser and the session is about
35-
to expire, a warning is displayed next to the user details 3 minutes before before the timeout takes place:
35+
to expire, a warning is displayed next to the user details 3 minutes before the timeout takes place:
3636

3737
.. figure:: img/session-will-expire-soon.png
3838

@@ -80,35 +80,34 @@ Rights associated with the roles are illustrated in detail in the list below:
8080

8181
These include:
8282

83-
- Full rights for creating new groups and new users
84-
- Rights to change users/groups profiles
85-
- Full rights for creating/editing/deleting new/old metadata
83+
- Full rights for creating new groups and new users.
84+
- Rights to change users/groups profiles.
85+
- Full rights for creating/editing/deleting new/old metadata.
8686
- Perform system administration and configuration tasks.
8787

8888
#. **User Administrator Profile**
8989

90-
The User Administrator is the administrator of his/her own group with the
90+
The user administrator is the administrator of his/her own group(s) with the
9191
following privileges:
9292

93-
- Full rights on creating new users within the own group
94-
- Rights to change users profiles within the own group
95-
- Full rights on creating/editing/ deleting new/old data within the own group
93+
- Full rights on creating new users within their own groups.
94+
- Rights to change users profiles within their own groups.
9695

9796
#. **Content Reviewer Profile**
9897

99-
The content reviewer is the only person allowed to give final clearance on the metadata publication on the Intranet and/or on the Internet:
98+
The content reviewer is the only person allowed to give final clearance on the metadata publication on the Intranet and/or on the Internet:
10099

101-
- Rights on reviewing metadata content within the own group and authorising its publication
100+
- Rights on reviewing metadata content within their own groups and authorising its approval and publication.
102101

103102
#. **Editor Profile**
104103

105104
The editor works on metadata with following privileges:
106105

107-
- Full rights on creating/editing/ deleting new/old data within the own group
106+
- Full rights on creating/editing/ deleting new/old data within their own groups.
108107

109108
#. **Registered User Profile**
110109

111110
The Registered User has more access privileges than non-authenticated Guest users:
112111

113-
- Right to download protected data
112+
- Right to download protected data.
114113

source/api/oai-pmh.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,26 @@ Open Archive Initiative (OAI)
44
#############################
55

66
**Not yet available in version 4.**
7+
8+
The OAI-PMH end point exposes the metadata records in your catalog in XML format using the version 2.0 of the OAI-PMH protocol.
9+
10+
Configuration
11+
`````````````
12+
13+
The following URL is the standard end point for the catalog (substitute your GeoNetwork URL):
14+
15+
http://localhost:8080/geonetwork/srv/eng/oaipmh?
16+
17+
Requests
18+
````````
19+
20+
Standard OAI-PMH requests can be done using the url above and the 6 verbs provided by the standard:
21+
22+
- GetRecord
23+
- Identify
24+
- ListIdentifiers
25+
- ListMetadataFormats
26+
- ListRecords
27+
- ListSets
28+
29+
Please see https://www.openarchives.org/OAI/openarchivesprotocol.html for further details.

source/api/the-geonetwork-api.rst

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,3 +370,64 @@ Then the client API can be used in your Java application:
370370
}
371371
}
372372
373+
Connecting to the API with python
374+
=====================================
375+
376+
This is an example of how to use requests in python to authenticate to the API and generate an XRSF token.
377+
378+
.. code-block:: python
379+
380+
import requests
381+
382+
# Set up your username and password:
383+
username = 'username'
384+
password = 'password'
385+
386+
# Set up your server and the authentication URL:
387+
server = "http://localhost:8080"
388+
authenticate_url = server + '/geonetwork/srv/eng/info?type=me'
389+
390+
# To generate the XRSF token, send a post request to the following URL: http://localhost:8080/geonetwork/srv/eng/info?type=me
391+
session = requests.Session()
392+
response = session.post(authenticate_url)
393+
394+
# Extract XRSF token
395+
xsrf_token = response.cookies.get("XSRF-TOKEN")
396+
if xsrf_token:
397+
print ("The XSRF Token is:", xsrf_token)
398+
else:
399+
print("Unable to find the XSRF token")
400+
401+
# You can now use the username and password, along with the XRSF token to send requests to the API.
402+
403+
# This example will add an online resource to a specified UUID using the http://localhost:8080/geonetwork/srv/api/records/batchediting endpoint
404+
405+
# Set header for connection
406+
headers = {'Accept': 'application/json',
407+
'X-XSRF-TOKEN': xsrf_token
408+
}
409+
410+
# Set the parameters
411+
params = {'uuids': 'the uuid to be updated',
412+
'bucket': 'bucketname',
413+
'updateDateStamp': 'true',
414+
}
415+
416+
# Set the JSON data: note that the value must have one of <gn_add>, <gn_create>, <gn_replace> or <gn_delete>
417+
json_data = [{'condition': '',
418+
'value': '<gn_add><gmd:onLine xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco"><gmd:CI_OnlineResource><gmd:linkage><gmd:URL>https://localhost</gmd:URL></gmd:linkage><gmd:protocol><gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString></gmd:protocol><gmd:name><gco:CharacterString>The Title of the URL</gco:CharacterString></gmd:name><gmd:description><gco:CharacterString>The description of the resource</gco:CharacterString></gmd:description><gmd:function></gmd:function></gmd:CI_OnlineResource></gmd:onLine></gn_add>',
419+
'xpath': '/gmd:MD_Metadata/gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions',
420+
},
421+
]
422+
423+
# Send a put request to the endpoint
424+
response = session.put(server + 'geonetwork/srv/api/records/batchediting',
425+
params=params,
426+
auth = (username, password),
427+
headers=headers,
428+
json=json_data,
429+
)
430+
431+
print(response.text)
432+
433+

source/contributing/doing-a-release.rst

Lines changed: 46 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,20 @@ This section documents the steps followed by the development team to do a new re
99

1010
Once the release branch has been thoroughly tested and is stable a release can be made.
1111

12-
1. Build the release
12+
1. Prepare the release
1313

1414
.. code-block:: shell
1515
1616
# Setup properties
17-
frombranch=origin/master
18-
versionbranch=3.12.x
19-
version=3.12.1
17+
frombranch=origin/main
18+
versionbranch=4.2.x
19+
version=4.2.3
2020
minorversion=0
2121
newversion=$version-$minorversion
22-
currentversion=3.12-SNAPSHOT
23-
previousversion=3.12.0
24-
nextversion=3.12-SNAPSHOT
25-
nextMajorVersion=4.0.0-SNAPSHOT
22+
currentversion=4.2.3-SNAPSHOT
23+
previousversion=4.2.2
24+
nextversion=4.2.4-SNAPSHOT
25+
nextMajorVersion=4.4.0-SNAPSHOT
2626
2727
2828
# Get the branch
@@ -36,16 +36,12 @@ Once the release branch has been thoroughly tested and is stable a release can b
3636
git checkout -b $versionbranch $frombranch
3737
# or move into it if it exist
3838
# git checkout $versionbranch
39+
# or stay in main branch if the release is on main
3940
4041
4142
# Update version number (in pom.xml, installer config and SQL)
4243
./update-version.sh $currentversion $newversion
4344
44-
45-
# Build the new release
46-
mvn clean install -DskipTests -Pwith-doc -Pwar -Pwro4j-prebuild-cache
47-
48-
4945
# Generate list of changes
5046
cat <<EOF > docs/changes$newversion.txt
5147
================================================================================
@@ -57,46 +53,60 @@ Once the release branch has been thoroughly tested and is stable a release can b
5753
git log --pretty='format:- %s' $previousversion... >> docs/changes$newversion.txt
5854
5955
56+
2. Commit & tag the new version
57+
58+
59+
.. code-block:: shell
60+
61+
# Then commit the new version
62+
git add .
63+
git commit -m "Update version to $newversion"
64+
65+
# Create the release tag
66+
git tag -a $version -m "Tag for $version release"
67+
68+
69+
3. Build
70+
71+
.. code-block:: shell
72+
73+
# Build the new release
74+
mvn clean install -DskipTests -Pwar -Pwro4j-prebuild-cache
75+
76+
6077
# Download Jetty and create the installer
6178
cd release
62-
mvn process-resources -Djetty-download
63-
mvn package
79+
mvn clean install -Djetty-download
80+
ant
81+
6482
6583
# Deploy to osgeo repository (requires credentials in ~/.m2/settings.xml)
6684
mvn deploy
6785
68-
2. Test the installer
86+
4. Test
6987
7088
7189
.. code-block:: shell
7290
7391
cd target/GeoNetwork-$newversion
7492
unzip geonetwork-bundle-$newversion.zip -d geonetwork-bundle-$newversion
7593
cd geonetwork-bundle-$newversion/bin
76-
./startup.sh
94+
./startup.sh -f
7795
7896
7997
80-
3. Commit & tag the new version
98+
5. Set the next version
8199
82100
83101
.. code-block:: shell
84102
85-
# Then commit the new version
86-
git add .
87-
git commit -m "Update version to $newversion"
88-
89-
# Push the release tag
90-
git tag -a $version -m "Tag for $version release"
91-
git push origin $version
92-
93103
# Set version number to SNAPSHOT
94104
./update-version.sh $newversion $nextversion
95105
96106
# Add SQL migration step for the next version
97-
mkdir web/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v3122
98-
cat <<EOF > web/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v3122/migrate-default.sql
99-
UPDATE Settings SET value='3.12.2' WHERE name='system/platform/version';
107+
mkdir web/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v424
108+
cat <<EOF > web/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v424/migrate-default.sql
109+
UPDATE Settings SET value='4.2.4' WHERE name='system/platform/version';
100110
UPDATE Settings SET value='SNAPSHOT' WHERE name='system/platform/subVersion';
101111
EOF
102112
vi web/src/main/webResources/WEB-INF/config-db/database_migration.xml
@@ -114,20 +124,21 @@ In ``WEB-INF/config-db/database_migration.xml`` add an entry for the new version
114124
115125
116126
117-
118127
.. code-block:: shell
119128
120-
121129
git add .
122130
git commit -m "Update version to $nextversion"
123131
124132
125-
# Push the branch
126-
git push origin $versionbranch
133+
6. Publishing
127134
128135
136+
.. code-block:: shell
137+
138+
# Push the branch and tag
139+
git push origin $versionbranch
140+
git push origin $version
129141
130-
4. Publishing
131142
132143
Generate checksum files
133144
@@ -137,7 +148,7 @@ Generate checksum files
137148
.. code-block:: shell
138149
139150
cd web/target && md5sum geonetwork.war > geonetwork.war.md5 && cd ../..
140-
cd release/target/GeoNetwork-$version && md5sum geonetwork-bundle-$newversion.zip > geonetwork-bundle-$newversion.zip.md5 && cd ../..
151+
cd release/target/GeoNetwork-$version && md5sum geonetwork-bundle-$newversion.zip > geonetwork-bundle-$newversion.zip.md5 && cd ../../..
141152
142153
* If using Mac OS X:
143154

source/contributing/writing-documentation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,6 @@ Update translations on Transifex:
288288
289289
290290
291-
If you want to add a new language to the build, you will have to edit the file https://github.com/geonetwork/doc/blob/develop/Makefile#L59 and add the languages you want to build the documentation for.
291+
If you want to add a new language to the build, you will have to edit the file https://github.com/geonetwork/doc/blob/develop/Makefile#L65 and add the languages you want to build the documentation for.
292292

293293
If you want it to be publicly available on https://geonetwork-opensource.org webpage, make sure you make a PR with the change and ask for advice on the https://github.com/geonetwork/website project.

source/customizing-application/characterset.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ to the startup script and the default codec in GeoNetwork will be UTF-16.
1919
It is also recommended to set the file.encoding parameter to the same codec as this dictates to the default encoding
2020
used in Java and the Web Server may reference at times use the default codec.
2121

22-
Finally, by default the URL parameters are typically interpretted as ASCII characters which can be a problem when searching
22+
Finally, by default the URL parameters are typically interpreted as ASCII characters which can be a problem when searching
2323
for metadata that are not in the english language. Each Web Server will have a method for configuring the encoding
2424
used when reading the parameters. For example, in Tomcat the encoding/charset configuration is in the server.xml Connector
2525
element.

source/customizing-application/editor-ui/creating-custom-editor.rst

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)