Skip to content

Conversation

@tylerjmchugh
Copy link
Contributor

@tylerjmchugh tylerjmchugh commented Dec 4, 2025

Resources stored in cloud backends (JCloud, Azure Blob, etc.) often carry valuable metadata (e.g. ownership, department, sensitivity) directly on the storage object.

Currently, GeoNetwork completely ignores these cloud-side resource properties. While they may exist in cloud storage, any application that needs them must make direct calls to the storage backend to retrieve them.

This PR addresses this gap by allowing selected cloud storage properties to be copied into the catalogue index, enabling fast access and search without requiring additional cloud storage calls.

export JCLOUD_ADDITIONAL_INDEXED_PROPERTIES=department,owner,sensitivity
jcloud.additional.indexed.properties=department,owner,sensitivity
"filestore": [
  {
    "lastModification": "2025-12-09T18:22:36.000+00:00",
    "metadataResourceExternalManagementProperties": {
      "id": "resource-001",
      "url": "http://localhost:8080/resources/resource-001",
      "validationStatus": "INCOMPLETE",
      "additionalProperties": {
        "department": "Planning",
        "owner": "John Doe",
        "sensitivity": "Unclassified"
      }
    },
    "size": 112339,
    "url": "http://localhost:8084/catalogue/srv/api/records/37aecae5-7783-4274-b595-df02aa003ac3/attachments/Sample1.pdf",
    "version": "1",
    "visibility": "PUBLIC"
  }
]

Checklist

  • I have read the contribution guidelines
  • Pull request provided for main branch, backports managed with label
  • Good housekeeping of code, cleaning up comments, tests, and documentation
  • Clean commit history broken into understandable chucks, avoiding big commits with hundreds of files, cautious of reformatting and whitespace changes
  • Clean commit messages, longer verbose messages are encouraged
  • API Changes are identified in commit messages
  • Testing provided for features or enhancements using automatic tests
  • User documentation provided for new features or enhancements in manual
  • Build documentation provided for development instructions in README.md files
  • Library management using pom.xml dependency management. Update build documentation with intended library use and library tutorials or documentation

@tylerjmchugh tylerjmchugh force-pushed the index-external-additional-resource-properties branch 3 times, most recently from 4890bb6 to 268a21e Compare December 4, 2025 20:03
@tylerjmchugh tylerjmchugh force-pushed the index-external-additional-resource-properties branch from 85a8be6 to 70c1439 Compare January 28, 2026 14:02
@tylerjmchugh tylerjmchugh force-pushed the index-external-additional-resource-properties branch from 70c1439 to 06fbd84 Compare January 29, 2026 14:29
@tylerjmchugh tylerjmchugh marked this pull request as ready for review January 29, 2026 14:47
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.

1 participant