Skip to content

Commit

Permalink
added documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
david-blasby committed Sep 18, 2024
1 parent dd1db6e commit acfc284
Show file tree
Hide file tree
Showing 24 changed files with 648 additions and 0 deletions.
Empty file added docs/README.md
Empty file.
Empty file added docs/manual/README.md
Empty file.
17 changes: 17 additions & 0 deletions docs/manual/docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
hide:
- navigation
---

# GeoNetwork MicroServices {#toc}

Welcome to GeoNetwork MicroServices.

<div class="grid cards" markdown>

- :fontawesome-solid-signs-post: [OGCAPI-Records](ogcapi/index.md)

---

Implementation of OGCAPI-Records.
</div>
41 changes: 41 additions & 0 deletions docs/manual/docs/ogcapi/catalog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Catalog.yaml definition {#toc}


See [Catalog Definition in the OGCAPI specification](https://docs.ogc.org/DRAFTS/20-004.html#req_records-api_catalog-response).

The properties come from the source's (portal sub-portal) in the GeoNetwork "sources" table, column "serviceRecord".
This can be configured in the `GN GUI: Admin Console-Settings-sources` for sub-portals.

There is no GUI to set this for the "main" portal - do this in GN GUI: Admin Console-Settings-Settings-Catalog Service for the Web (CSW)-Record to use for GetCapabilities (`system/csw/capabilityRecordUuid`).


|Property| Description | Elastic Index JSON Property |
|--------| ----------- | --------------------------- |
| id | A unique identifier for this catalog. | metadataIdentifier|
| created | The date this collection was created. | createDate|
| updated | The more recent date on which this collection was changed. |changeDate |
| conformsTo | The extensions/conformance classes used in this catalog object. | `not used` |
| type | Fixed value of "Catalog". | always "Catalog" |
| itemType | Fixed value of "record", "catalog" or both. | always "record"|
| title | A human-readable name given to this catalog. | resourceTitleObject|
| description | A free-text description of this catalog. | resourceAbstractObject|
| extent | The spatiotemporal coverage of this catalog. | spatial: geom <br> temporal: resourceTemporalDateRange |
| crs | A list of coordinate reference systems used for spatiotemporal values. | coordinateSystem|
| keywords | A list of free-form keywords or tags associated with this collection. |tag |
themes | A knowledge organization system used to classify this collection. | allKeywords|
| language | The language used for textual values (i.e. titles, descriptions, etc.) of this collection object. |mainLanguage |
| languages | The list of other languages in which this collection object is available. |otherLanguage |
| recordLanguages | The list of languages in which records from the collection can be represented. |`not used` |
| contacts | A list of contacts qualified by their role(s). |contact |
| license | The legal provisions under which this collection is made available. |MD_LegalConstraintsUseLimitationObject |
| rights | A statement that concerns all rights not addressed by the license such as a copyright statement. | `not used`|
| recordsArrayName | The name of the array property in the catalog used to encode records in-line. The default value is records. | `not used`|
| records | An array of records encoded in-line in the catalog. |`not used` |
| links | A list of links related to this catalog. | `filled with Java code`|
| linkTemplates | A list of link templates related to this catalog. | `not used`|
| schemes | A list of schemes related to this catalog. |`not used`|

See `ElasticIndexJson2CollectionInfo.java` for more details.

NOTE: For `Contact.address`, we only fill in the `deliveryPoint` because that's all that's available in the Elastic Index JSON.

4 changes: 4 additions & 0 deletions docs/manual/docs/ogcapi/conformance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Conformance {#toc}


See [Conformance in the OGCAPI specification](https://docs.ogc.org/DRAFTS/20-004.html#conformance_class).
15 changes: 15 additions & 0 deletions docs/manual/docs/ogcapi/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

# GeoNetwork MicroServices OGCAPI-Records {#toc}


This service module implements the ([OGCAPI-Records](https://ogcapi.ogc.org/records)).

| Endpoint Name | Endpoint Location | Meaning |
| -------- | ------- | -------- |
| [Landing Page](landingpage) | / | Home Page |
| [Conformance declaration](conformance) | /conformance | Conformance Documents |
| [OpenAPI Documentation](openapi) | /openapi | OpenAPI (Swagger) description document |
| [Record collections](record-collections) | /collections | List of Catalogs<br>(GN portals) |
| [Record collection](record-collection) | /collections/{collectionId} | Information about a single Catalog <br>(GN portal) |
| [Records](records) | /collections/{collectionId}/items | Records in a Catalog<br>Search, etc... |
| [Record](record) | /collections/{collectionId}/items/{recordId} | Single Metadata Record |
26 changes: 26 additions & 0 deletions docs/manual/docs/ogcapi/landingpage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Landing Page {#toc}

The Landing Page will show information about the server. It has links to the [Conformance declaration](conformance), the [OpenAPI Documentation](openapi), and the [Record collections](record-collections).

See [Landing Page in the OGCAPI specification](https://docs.ogc.org/is/17-069r3/17-069r3.html#_api_landing_page).


## JSON Model

The JSON model follows the ["landingPage.yml"](https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/schemas/landingPage.yaml) definition in the OGCAPI Specification.

| JSON Tag| Meaning |
| -------- | ------- |
| title | Title for the server |
| description | Description of the server |
| links | Links to other documents |


The GeoNetwork OGCAPI-Records implementation also include a non-standard item:

| JSON Tag| Meaning |
| -------- | ------- |
| systemInfo | Metadata for the Server. See the [catalog.yaml](../catalog) description. |


This metadata information is taken from the Service Record linked to the GeoNetwork's main portal.
4 changes: 4 additions & 0 deletions docs/manual/docs/ogcapi/openapi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# OpenApi Description Document {#toc}

This is the [OpenApi (Swagger) Description Document](https://swagger.io/).

7 changes: 7 additions & 0 deletions docs/manual/docs/ogcapi/record-collection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Record Collection {#toc}

See [Record Collection in the OGCAPI specification](https://docs.ogc.org/DRAFTS/20-004.html#clause-record-collection).

##JSON Model

See the [catalog.yaml](../catalog) description.
11 changes: 11 additions & 0 deletions docs/manual/docs/ogcapi/record-collections.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Record Collections {#toc}

This gives a summary of all the Record Collections (Catalogs) on the Server. In GeoNetwork this is the main portal, plus any sub-portals described.


See [Record Collections in the OGCAPI specification](https://docs.ogc.org/DRAFTS/20-004.html#record-collections).


## JSON MODEL

See the [catalog.yaml](../catalog) description.
6 changes: 6 additions & 0 deletions docs/manual/docs/ogcapi/record.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Record {#toc}

See [Record in the OGCAPI specification](https://docs.ogc.org/DRAFTS/20-004.html#clause-record-core).



4 changes: 4 additions & 0 deletions docs/manual/docs/ogcapi/records.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Records {#toc}

See [Records in the OGCAPI specification](https://docs.ogc.org/DRAFTS/20-004.html#clause-record-collection).

152 changes: 152 additions & 0 deletions docs/manual/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# Project information
site_name: GeoNetwork Opensource Microservices
site_description: GeoNetwork Opensource Microservices.
site_dir: target/html
site_url: https://docs.geonetwork-opensource.org/

# Repository
repo_name: geonetwork-microservices
repo_url: https://github.com/geonetwork/geonetwork-microservices
edit_uri: edit/main/docs/manual/docs

# Copyright
copyright: Copyright &copy; 2024 FAO-UN and others

extra_css:
- assets/stylesheets/extra.css

# Configuration
theme:
name: material
language: en
custom_dir: overrides
logo: assets/images/geonetwork-logo.svg
favicon: assets/images/geonetwork-logo.png
icon:
repo: fontawesome/brands/github
palette:
# Palette toggle for light mode
- media: "(prefers-color-scheme: light)"
scheme: default
primary: blue
toggle:
icon: material/weather-night
name: Switch to dark mode
# Palette toggle for dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/weather-sunny
name: Switch to light mode
features:
- toc.follow
- navigation.tracking
- navigation.top
- navigation.tabs
- navigation.prune
- navigation.indexes
- navigation.footer
- header.autohide
- content.tabs.link
- content.code.copy
- content.action.view
- content.action.edit
- announce.dismiss

# Plugins - install using: pip3 install -r requirements.txt
plugins:
- exclude:
glob:
- annexes/gallery/bin/README.md
- i18n:
docs_structure: suffix
reconfigure_material: true
languages:
- locale: en
name: English
build: true
default: true
site_name: 'GeoNetwork MicroServices OpenSource'
- locale: fr
name: Français
build: !ENV [FRENCH,true]
site_name: 'GeoNetwork MicroServices OpenSource'
site_description: Catalogue GeoNetwork pour répertorier, rechercher et examiner les enregistrements.
nav_translations:
Home: Home
Search: Search
Record: Record
Map: Map
- search

# Customizations
extra:
version:
provider: mike
default: stable
alias: true
homepage: https://geonetwork-opensource.org/
social:
- icon: fontawesome/brands/github
link: https://github.com/geonetwork
- icon: fontawesome/brands/docker
link: https://hub.docker.com/_/geonetwork
- icon: geonetwork/logo_bw
link: https://geonetwork-opensource.org/
name: GeoNetwork Website

# For use with --strict to produce failures on build warnings
validation:
nav:
omitted_files: warn
not_found: warn
absolute_links: warn
links:
not_found: warn
absolute_links: warn
unrecognized_links: warn

# Extensions
# - These are carefully chosen to work with pandoc markdown support for whole document translation
markdown_extensions:
- admonition
- attr_list
- def_list
- pymdownx.details
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
options:
custom_icons:
- overrides/.icons
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.keys
- pymdownx.smartsymbols
- pymdownx.snippets
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
- tables
- md_in_html

# Page tree
nav:
- 'GeoNetwork MicroServices': index.md
- 'OGCAPI-Records':
- ogcapi/index.md
- ogcapi/landingpage.md
- ogcapi/conformance.md
- ogcapi/openapi.md
- ogcapi/record-collections.md
- ogcapi/record-collection.md
- ogcapi/records.md
- ogcapi/record.md

28 changes: 28 additions & 0 deletions docs/manual/overrides/.icons/geonetwork/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit acfc284

Please sign in to comment.