Giter VIP home page Giter VIP logo

deegree-ogcapi's People

Contributors

copierrj avatar dependabot[bot] avatar dstenger avatar griterik avatar kapil-agnihotri avatar lgoltz avatar snyk-bot avatar stempler avatar stephanr avatar tfr42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deegree-ogcapi's Issues

Help documentation not reachable via webapp

Describe the bug
The help documentation of a deegree OGC API webapp which is linked in HTML view at the bottom left is not reachable and displays an empty page instead.
The reference implementation can be used to reproduce the bug: http://cite.deegree.org/deegree-ogcapi-1.3/datasets/kitaeinrichtung

To Reproduce
Steps to reproduce the behavior (here example for HTML encoding):

  1. Go to http://cite.deegree.org/deegree-ogcapi-1.3/datasets or http://cite.deegree.org/deegree-ogcapi-1.3/datasets/kitaeinrichtung
  2. Click on "Help" at the bottom left
  3. Documentation is not shown and white site is displayed instead

Expected behavior
Documentation shall be displayed.

Desktop (please complete the following information):

  • Version: 1.3
  • Datasource: postgres/postgis
  • Browser: firefox
  • GIS-Client: web browser

Support for Java 11+ and Tomcat 9+

Currently deegree OGC API Features doesn't compile with JDK 11+/17+. The binaries shall be executable on a runtime environment based on OpenJDK 11/17 and Tomcat 9/10.

OpenLayers unavaible in the deegree OGC API demo

Enable configuration of links in collection response document

Feature Description:

Users can configure links in the collection response document, including href, rel, type and title elements.

User can configure links to:

  1. bulk downloads (for example, a geopackage they are hosting)
  2. mapping encodings
  3. the INSPIRE feature collection library
  4. other

Additional information:

EXAMPLE MAPPING ENCODING

Link to description of mapping encoding: Add /rec/geojson/geojson-inspire (which is a recommendation): https://github.com/INSPIRE-MIF/gp-ogc-api-features/blob/master/spec/oapif-inspire-download.md

EXAMPLE FEATURE LIBRARY

Link to featureconcept:
Add /req/pre-defined/feature-concept-dictionary from the INSPIRE requirements here: https://github.com/INSPIRE-MIF/gp-ogc-api-features/blob/master/spec/oapif-inspire-download.md#req-bulk-download

Definition of done:

Links in the collection response document are configurable.

Package the JavaScript libs like OL

Currently JS libs such as OL are integrated remotely via CDN.
This approach allows tracking of users access to the web app.
The libs shall be packaged with the web app and managed as a dependency.

Build with JDK 1.8 and 11 is broken

After merged PR #10 the build for JDK 1.8 is broken.
Build error:

Error Message

org.glassfish.jersey.server.ServerExecutorProvidersConfigurator.registerExecutors(Lorg/glassfish/jersey/internal/inject/InjectionManager;Lorg/glassfish/jersey/model/internal/ComponentBag;Lorg/glassfish/jersey/spi/ExecutorServiceProvider;Lorg/glassfish/jersey/spi/ScheduledExecutorServiceProvider;)V

Stacktrace

java.lang.NoSuchMethodError: org.glassfish.jersey.server.ServerExecutorProvidersConfigurator.registerExecutors(Lorg/glassfish/jersey/internal/inject/InjectionManager;Lorg/glassfish/jersey/model/internal/ComponentBag;Lorg/glassfish/jersey/spi/ExecutorServiceProvider;Lorg/glassfish/jersey/spi/ScheduledExecutorServiceProvider;)V

Standard Output

[02:52:53]  WARN: [GMLSchemaInfoSet] Unhandled particle: MODEL_GROUP
[02:52:53]  WARN: [GMLSchemaInfoSet] Unhandled particle: MODEL_GROUP
[02:52:53]  WARN: [GMLSchemaInfoSet] Unhandled particle: MODEL_GROUP

Standard Error

Feb 17, 2022 2:52:53 AM org.glassfish.jersey.test.inmemory.InMemoryTestContainerFactory$InMemoryTestContainer <init>
INFO: Creating InMemoryTestContainer configured at the base URI http://localhost:9998/

ref: https://buildserver.deegree.org/view/deegree-ogcapi/job/deegree-ogcapi-BUILD/37/

How to configure the OpenAPI specification (OAS) definition document?

Hi,

I am running deegree OGC API in Apache Tomcat 9.0.69 on Windows 10, serving INSPIRE-compliant Planned Land Use data based on this schema in blob mode.

When I navigate to the API definition, in my case: http://localhost:8080/deegree-services-oaf/datasets/geojson_wfs/api, I get a "Failed to load API definition" error.

grafik-20221220-121533

deegree configuration files:

deegree_api_wfs_configuration(1).zip

