Hi Devs
I’m searching the docs, I can only find the need for ModuleStatus to be implemented for modules in the Pending Release and Extension profiles - not needed for the initial Community profile? Is that correct? To try and keep it simple to start a community module?
Anyway, I did a quick audit of all the 2.28 modules, there are some extensions that do not have a ModuleStatus implemented (typically a org.geoserver.platform.ModuleStatusImpl bean declared in applicationContext.xml or a class extending ModuleStatusImpl). Can I take the opportunity to rectify this, and I might as well do it for all the community modules as well, as a template for future modules?
How exactly do people use this functionality?
Peter
Detailed audit — Extension modules
| Module | Path | ModuleStatus registered? | Note |
|---|---|---|---|
| app-schema | src/extension/app-schema |
app-schema-core has ModuleStatus bean |
|
| arcgrid | src/extension/arcgrid |
applicationContext.xml registers arcgridExtension |
|
| authkey | src/extension/authkey |
ModuleStatus bean present | |
| charts | src/extension/charts |
ModuleStatus bean present | |
| control-flow | src/extension/control-flow |
ControlModuleStatus extends ModuleStatusImpl |
|
| css | src/extension/css |
No ModuleStatusImpl found |
|
| csw | src/extension/csw |
ModuleStatus bean present | |
| db2 | src/extension/db2 |
ModuleStatus bean present | |
| dxf | src/extension/dxf |
ModuleStatus bean present | |
| excel-core / excel-wfs / excel-wps | src/extension/excel-* |
ModuleStatus beans present | |
| feature-pregeneralized | src/extension/feature-pregeneralized |
ModuleStatus bean present | |
| gdal (extension) | src/extension/gdal |
No ModuleStatus found in extension area | |
| geopkg-output | src/extension/geopkg-output |
ModuleStatus beans in core/wms/wfs modules | |
| grib | src/extension/grib |
No ModuleStatusImpl found |
|
| gwc-s3 | src/extension/gwc-s3 |
ModuleStatus bean present | |
| h2 | src/extension/h2 |
ModuleStatus bean present | |
| image | src/extension/image |
ModuleStatus bean present | |
| importer | src/extension/importer |
Web/rest/core modules have ModuleStatus entries | |
| inspire | src/extension/inspire |
ModuleStatus entries present | |
| jp2k | src/extension/jp2k |
ModuleStatus entry present | |
| kml | src/extension/kml |
ModuleStatus entry present | |
| libjpeg-turbo | src/extension/libjpeg-turbo |
No ModuleStatusImpl found |
|
| mapml | src/extension/mapml |
ModuleStatus entries present | |
| mbstyle | src/extension/mbstyle |
ModuleStatus entries present | |
| metadata | src/extension/metadata |
No ModuleStatusImpl found |
|
| mongodb | src/extension/mongodb |
ModuleStatus entries present | |
| monitor (core) | src/extension/monitor |
ModuleStatus entries in core/test resources | |
| mysql | src/extension/mysql |
ModuleStatus entry present | |
| netcdf | src/extension/netcdf |
No ModuleStatusImpl found |
|
| netcdf-out | src/extension/netcdf-out |
No ModuleStatusImpl found |
|
| ogcapi (extension) | src/extension/ogcapi |
No ModuleStatusImpl found |
|
| ogr | src/extension/ogr |
OGRModuleStatus extends ModuleStatusImpl |
|
| oracle | src/extension/oracle |
ModuleStatus bean present | |
| params-extractor | src/extension/params-extractor |
ModuleStatus bean present | |
| printing | src/extension/printing |
ModuleStatus bean present | |
| querylayer | src/extension/querylayer |
ModuleStatus bean present | |
| rat | src/extension/rat |
No ModuleStatusImpl found |
|
| security (extension) | src/extension/security |
No ModuleStatusImpl found at top-level extension/security |
|
| sldService | src/extension/sldService |
ModuleStatus entry present | |
| sqlserver | src/extension/sqlserver |
ModuleStatus entry present | |
| vectortiles | src/extension/vectortiles |
ModuleStatus entry present | |
| wcs / wcs1_0 / wcs1_1 / wcs2_0-eo | src/extension/wcs* |
ModuleStatus entries present | |
| web-resource | src/extension/web-resource |
ModuleStatus entry present | |
| wmts-multi-dimensional | src/extension/wmts-multi-dimensional |
ModuleStatus entry present | |
| wps / wps-web / wps-core | src/extension/wps |
Web/core modules have ModuleStatus entries | |
| wps-download | src/extension/wps-download |
No ModuleStatusImpl found |
|
| wps-jdbc | src/extension/wps-jdbc |
No ModuleStatusImpl found |
|
| ysld | src/extension/ysld |
ModuleStatus entries present |
Detailed audit — Community modules
| Module | Path | ModuleStatus registered? | Note |
|---|---|---|---|
| acl | src/community/acl |
applicationContext.xml contains ModuleStatus bean |
|
| backup-restore | src/community/backup-restore |
web submodule declares ModuleStatus bean |
|
| cog (cog-s3, cog-core, cog-http, cog-google, cog-azure) | src/community/cog/* |
Several submodules declare ModuleStatusImpl beans (e.g. cog-s3) |
|
| colormap | src/community/colormap |
No ModuleStatusImpl found |
|
| cov-json | src/community/cov-json |
No ModuleStatusImpl found |
|
| dds | src/community/dds |
No ModuleStatusImpl found |
|
| dyndimension | src/community/dyndimension |
No ModuleStatusImpl found |
|
| elasticsearch | src/community/elasticsearch |
No ModuleStatusImpl bean in applicationContext.xml |
|
| features-autopopulate | src/community/features-autopopulate |
No ModuleStatusImpl found |
|
| features-templating | src/community/features-templating/* |
No ModuleStatusImpl found |
|
| flatgeobuf | src/community/flatgeobuf |
No ModuleStatusImpl bean in applicationContext.xml |
|
| gdal (gdal-wps, gdal-wcs) | src/community/gdal/* |
gdal-wps and gdal-wcs show ModuleStatus references |
|
| geoparquet | src/community/geoparquet |
No ModuleStatusImpl found |
|
| geopkg | src/community/geopkg |
No ModuleStatusImpl found |
|
| gpxppio | src/community/gpxppio |
No ModuleStatusImpl found |
|
| graticule | src/community/graticule |
No ModuleStatusImpl found |
|
| gsr | src/community/gsr |
No ModuleStatusImpl found |
|
| gwc-azure-blob | src/community/gwc-azure-blob |
No ModuleStatusImpl found |
|
| gwc-gcs-blob | src/community/gwc-gcs-blob |
No ModuleStatusImpl found |
|
| gwc-mbtiles | src/community/gwc-mbtiles |
No ModuleStatusImpl found |
|
| gwc-sqlite | src/community/gwc-sqlite |
No ModuleStatusImpl found |
|
| hello | src/community/hello |
No ModuleStatusImpl found |
|
| hello_web | src/community/hello_web |
No ModuleStatusImpl found |
|
| hz-cluster | src/community/hz-cluster |
No ModuleStatusImpl found |
|
| importer-jdbc | src/community/importer-jdbc |
No ModuleStatusImpl found |
|
| jdbcconfig | src/community/jdbcconfig |
No ModuleStatusImpl found |
|
| jdbcstore | src/community/jdbcstore |
No ModuleStatusImpl found |
|
| jms-cluster | src/community/jms-cluster |
No ModuleStatusImpl found |
|
| jwt-headers | src/community/jwt-headers |
applicationContext.xml contains ModuleStatus bean |
|
| libdeflate | src/community/libdeflate |
No ModuleStatusImpl found |
|
| mbtiles | src/community/mbtiles |
No ModuleStatusImpl found |
|
| mbtiles-store | src/community/mbtiles-store |
No ModuleStatusImpl found |
|
| monitor-kafka | src/community/monitor-kafka |
applicationContext.xml references ModuleStatus |
|
| monitor-micrometer | src/community/monitor-micrometer |
applicationContext.xml references ModuleStatus |
|
| ncwms | src/community/ncwms |
No ModuleStatusImpl found |
|
| netcdf-ghrsst | src/community/netcdf-ghrsst |
No ModuleStatusImpl found |
|
| nsg-profiles | src/community/nsg-profiles |
No ModuleStatusImpl found |
|
| ogcapi (ogcapi-*) | src/community/ogcapi/* |
e.g. ogcapi-tiles missing ModuleStatus bean |
|
| oseo (oseo-core/rest/service/web) | src/community/oseo/* |
oseo-core, oseo-rest, oseo-service, web-oseo register ModuleStatus |
|
| pmtiles-store | src/community/pmtiles-store |
applicationContext.xml shows ModuleStatus |
|
| programming-guide | src/community/programming-guide |
No ModuleStatusImpl found |
|
| proxy-base-ext | src/community/proxy-base-ext |
applicationContext.xml has ModuleStatus |
|
| rest-ext | src/community/rest-ext |
No ModuleStatusImpl found |
|
| rest-openapi | src/community/rest-openapi |
No ModuleStatusImpl found |
|
| rest-upload | src/community/rest-upload |
No ModuleStatusImpl found |
|
| s3-geotiff | src/community/s3-geotiff |
No ModuleStatusImpl found |
|
| schemaless-features | src/community/schemaless-features/* |
No ModuleStatusImpl found |
|
| security (web-service-auth, oidc, others) | src/community/security/* |
web-service-auth and oidc submodules register ModuleStatus; others may not |
|
| singlestore | src/community/singlestore |
applicationContext.xml contains ModuleStatus bean |
|
| smart-data-loader | src/community/smart-data-loader |
No ModuleStatusImpl found |
|
| solr | src/community/solr |
No ModuleStatusImpl found |
|
| spatialjson | src/community/spatialjson |
applicationContext.xml contains ModuleStatus bean |
|
| stac-datastore | src/community/stac-datastore |
No ModuleStatusImpl found |
|
| taskmanager | src/community/taskmanager |
No ModuleStatusImpl found |
|
| vector-mosaic | src/community/vector-mosaic |
vector-mosaic-rest registers ModuleStatus |
|
| vsi | src/community/vsi |
No ModuleStatusImpl found |
|
| web-ogr | src/community/web-ogr |
No ModuleStatusImpl found |
|
| web-service-auth | src/community/web-service-auth |
applicationContext.xml contains ModuleStatus bean |
|
| webp | src/community/webp |
No ModuleStatusImpl found |
|
| wfs-freemarker | src/community/wfs-freemarker |
No ModuleStatusImpl found |
|
| wps-download-netcdf | src/community/wps-download-netcdf |
No ModuleStatusImpl found |
|
| wps-longitudinal-profile | src/community/wps-longitudinal-profile |
No ModuleStatusImpl found |
|
| wps-openai | src/community/wps-openai |
No ModuleStatusImpl found |
|
| wps-remote | src/community/wps-remote |
No ModuleStatusImpl found |

