Skip to content

Introduce Conformance API to configure OGCAPI Features#8014

Merged
jodygarnett merged 21 commits intogeoserver:mainfrom
jodygarnett:api-conformance-info
Nov 29, 2024
Merged

Introduce Conformance API to configure OGCAPI Features#8014
jodygarnett merged 21 commits intogeoserver:mainfrom
jodygarnett:api-conformance-info

Conversation

@jodygarnett
Copy link
Member

@jodygarnett jodygarnett commented Nov 7, 2024

Looking at how to add conformance to the ogcapi-core as something we can configure on and off.

Registers an AdminPagePanel with WFSInfo to be shown on the WFS page:

image

Feedback welcome.

Checklist

For core and extension modules:

  • New unit tests have been added covering the changes.
  • Documentation has been updated (if change is visible to end users).
  • The REST API docs have been updated (when changing configuration objects or the REST controllers).
  • There is an issue in the GeoServer Jira (except for changes that do not affect administrators or end users in any way).
  • Commit message(s) must be in the form [GEOS-XYZWV] Title of the Jira ticket.
  • Bug fixes and small new features are presented as a single commit.
  • Each commit has a single objective (if there are multiple commits, each has a separate JIRA ticket describing its goal).

@jodygarnett jodygarnett requested a review from aaime November 7, 2024 08:26
Copy link
Member

@aaime aaime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the initial idea, looking forward to see some GUI to configure, how it's stored, and how it's eventually used to control the service behavior.

Left a bunch of comments below.

Copy link
Member

@aaime aaime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a look and provided some comments. Will be interesting to see how you want to address turning off some behavior. Or are you settling down to just stop advertising it, but then leave it there?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not expect to see this page hand-written... actually it might be a problem.
What if a given conformance class is provided through a plugin?

Probably better to have enough configuration to auto-generate this from the conformance classes that might be found in the spring context.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am walking before I can run on this one Andrea. I think the next step is to make a conformance panel that can be used multiple times.

Want to get something that functions at all here to control the module.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a conformance class is provided through a plugin it provides its own AdminPagePanel, as that is the existing UI infrastructure for contributing.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is one possibility, but it's work-intensive and clumsy. Alsor remember admin panels are not following an order, you can have panels out of any logical order, and other unrelated extensions have their eventual panel show up in the middle.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am thinking how to do that, and we have an extension that provides:

  • APIConformance being configured
  • property expression metadata/cql2/text from WFSInfo

Then FeatureServiceAdminPanel could do the very simple story we have now. But not additional settings.

May be better to have an extension like ConformancePanel, with a default implementation for the simple case.

@jodygarnett jodygarnett marked this pull request as ready for review November 26, 2024 06:00
@jodygarnett jodygarnett force-pushed the api-conformance-info branch 2 times, most recently from b14d6ea to 558c349 Compare November 26, 2024 06:06
@jodygarnett jodygarnett changed the title [WIP] APIConformance Introduce Conformance API to configure OGCAPI Features Nov 26, 2024
@jodygarnett jodygarnett force-pushed the api-conformance-info branch 2 times, most recently from 7159088 to 215fc7c Compare November 26, 2024 22:22
Copy link
Member

@aaime aaime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had another go looking at the diff (but could not try it out interactively yet)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on configuration, the sortby, filter, filter-lang parameters should also be removed (and so on)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

path: search, queryables and functions now removable

parameters: filter, filter-lang, sortBy now removable

jodygarnett and others added 6 commits November 28, 2024 21:54
The checkboxes in FeatureServiceAdminPanel would otherwise update
the model value to false when it was originally null.

This way the XStream persister will get the unchanged values as null
instead of false.
@jodygarnett
Copy link
Member Author

Rebased to get the cite fixes from main branch. Addressed formatting and QA failures also.

@jodygarnett jodygarnett merged commit 3a8c52c into geoserver:main Nov 29, 2024
@jodygarnett jodygarnett deleted the api-conformance-info branch November 29, 2024 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants