Skip to content

Commit eabc19c

Browse files
[GEOS-12078] UX: Welcome Page context-aware integrations (geoserver#9266)
* Welcome title available from ContractInfo * Layer / LayerGroup title and description * Clean up catalogLinksFragment with accurate layer group counts * Test catalog links work as expected * Administration fieldset for catalogLinks and contributedContent * contributedContent is only shown for global welcome page * gs-web-demo contributes preview for common formats * update catalog card styles * MapFormats * vector formats * Adjust catalog link visibility based on feedback * default data directory: Add Natural Earth metadata and data links * default data directory: Remove jaiext settings for geoserver 3.0 release * Add admin layer feedback for disabled and advertised status * Integrate with navigation change to layer= and group= parameters, breakout out catalog links from home page * Metadata links * Data links * QA and formatting --------- Co-authored-by: allyoucanmap <stefano.bovio@geosolutionsgroup.com>
1 parent 237fef9 commit eabc19c

57 files changed

Lines changed: 2176 additions & 390 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.

data/release/global.xml

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<localWorkspaceIncludesPrefix>false</localWorkspaceIncludesPrefix>
3030
<showCreatedTimeColumnsInAdminList>false</showCreatedTimeColumnsInAdminList>
3131
<showModifiedTimeColumnsInAdminList>false</showModifiedTimeColumnsInAdminList>
32+
<showModifiedUserAdminList>false</showModifiedUserAdminList>
3233
<useHeadersProxyURL>false</useHeadersProxyURL>
3334
</settings>
3435
<jai>
@@ -39,36 +40,6 @@
3940
<memoryCapacity>0.5</memoryCapacity>
4041
<memoryThreshold>0.75</memoryThreshold>
4142
<imageIOCache>false</imageIOCache>
42-
<pngAcceleration>true</pngAcceleration>
43-
<jpegAcceleration>true</jpegAcceleration>
44-
<allowNativeMosaic>false</allowNativeMosaic>
45-
<allowNativeWarp>false</allowNativeWarp>
46-
<jaiext>
47-
<jaiExtOperations class="sorted-set">
48-
<string>Affine</string>
49-
<string>BandCombine</string>
50-
<string>BandMerge</string>
51-
<string>BandSelect</string>
52-
<string>Binarize</string>
53-
<string>Border</string>
54-
<string>ColorConvert</string>
55-
<string>Crop</string>
56-
<string>ErrorDiffusion</string>
57-
<string>Format</string>
58-
<string>ImageFunction</string>
59-
<string>Lookup</string>
60-
<string>Mosaic</string>
61-
<string>Null</string>
62-
<string>OrderedDither</string>
63-
<string>Rescale</string>
64-
<string>Scale</string>
65-
<string>Stats</string>
66-
<string>Translate</string>
67-
<string>Warp</string>
68-
<string>algebric</string>
69-
<string>operationConst</string>
70-
</jaiExtOperations>
71-
</jaiext>
7243
</jai>
7344
<coverageAccess>
7445
<maxPoolSize>10</maxPoolSize>
@@ -80,9 +51,15 @@
8051
<metadata>
8152
<entry key="logRequestsEnabled">false</entry>
8253
</metadata>
83-
<updateSequence>294</updateSequence>
54+
<updateSequence>310</updateSequence>
8455
<featureTypeCacheSize>0</featureTypeCacheSize>
8556
<globalServices>true</globalServices>
8657
<xmlPostRequestLogBufferSize>1024</xmlPostRequestLogBufferSize>
8758
<webUIMode>DEFAULT</webUIMode>
59+
<userDetailsDisplaySettingsInfo>
60+
<loggedInUserDisplayMode>USERNAME</loggedInUserDisplayMode>
61+
<showProfileColumnsInUserList>false</showProfileColumnsInUserList>
62+
<emailDisplayMode>DOMAIN_ONLY</emailDisplayMode>
63+
<revealEmailAtClick>false</revealEmailAtClick>
64+
</userDetailsDisplaySettingsInfo>
8865
</global>

data/release/security/csp.xml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<config>
2+
<enabled>true</enabled>
3+
<reportOnly>false</reportOnly>
4+
<allowOverride>false</allowOverride>
5+
<injectProxyBase>false</injectProxyBase>
6+
<remoteResources></remoteResources>
7+
<formAction>&apos;self&apos;</formAction>
8+
<frameAncestors></frameAncestors>
9+
<policy>
10+
<name>geoserver-csp</name>
11+
<description>Rules to set GeoServer&apos;s Content-Security-Policy header</description>
12+
<enabled>true</enabled>
13+
<rule>
14+
<name>static-html-files</name>
15+
<description>Allow unsafe scripts and remote resources on static HTML pages unless disabled by a property.</description>
16+
<enabled>true</enabled>
17+
<filter>PATH(^/www/.*\.html?$) AND PROP(GEOSERVER_DISABLE_STATIC_WEB_FILES,(?i)^(?!true$).*$) AND PROP(GEOSERVER_STATIC_WEB_FILES_SCRIPT,(?i)^(UNSAFE)?$)</filter>
18+
<directives>base-uri &apos;self&apos;; default-src &apos;none&apos;; child-src &apos;self&apos;; connect-src &apos;self&apos;; font-src &apos;self&apos; ${geoserver.csp.remoteResources}; img-src &apos;self&apos; ${geoserver.csp.remoteResources} data:; style-src &apos;self&apos; ${geoserver.csp.remoteResources} &apos;unsafe-inline&apos;; script-src &apos;self&apos; ${geoserver.csp.remoteResources} &apos;unsafe-inline&apos; &apos;unsafe-eval&apos;; form-action ${geoserver.csp.formAction}; frame-ancestors ${geoserver.csp.frameAncestors};</directives>
19+
</rule>
20+
<rule>
21+
<name>ows-wms-featureinfo-html</name>
22+
<description>Allow unsafe scripts and remote resources on WMS GetFeatureInfo HTML output if enabled by a property.</description>
23+
<enabled>true</enabled>
24+
<filter>PATH(^/([^/]+/){0,2}ows/?$) AND PARAM((?i)^service$,(?i)^wms$) AND PARAM((?i)^request$,(?i)^getfeatureinfo$) AND PARAM((?i)^info_format$,(?i)^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
25+
<directives></directives>
26+
</rule>
27+
<rule>
28+
<name>wms-featureinfo-html</name>
29+
<description>Allow unsafe scripts and remote resources on WMS GetFeatureInfo HTML output if enabled by a property.</description>
30+
<enabled>true</enabled>
31+
<filter>PATH(^/([^/]+/){0,2}wms/?$) AND PARAM((?i)^service$,(?i)^(wms)?$) AND PARAM((?i)^request$,(?i)^getfeatureinfo$) AND PARAM((?i)^info_format$,(?i)^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
32+
<directives></directives>
33+
</rule>
34+
<rule>
35+
<name>wtms-kvp-featureinfo-html</name>
36+
<description>Allow unsafe scripts and remote resources on WMTS GetFeatureInfo HTML output if enabled by a property.</description>
37+
<enabled>true</enabled>
38+
<filter>PATH(^/([^/]+/){0,2}gwc/service/wmts/?$) AND PARAM((?i)^service$,(?i)^(wmts)?$) AND PARAM((?i)^request$,(?i)^getfeatureinfo$) AND PARAM((?i)^infoformat$,^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
39+
<directives></directives>
40+
</rule>
41+
<rule>
42+
<name>wtms-rest-featureinfo-html</name>
43+
<description>Allow unsafe scripts and remote resources on WMTS GetFeatureInfo HTML output if enabled by a property.</description>
44+
<enabled>true</enabled>
45+
<filter>PATH(^/([^/]+/){0,2}gwc/service/wmts/rest(/[^/]*){7,8}$) AND PARAM(^format$,^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
46+
<directives></directives>
47+
</rule>
48+
<rule>
49+
<name>index-page</name>
50+
<description>Allow unsafe scripts on the index.html page.</description>
51+
<enabled>true</enabled>
52+
<filter>PATH(^/index\.html$)</filter>
53+
<directives>base-uri &apos;self&apos;; default-src &apos;none&apos;; child-src &apos;self&apos;; connect-src &apos;self&apos;; font-src &apos;self&apos;; img-src &apos;self&apos; data:; style-src &apos;self&apos; &apos;unsafe-inline&apos;; script-src &apos;self&apos; &apos;unsafe-inline&apos;; form-action ${geoserver.csp.formAction}; frame-ancestors ${geoserver.csp.frameAncestors};</directives>
54+
</rule>
55+
<rule>
56+
<name>other-requests</name>
57+
<description>Block unsafe scripts on all other requests.</description>
58+
<enabled>true</enabled>
59+
<filter></filter>
60+
<directives>base-uri &apos;self&apos;; default-src &apos;none&apos;; child-src &apos;self&apos;; connect-src &apos;self&apos;; font-src &apos;self&apos;; img-src &apos;self&apos; data:; style-src &apos;self&apos; &apos;unsafe-inline&apos;; script-src &apos;self&apos;; form-action ${geoserver.csp.formAction}; frame-ancestors ${geoserver.csp.frameAncestors};</directives>
61+
</rule>
62+
</policy>
63+
</config>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<config>
2+
<enabled>true</enabled>
3+
<reportOnly>false</reportOnly>
4+
<allowOverride>false</allowOverride>
5+
<injectProxyBase>false</injectProxyBase>
6+
<remoteResources></remoteResources>
7+
<formAction>&apos;self&apos;</formAction>
8+
<frameAncestors></frameAncestors>
9+
<policy>
10+
<name>geoserver-csp</name>
11+
<description>Rules to set GeoServer&apos;s Content-Security-Policy header</description>
12+
<enabled>true</enabled>
13+
<rule>
14+
<name>static-html-files</name>
15+
<description>Allow unsafe scripts and remote resources on static HTML pages unless disabled by a property.</description>
16+
<enabled>true</enabled>
17+
<filter>PATH(^/www/.*\.html?$) AND PROP(GEOSERVER_DISABLE_STATIC_WEB_FILES,(?i)^(?!true$).*$) AND PROP(GEOSERVER_STATIC_WEB_FILES_SCRIPT,(?i)^(UNSAFE)?$)</filter>
18+
<directives>base-uri &apos;self&apos;; default-src &apos;none&apos;; child-src &apos;self&apos;; connect-src &apos;self&apos;; font-src &apos;self&apos; ${geoserver.csp.remoteResources}; img-src &apos;self&apos; ${geoserver.csp.remoteResources} data:; style-src &apos;self&apos; ${geoserver.csp.remoteResources} &apos;unsafe-inline&apos;; script-src &apos;self&apos; ${geoserver.csp.remoteResources} &apos;unsafe-inline&apos; &apos;unsafe-eval&apos;; form-action ${geoserver.csp.formAction}; frame-ancestors ${geoserver.csp.frameAncestors};</directives>
19+
</rule>
20+
<rule>
21+
<name>ows-wms-featureinfo-html</name>
22+
<description>Allow unsafe scripts and remote resources on WMS GetFeatureInfo HTML output if enabled by a property.</description>
23+
<enabled>true</enabled>
24+
<filter>PATH(^/([^/]+/){0,2}ows/?$) AND PARAM((?i)^service$,(?i)^wms$) AND PARAM((?i)^request$,(?i)^getfeatureinfo$) AND PARAM((?i)^info_format$,(?i)^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
25+
<directives></directives>
26+
</rule>
27+
<rule>
28+
<name>wms-featureinfo-html</name>
29+
<description>Allow unsafe scripts and remote resources on WMS GetFeatureInfo HTML output if enabled by a property.</description>
30+
<enabled>true</enabled>
31+
<filter>PATH(^/([^/]+/){0,2}wms/?$) AND PARAM((?i)^service$,(?i)^(wms)?$) AND PARAM((?i)^request$,(?i)^getfeatureinfo$) AND PARAM((?i)^info_format$,(?i)^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
32+
<directives></directives>
33+
</rule>
34+
<rule>
35+
<name>wtms-kvp-featureinfo-html</name>
36+
<description>Allow unsafe scripts and remote resources on WMTS GetFeatureInfo HTML output if enabled by a property.</description>
37+
<enabled>true</enabled>
38+
<filter>PATH(^/([^/]+/){0,2}gwc/service/wmts/?$) AND PARAM((?i)^service$,(?i)^(wmts)?$) AND PARAM((?i)^request$,(?i)^getfeatureinfo$) AND PARAM((?i)^infoformat$,^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
39+
<directives></directives>
40+
</rule>
41+
<rule>
42+
<name>wtms-rest-featureinfo-html</name>
43+
<description>Allow unsafe scripts and remote resources on WMTS GetFeatureInfo HTML output if enabled by a property.</description>
44+
<enabled>true</enabled>
45+
<filter>PATH(^/([^/]+/){0,2}gwc/service/wmts/rest(/[^/]*){7,8}$) AND PARAM(^format$,^text/html$) AND PROP(GEOSERVER_FEATUREINFO_HTML_SCRIPT,(?i)^UNSAFE$)</filter>
46+
<directives></directives>
47+
</rule>
48+
<rule>
49+
<name>index-page</name>
50+
<description>Allow unsafe scripts on the index.html page.</description>
51+
<enabled>true</enabled>
52+
<filter>PATH(^/index\.html$)</filter>
53+
<directives>base-uri &apos;self&apos;; default-src &apos;none&apos;; child-src &apos;self&apos;; connect-src &apos;self&apos;; font-src &apos;self&apos;; img-src &apos;self&apos; data:; style-src &apos;self&apos; &apos;unsafe-inline&apos;; script-src &apos;self&apos; &apos;unsafe-inline&apos;; form-action ${geoserver.csp.formAction}; frame-ancestors ${geoserver.csp.frameAncestors};</directives>
54+
</rule>
55+
<rule>
56+
<name>other-requests</name>
57+
<description>Block unsafe scripts on all other requests.</description>
58+
<enabled>true</enabled>
59+
<filter></filter>
60+
<directives>base-uri &apos;self&apos;; default-src &apos;none&apos;; child-src &apos;self&apos;; connect-src &apos;self&apos;; font-src &apos;self&apos;; img-src &apos;self&apos; data:; style-src &apos;self&apos; &apos;unsafe-inline&apos;; script-src &apos;self&apos;; form-action ${geoserver.csp.formAction}; frame-ancestors ${geoserver.csp.frameAncestors};</directives>
61+
</rule>
62+
</policy>
63+
</config>

data/release/workspaces/ne/NaturalEarth/boundary_lines/featuretype.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@
1111
<string>features</string>
1212
<string>boundary_lines_land</string>
1313
</keywords>
14+
<metadataLinks>
15+
<metadataLink>
16+
<type>text/html</type>
17+
<about>Admin 0 – Boundary Lines</about>
18+
<metadataType>Other</metadataType>
19+
<content>https://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-0-boundary-lines/</content>
20+
</metadataLink>
21+
</metadataLinks>
22+
<dataLinks>
23+
<org.geoserver.catalog.impl.DataLinkInfoImpl>
24+
<type>application/zip</type>
25+
<content>https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_boundary_lines_land.zip</content>
26+
</org.geoserver.catalog.impl.DataLinkInfoImpl>
27+
</dataLinks>
1428
<nativeCRS>GEOGCS[&quot;WGS 84&quot;,
1529
DATUM[&quot;World Geodetic System 1984&quot;,
1630
SPHEROID[&quot;WGS 84&quot;, 6378137.0, 298.257223563, AUTHORITY[&quot;EPSG&quot;,&quot;7030&quot;]],
@@ -45,6 +59,8 @@
4559
</store>
4660
<serviceConfiguration>false</serviceConfiguration>
4761
<simpleConversionEnabled>false</simpleConversionEnabled>
62+
<internationalTitle/>
63+
<internationalAbstract/>
4864
<maxFeatures>0</maxFeatures>
4965
<numDecimals>0</numDecimals>
5066
<padWithZeros>false</padWithZeros>

data/release/workspaces/ne/NaturalEarth/boundary_lines/layer.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@
1818
<logoHeight>0</logoHeight>
1919
</attribution>
2020
<dateCreated>2022-08-21 15:25:56.948 UTC</dateCreated>
21-
<dateModified>2022-08-21 16:15:02.807 UTC</dateModified>
21+
<dateModified>2026-04-08 22:05:57.611 UTC</dateModified>
2222
</layer>

data/release/workspaces/ne/NaturalEarth/coastlines/featuretype.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@
1111
<string>features</string>
1212
<string>coastlines</string>
1313
</keywords>
14+
<metadataLinks>
15+
<metadataLink>
16+
<type>text/html</type>
17+
<about>Coastline</about>
18+
<metadataType>Other</metadataType>
19+
<content>https://www.naturalearthdata.com/downloads/10m-physical-vectors/10m-coastline/</content>
20+
</metadataLink>
21+
</metadataLinks>
22+
<dataLinks>
23+
<org.geoserver.catalog.impl.DataLinkInfoImpl>
24+
<type>application/zip</type>
25+
<content>https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_coastline.zip</content>
26+
</org.geoserver.catalog.impl.DataLinkInfoImpl>
27+
</dataLinks>
1428
<nativeCRS>GEOGCS[&quot;WGS 84&quot;,
1529
DATUM[&quot;World Geodetic System 1984&quot;,
1630
SPHEROID[&quot;WGS 84&quot;, 6378137.0, 298.257223563, AUTHORITY[&quot;EPSG&quot;,&quot;7030&quot;]],
@@ -45,6 +59,8 @@
4559
</store>
4660
<serviceConfiguration>false</serviceConfiguration>
4761
<simpleConversionEnabled>false</simpleConversionEnabled>
62+
<internationalTitle/>
63+
<internationalAbstract/>
4864
<maxFeatures>0</maxFeatures>
4965
<numDecimals>0</numDecimals>
5066
<padWithZeros>false</padWithZeros>

data/release/workspaces/ne/NaturalEarth/coastlines/layer.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@
1818
<logoHeight>0</logoHeight>
1919
</attribution>
2020
<dateCreated>2022-08-21 15:41:25.144 UTC</dateCreated>
21-
<dateModified>2022-08-21 16:14:14.428 UTC</dateModified>
21+
<dateModified>2026-04-08 22:07:16.894 UTC</dateModified>
2222
</layer>

data/release/workspaces/ne/NaturalEarth/countries/featuretype.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,20 @@
1111
<string>features</string>
1212
<string>countries</string>
1313
</keywords>
14+
<metadataLinks>
15+
<metadataLink>
16+
<type>text/html</type>
17+
<about>Admin 0 – Countries</about>
18+
<metadataType>Other</metadataType>
19+
<content>https://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-0-countries/</content>
20+
</metadataLink>
21+
</metadataLinks>
22+
<dataLinks>
23+
<org.geoserver.catalog.impl.DataLinkInfoImpl>
24+
<type>application/zip</type>
25+
<content>https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries.zip</content>
26+
</org.geoserver.catalog.impl.DataLinkInfoImpl>
27+
</dataLinks>
1428
<nativeCRS>GEOGCS[&quot;WGS 84&quot;,
1529
DATUM[&quot;World Geodetic System 1984&quot;,
1630
SPHEROID[&quot;WGS 84&quot;, 6378137.0, 298.257223563, AUTHORITY[&quot;EPSG&quot;,&quot;7030&quot;]],
@@ -45,6 +59,8 @@
4559
</store>
4660
<serviceConfiguration>false</serviceConfiguration>
4761
<simpleConversionEnabled>false</simpleConversionEnabled>
62+
<internationalTitle/>
63+
<internationalAbstract/>
4864
<maxFeatures>0</maxFeatures>
4965
<numDecimals>0</numDecimals>
5066
<padWithZeros>false</padWithZeros>

data/release/workspaces/ne/NaturalEarth/countries/layer.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@
2121
<logoHeight>0</logoHeight>
2222
</attribution>
2323
<dateCreated>2022-08-21 15:24:36.787 UTC</dateCreated>
24-
<dateModified>2022-09-26 06:57:39.147 UTC</dateModified>
24+
<dateModified>2026-04-08 22:10:23.412 UTC</dateModified>
2525
</layer>

data/release/workspaces/ne/NaturalEarth/datastore.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<dataStore>
22
<id>DataStoreInfoImpl-1c443fee:182c0f3f209:-7ffb</id>
33
<name>NaturalEarth</name>
4+
<description>Processed from quickstart GeoPackage to provide a small subset of example layers</description>
45
<type>GeoPackage</type>
56
<enabled>true</enabled>
67
<workspace>
@@ -17,6 +18,6 @@
1718
</connectionParameters>
1819
<__default>false</__default>
1920
<dateCreated>2022-08-21 15:20:30.885 UTC</dateCreated>
20-
<dateModified>2023-01-22 22:31:38.598 UTC</dateModified>
21+
<dateModified>2026-04-08 21:56:33.985 UTC</dateModified>
2122
<disableOnConnFailure>false</disableOnConnFailure>
2223
</dataStore>

0 commit comments

Comments
 (0)