Hi Gabriel,
as a goal, it is achievable, but there are a few roadblocks that need to be
removed.
On the good side of things, we have a service that, last time I checked,
managed to pass the
CITE tests for OGC API - Core and OGC API Features - Coordinate Reference
Systems by Reference.

However, there are also issues that stem either from the nature of the OGC
APIs and part from
the code being developed mostly as an accumulation of code sprints.

The issue with OGC APIs development is that an implementation of a service
is an amalgamation
of various small specs, all of which are in different stages of
development, some stable, other subject
to change.
The issue becomes evident when this is coupled with Spring MVC controllers,
e.g. the items resource
<https://github.com/geoserver/geoserver/blob/main/src/community/ogcapi/ogcapi-features/src/main/java/org/geoserver/ogcapi/v1/features/FeatureService.java#L375>
:
in the same method signature we have bits that are finalized (bbox, limit,
datetime), bit that are
only formally finalized (filter, filter-lang, filter-crs) and others that
are coming straight out of other
specifications (sortby).

The filter bit needs some clarification. Filter comes from Part 3, which
defines a general filtering mechanism,
but the preferred filtering language is CQL2. I hear that CQL2 is nearing
completion, but our implementation
for cql-text and cql-json (found in GeoTools) are several months old.

Now, in GeoServer a supported module is stable and reliable, spec wise: we
cannot have someone implement
a client against a supported module, and then a few months down the line,
maybe to grab a security fix,
have it stop working in a permanent way because the specification changed.
Long story short, an extension module should implement a stable
specification.

So, we'll have a need to separate OGC API Features so that the unstable
bits are left out in the community, as
plugins, while the stable bits are found in the extension. To do this,
you'll have to go thought the service
implementation with a fine tooth comb and separate the various bits,
opening extension points for the current
functionality that does not belong in extension.

Thankfully, filtering languages are pluggable already, although I'm not
sure how to indicate that the default
is going to be something else (e.g. ECQL) of it going this way is even
desirable, as at one point that default will
have to change.

The other troublesome bit is that the some of the core integration of the
dispatcher has overridden some
Spring bits in a deep way to get support for the @HTMLOutput annotations and
the general output format management (e.g., the support of "f=json", or the
variable interpretation of
what "f=json" means for example). I don't see it a priority, but you might
think otherwise.

The last bit is that this is a true community module, in that while I've
been doing quite a bit of work on it,
a number of people have already contributed to it, so far with little
friction. I also know that GeoCat is interested
in working on it (and already has, for example, contributed various bits to
it) and also has some objectives to
achieve, I'll let Jody explain more.
Generally speaking, graduating this module will have to be an effort that
keeps everyone happy, so collaboration
and openness to compromise are going to be key here.

Regards,

Andrea Aime


==
GeoServer Professional Services from the experts!

Visit http://bit.ly/gs-services-us for more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions Group
phone: +39 0584 962313

fax:     +39 0584 1660272

mob:   +39  339 8844549

https://www.geosolutionsgroup.com/

http://twitter.com/geosolutions_it

-------------------------------------------------------

Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si
precisa che ogni circostanza inerente alla presente email (il suo
contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è
riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il
messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra
operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is
addressed and may contain information that is privileged, confidential or
otherwise protected from disclosure. We remind that - as provided by
European Regulation 2016/679 “GDPR” - copying, dissemination or use of this
e-mail or the information herein by anyone other than the intended
recipient is prohibited. If you have received this email by mistake, please
notify us immediately by telephone or e-mail


On Mon, Jun 24, 2024 at 4:20 PM Gabriel Roldan <
gabriel.rol...@camptocamp.com> wrote:

> Hi all,
>
> Camptocamp is interested in contributing to graduate the
> gs-ogcapi-features module (and by extension gs-ogcapi-core) to supported
> status.
>
> I'll be getting used to it, but wonder if that's an achievable goal and if
> you have any clue of what it would entail.
>
> Cheers,
> Gabe
> *camptocamp*
> INNOVATIVE SOLUTIONS
> BY OPEN SOURCE EXPERTS
>
> *Gabriel Roldán*
> Geospatial Developer
>
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to