Do you have any documentation that explains how I can configure the OAS defintion document?

Kind regards,
Kate

Add OAS 3 URL with file extension

Feature Description:

The OAS 3 root document is available at openapi.json or openapi.yaml, with file extension.

Currently, deegree ogcapi makes it available at XX/api.

Definition of done:

OAS 3 document is available at openapi.json or openapi.yaml as specified in the Dutch API requirements and the Dutch validator.

The functionality is optional.

Extend API base path to include version information

Feature Description:

The URI of the API (base path) is extended to include the major version number, prefixed by the letter v.

A pull request is made so that this feature can be available as an optional extension to the core deegree OGC API product.

Additional information:

This issue is related to the Dutch API requirement labeled AP-20:

API-20: Include the major version number in the URI

The URI of an API (base path) must include the major version number, prefixed by the letter v. This allows the exploration of multiple versions of an API in the browser. The minor and patch version numbers are not part of the URI and may not have any impact on existing client implementations.

An example of a base path for an API with current version 1.0.2:

https://api.example.org/v1/

Definition of done:

The URI of an API (base path) includes the major version number, prefixed by the letter v.

A pull request including the functionality is made available to deegree OGC API.

The functionality is optional.

Requesting features with BBOX returns features outside BBOX

Describe the bug
Requesting features with a request containing a BBOX returns features which are not located inside the BBOX.

The behavior was detected with the reference implementation: http://cite.deegree.org/deegree-ogcapi-1.3/datasets/kitaeinrichtung/

To Reproduce
Steps to reproduce the behavior:

  1. Send request: http://cite.deegree.org/deegree-ogcapi-1.3/datasets/kitaeinrichtung/collections/KitaEinrichtungen/items?f=json&bbox=177.0000000,65.0000000,-177.0000000,70.0000000
  2. Compare returned features with BBOX of request:
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "APP_KITAEINRICHTUNGEN_1010263",
      "geometry": {
        "type": "Point",
        "coordinates": [
          10.010474613490274,
          53.60929655136682
        ]
      },
...

Expected behavior
Only features located inside the BBOX shall be returned.

Additional context
This error was detected via the OGC CITE ETS using the code provided by this PR: opengeospatial/ets-ogcapi-features10#220

Reported storage CRS uses CRS name instead of identifier/code

Describe the bug
The Storage CRS as specified in "OGC API Features Part 2: Coordinate Reference Systems" shall
be one of the CRS identifiers from the list of supported CRS identifiers (Requirement 4).
Right now the CRS name is returned for the the storage CRS. So it is not an identifier and thus also not part of the list of supported CRS identifiers.

To Reproduce
Example case:

  1. Configure storage CRS in a feature store as http://www.opengis.net/def/crs/EPSG/0/4258
  2. Configure OGC API Features for this feature store
  3. When accessing the collections the stated storage CRS is ETRS89

Expected behavior

  • the storage CRS should be specified as identifier instead of as CRS name
  • it should be possible to align the list of supported CRS identifiers with the storage CRS identifier

Screenshots
image

Make element MetadataURL in deegreeOAF optional

Currently the element MetadataURL in deegreeOAF is mandatory as defined in https://github.com/deegree/deegree-ogcapi/blob/main/deegree-ogcapi-features/src/main/resources/META-INF/schemas/ogcapi/features/3.4.0/features.xsd#L59. The element shall be optional.

Also the documentation doesn't explain when to define a Dataset inside deegreeOAF (as defined in https://github.com/deegree/deegree-ogcapi/blob/main/deegree-ogcapi-features/src/main/resources/META-INF/schemas/ogcapi/features/3.4.0/features.xsd#L27) or to define the link to the metadata via the deegree webservices services/service_metadata.xml element as defined in https://github.com/deegree/deegree3/blob/327e7876b43c3885747840d5edc83df2940bc36a/deegree-services/deegree-services-commons/src/main/resources/META-INF/schemas/services/metadata/3.4.0/metadata.xsd#L19.

Use the deegreeOAF/Metadata/MetadataURL when you have a metadata set describing all OGC API Feature Collections. Use the deegreeServicesMetadata/DatasetMetadata/Dataset when you have a metadata set for each collection.

Spatial extent of collection view not calculated correctly

