Skip to content

Expose MapX metadata catalog through OGC standards using pycsw #1103

@thomaspiller

Description

@thomaspiller

Objective

Provide an OGC-compliant interface for MapX metadata catalog by:

  • extracting metadata from the MapX catalog,
  • transforming it into a format compatible with pycsw,
  • publishing it through OGC catalog standards.

Implementation options

Option 1 — External to MapX

Manage the pycsw service outside of the MapX stack.

Approach

  • Deploy pycsw on GRID-Geneva infrastructure
  • Extract and transform MapX metadata catalog using an external script
  • Store transformed metadata in a dedicated database

Pros

  • Clear separation of concerns
  • Lower impact on the existing MapX stack
  • Easier to deploy and maintain independently

Option 2 — Internal to MapX

Integrate pycsw directly into the MapX stack.

Approach

  • Add pycsw as a service in the MapX stack
  • Extract and transform MapX metadata catalog through a MapX routine
  • Store transformed metadata in a dedicated table/view in the MapX database

Pros

  • Tighter integration with MapX
  • Simpler synchronization with source metadata
  • Reuse of existing MapX infrastructure and database
  • Easy integration across multiple MapX instances

Expected outcome

  • MapX catalog metadata is exposed through OGC-compliant endpoints via pycsw
  • Metadata extraction/transformation workflow is documented and reproducible
  • A dedicated storage layer exists for transformed metadata
  • The solution is maintainable and aligned with MapX architecture choices

Discussion points

  • Which OGC catalog standard/profile should be targeted?
  • Which architecture is preferable: external service or internal integration?
  • What is the minimum metadata mapping required for a first implementation?

TODO

  • A technical approach is selected (external or internal)
  • A metadata mapping from MapX catalog fields to pycsw-compatible records is defined
  • A prototype extraction/transformation workflow is implemented
  • Metadata can be queried through a working pycsw endpoint
  • Deployment and maintenance requirements are documented

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo - code base 📚

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions