OCLI AIKP UI Documents

This section guides OCLI AIKP developers in preparing and publishing UI Document types for OCLI.

  • Where: ocli/docs/aikp-ui-docs/

  • Format: Markdown, suitable for viewing in GitHub or any Markdown renderer.

  • Scope: Each document type has its own page. Common/shared properties live in common.md.

Notes for publishers

  • All UI Documents are registered in the database as GeoJSON Features (one row per document) in the features table.

  • Each Feature must include properties.type as one of the supported types listed above, and a source object that points to the actual file/stream or tiler endpoint.

  • Prefer stable URLs/paths for source.url (or source.url_params.url when using the tiler).

  • Use correct source.type values (e.g., Raster, GeoJSON, Mesh, PointCloud, Media, Report, websocket). If MIME types are needed, include them in metadata or follow repository conventions.

  • Keep metadata keys consistent across pipelines to simplify UI mapping.

For detailed examples and publishing checklists, open the type-specific pages above.

Source URL template for static documents

  • For static, non-tiler assets (e.g., Vector, Report, Media, Mesh, PointCloud, Shape), set properties.source.url using the template from defaults.yaml at default_upload.GeoJSON.static.url.

  • The expected shape is: /s3/$FILE_PATH, where $FILE_PATH expands to <bucket>/<file_path>.

  • Example: bucket=staging, file_path=reports/2025-02-15/report.pdf → properties.source.url: /s3/staging/reports/2025-02-15/report.pdf.

Example (Report Feature excerpt):

{
  "properties": {
    "type": "Report",
    "source": {
      "url": "/s3/$FILE_PATH",
      "type": "Report"
    }
  }
}

Source URL template for COG tiff documents

{
  "properties": {
    "type": "Image",
    "source": {
      "url": "/tiler/tiles/{z}/{x}/{y}@2x",
      "type": "Raster",
      "url_params": {
        "url": "s3://<bucket>/<ResultKey>/<filename>"
      }
    }
  }
}

Notes:

  • When using raster tiles, continue to use the tiler URL (/tiler/tiles/{z}/{x}/{y}@2x) and put the backing COG URL in source.url_params.url.