Describe the bug
When StorageCRS is configured to EPSG:4326 (see here deegree/deegree-workspaces#17) the calculated coordinates of the collection and items view seem to be different.

This is the spatial extent of collection KitaEinrichtungen retrieved via [API_ENDPOINT]/datasets/kitaeinrichtung/collections/KitaEinrichtungen?f=json:

  "extent": {
    "spatial": {
      "bbox": [
        [
          4.511343502479566,
          0.00048162875265936306,
          4.511348125125168,
          0.0004843912278179983
        ]
      ],
      "crs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
    }
  },

This is the geometries of the features retrieved via [API_ENDPOINT]/datasets/kitaeinrichtung/collections/KitaEinrichtungen/items?f=json:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "APP_KITAEINRICHTUNGEN_1010002",
      "geometry": {
        "type": "Point",
        "coordinates": [
          9.955169041803735,
          53.55926028699146
        ]
      },
...
    {
      "type": "Feature",
      "id": "APP_KITAEINRICHTUNGEN_1010467",
      "geometry": {
        "type": "Point",
        "coordinates": [
          10.105296352572411,
          53.64460438880249
        ]
      },
...
    {
      "type": "Feature",
      "id": "APP_KITAEINRICHTUNGEN_1011056",
      "geometry": {
        "type": "Point",
        "coordinates": [
          9.861767196817834,
          53.59800987268548
        ]
      },
...

The coordinates of the collection view seem to be broken. The items view, however, seems to be correct.

This also leads to the fact that the background map of the map preview of the collection view is not displayed as it is requested with coordinates which do not return any map.
On the other hand, the background map and the data are displayed correctly in the map preview of the item view.

Expected behavior
Coordinates should be correct in both cases.

Desktop (please complete the following information):

  • Version: Current main branch
  • OS: Ubuntu
  • Datasource: postgres/postgis
  • Browser: firefox

Adapt returned response header to provide version information

Feature Description:

The full version number is added in the response headers for every API call in the format: API-Version: 1.0.2.

A pull request is made so that this feature can be available as an optional extension to the core deegree OGC API product.

Additional information:

This issue is related to the Dutch API requirement labeled AP-57:

API-57: Return the full version number in a response header

Since the URI only contains the major version, it's useful to provide the full version number in the response headers for every API call. This information could then be used for logging, debugging or auditing purposes. In cases where an intermediate networking component returns an error response (e.g. a reverse proxy enforcing access policies), the version number may be omitted.

The version number must be returned in an HTTP response header named API-Version (case-insensitive) and should not be prefixed.

An example of an API version response header:
API-Version: 1.0.2

Definition of done:

The full version number is added in the response headers for every API call in the format: API-Version: 1.0.2.

A pull request is made so that this feature can be available as an optional extension to the core deegree OGC API product.

This feature should be optional.

Provide Dockerfile or other instructions for building a Docker image

Is your feature request related to a problem? Please describe.
I did not find any specific instructions on how the official Docker image is built or how to build the image in general.

Describe the solution you'd like
I think it would be helpful to have instructions on building a Docker image as part of the repository.

Describe alternatives you've considered
I guess there are many alternatives to building Docker images and that may depend on preferences.
You can find an example of a simple Dockerfile for building a Docker image for the project here.
With a respective hook configuration for Docker Hub, in case the Docker Hub automated build based on its GitHub integration would be an option, image labels on the revision, build date and repository URL can be automatically included.

Nexus repository public-ogcapi misses 3.5.0-SNAPSHOT versions

Describe the bug
Nexus repository public-ogcapi misses 3.5.0-SNAPSHOT versions. Generally there don't seem to be any snapshot versions - not sure if there were any others before.
This leads to the build failing if the respective artifact was no previously cached.

To Reproduce
Try building on clean slate with Maven or check the repository content.

Expected behavior
The required build dependencies should be available in the repository.

Screenshots

image

Example error from Maven build:

Error:  Failed to execute goal on project deegree-ogcapi-datasets: Could not resolve dependencies for project org.deegree:deegree-ogcapi-datasets:jar:1.3-SNAPSHOT: The following artifacts could not be resolved: org.deegree:deegree-core-commons:jar:3.5.0-SNAPSHOT, org.deegree:deegree-core-workspace:jar:3.5.0-SNAPSHOT: Could not find artifact org.deegree:deegree-core-commons:jar:3.5.0-SNAPSHOT in deegree-ogcapi-repo (https://repo.deegree.org/repository/public-ogcapi/) -> [Help 1]

Build dependency repository not available

Describe the bug
Build is failing because repository public-ogcapi referenced here seems to be not available.
Is this a temporary issue (e.g. related to maintenance)? Or is this repository no longer available?

To Reproduce
Steps to reproduce the behavior

  1. Run build with Maven, e.g. mvn install -DskipTests=true

Expected behavior
The repository for the build dependencies should be available.

Screenshots

Screenshot from 2023-03-10 09-54-46

Additional context
I tried using the "public" repository instead, which works in finding the related dependencies, but it seems those are not up-to-date with what the ogcapi project needs, since then the build complains about a missing class org.deegree.services.config.ApiKey which cannot be found in the current deegree3 main branch.
What version/branch of deegree is used as source for the ogcapi dependencies?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.