Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
kalxas committed Nov 22, 2023
1 parent 682d38c commit fa1f88e
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 66 deletions.
167 changes: 101 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<p align="center">
This repository includes the documentation of the EOEPCA Resource Catalogue
<br />
<a href="https://github.com/EOEPCA/rm-resource-catalogue"><strong>Explore the docs »</strong></a>
<a href="https://github.com/EOEPCA/rm-resource-catalogue/tree/readme#documentation"><strong>Explore the docs »</strong></a>
<br />
<a href="https://resource-catalogue.demo.eoepca.org/">View Demo</a>
·
Expand All @@ -44,8 +44,9 @@

## Table of Contents

- [About the Project](#about-the-project)
- [Description](#description)
- [Built With](#built-with)
- [Interfaces](#interfaces)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
Expand All @@ -60,92 +61,124 @@

<!-- ABOUT THE PROJECT -->

## About The Project
## Description

[![Product Name Screen Shot][screenshot1]](https://example.com)
The EOEPCA Resource Catalogue building block is built upon the upstream pycsw project.

Here's a blank template to get started:
**To avoid retyping too much info. Do a search and replace with your text editor for the following:**
`template-svce`, `twitter_handle`, `email`
pycsw is an OGC API - Records and OGC CSW server implementation written in Python.

### Built With
Started in 2010 (more formally announced in 2011), pycsw allows for the publishing and discovery of geospatial metadata via numerous APIs (CSW 2/CSW 3, OGC API - Records, STAC API, OpenSearch, OAI-PMH, SRU), providing a standards-based metadata and catalogue component of spatial data infrastructures.

- [Javalin framework](https://javalin.io/)
- [Log4j2](https://logging.apache.org/log4j/2.x/) + [YAML](https://yaml.org/)
- [Junit 5](https://junit.org/junit5/)
pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X). It is an official [OSGeo Project](https://www.osgeo.org/projects/pycsw/).

<!-- GETTING STARTED -->
pycsw is [Certified OGC Compliant](https://www.ogc.org/resources/product-details/?pid=1661) and is an [OGC Reference Implementation](https://demo.pycsw.org/)

## Getting Started
[![Resource Catalogue Architecture][architecture]](https://resource-catalogue.demo.eoepca.org/)

To get a local copy up and running follow these simple steps.

### Prerequisites

This is an example of how to list things you need to use the software and how to install them.
### Built With

- [Vagrant](https://www.vagrantup.com/docs/installation/)
- [EOEPCA Development Environment](https://github.com/EOEPCA/dev-env)
- [Python](https://www.python.org/)
- [pycsw](https://pycsw.org/)

### Installation
### Interfaces

1. Get into EOEPCA's development environment
The Resource Catalogue provides the following interfaces:
* OGC CSW 2.0.2 ([OGC Reference Implementation](https://www.ogc.org/resources/product-details/?pid=1661))
* OGC CSW 3.0.0 ([OGC Reference Implementation](https://www.ogc.org/resources/product-details/?pid=1661))
* OGC API - Records - Part1:Core ([Early Implementation](https://github.com/opengeospatial/ogcapi-records/blob/master/implementations.md#pycsw))
* STAC API 1.0.0 ([Listed in STAC API Servers](https://stacspec.org/en/about/tools-resources/))
* OpenSearch with OGC EO, Geo and Time extensions

```sh
vagrant ssh
```
[![Resource Catalogue Landing Page Screen Shot][screenshot]](https://resource-catalogue.demo.eoepca.org/)

3. Clone the repo
The Resource Catalogue data model is based on ISO 19115-1/2

```sh
git clone https://github.com/EOEPCA/template-svce.git
```
Metadata registration can be done by the following ways:
* Transaction interfaces (OGC CSW-T or OGC API - Features - Part4: Create, Replace, Update, Delete)
* Data Access Registrar
* Data Access Harvester
* Workspace API
* Registration API
* pycsw Python API
* pycsw admin CLI utility

4. Change local directory
<!-- GETTING STARTED -->

```sh
cd template-service
```
## Getting Started

### Testing
To get a local copy up and running in 4 minutes follow these simple steps.

# Setup a virtual environment:
python3 -m venv pycsw && cd pycsw && . bin/activate
# Grab the pycsw source code:
git clone https://github.com/geopython/pycsw.git && cd pycsw
pip3 install -e . && pip3 install -r requirements-standalone.txt
# Create and adjust a configuration file:
cp default-sample.cfg default.cfg
vi default.cfg
# adjust paths in
# - server.home
# - repository.database
# set server.url to http://localhost:8000/
# Setup the database:
pycsw-admin.py setup_db --config default.cfg
# Load records by indicating a directory of XML files, use -r for recursive:
pycsw-admin.py load_records --config default.cfg --path /path/to/xml/
# Run the server:
python ./pycsw/wsgi.py
# See that it works!
curl http://localhost:8000 # OGC API - Records
curl http://localhost:8000/csw?service=CSW&version=2.0.2&request=GetCapabilities # CSW


### Deployment

Resource Catalogue deployment is described [here](https://deployment-guide.docs.eoepca.org/current/eoepca/resource-catalogue/) in the [EOEPCA Deployment Guide](https://deployment-guide.docs.eoepca.org/current/eoepca/resource-catalogue/).

- `./gradlew build` runs only the unit tests
- `./gradlew integrationTest` runs only the integration tests (it compiles all source code beforehand). It does not package or deploy a build.
This is assumed to have been done in a prior build pipeline step.

## Documentation

The component documentation can be found at https://eoepca.github.io/template-svce/.
The component documentation can be found at https://docs.pycsw.org/en/latest/.

EOEPCA related documents:
* [Resource Catalogue Interface Control Document](https://eoepca.github.io/rm-resource-catalogue/ICD/)
* [Resource Catalogue Software Design Document](https://eoepca.github.io/rm-resource-catalogue/SDD/)

<!-- USAGE EXAMPLES -->

## Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
Resource Catalogue usage documentation is provided through the upstream pycsw project.

* [pycsw Home Page](https://pycsw.org/)
* [pycsw Documenation](https://docs.pycsw.org/en/latest/)

_For more examples, please refer to the [Documentation](https://example.com)_
A basic example of the Resource Catalogue usage:

### Running the template service
Using the landing page, the user can browse [collections](https://resource-catalogue.demo.eoepca.org/collections) and metadata [records](https://resource-catalogue.demo.eoepca.org/collections/metadata:main/items) through the HTML interface (provided by OGC API - Records)

Just execute the run task in Gradle
[![Resource Catalogue Items Page][screenshot1]](https://resource-catalogue.demo.eoepca.org/collections/metadata:main/items)

```sh
./gradlew run
```
The user can find a catalogue record and browse the [metadata](https://resource-catalogue.demo.eoepca.org/collections/metadata:main/items/S2A_MSIL1C_20190920T104021_N0208_R008_T31UFQ_20190920T111121.SAFE)

### Upgrading Gradle Wrapper
[![Resource Catalogue Item Page][screenshot2]](https://resource-catalogue.demo.eoepca.org/collections/metadata:main/items/S2A_MSIL1C_20190920T104021_N0208_R008_T31UFQ_20190920T111121.SAFE)

Change the version number in the `build.gradle` wrapper task then run:
Alternatively the user can browse through the [JSON interface](https://resource-catalogue.demo.eoepca.org/collections/metadata:main/items?f=json)

```sh
./gradlew wrapper --gradle-version=4.10.2 --distribution-type=bin
```
[![Resource Catalogue JSON Record][screenshot3]](https://resource-catalogue.demo.eoepca.org/collections/metadata:main/items/S2A_MSIL1C_20190920T104021_N0208_R008_T31UFQ_20190920T111121.SAFE?f=json)

<!-- ROADMAP -->

## Roadmap

See the [open issues](https://github.com/EOEPCA/template-svce/issues) for a list of proposed features (and known issues).
See the [open issues](https://github.com/geopython/pycsw/issues) for a list of proposed features (and known issues).

<!-- CONTRIBUTING -->

Expand All @@ -163,36 +196,38 @@ Contributions are what make the open source community such an amazing place to b

## License

Distributed under the Apache-2.0 License. See `LICENSE` for more information.
The EOEPCA components are distributed under the Apache-2.0 License. See `LICENSE` for more information.

<!-- CONTACT -->

## Contact

Your Name - [@twitter_handle](https://twitter.com/twitter_handle) - email
Angelos Tzotsos - [@tzotsos](https://twitter.com/tzotsos) - https://www.osgeo.org/member/angelos-tzotsos/

Project Link: [https://github.com/EOEPCA/template-svce](https://github.com/EOEPCA/template-svce)
Project Link: [https://github.com/EOEPCA/rm-resource-catalogue](https://github.com/EOEPCA/rm-resource-catalogue)

<!-- ACKNOWLEDGEMENTS -->

## Acknowledgements

- []()
- []()
- README.md is based on [this template](https://github.com/othneildrew/Best-README-Template) by [Othneil Drew](https://github.com/othneildrew).

<!-- MARKDOWN LINKS & IMAGES -->
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->

[contributors-shield]: https://img.shields.io/github/contributors/EOEPCA/template-svce.svg?style=flat-square
[contributors-url]: https://github.com/EOEPCA/template-svce/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/EOEPCA/template-svce.svg?style=flat-square
[forks-url]: https://github.com/EOEPCA/template-svce/network/members
[stars-shield]: https://img.shields.io/github/stars/EOEPCA/template-svce.svg?style=flat-square
[stars-url]: https://github.com/EOEPCA/template-svce/stargazers
[issues-shield]: https://img.shields.io/github/issues/EOEPCA/template-svce.svg?style=flat-square
[issues-url]: https://github.com/EOEPCA/template-svce/issues
[license-shield]: https://img.shields.io/github/license/EOEPCA/template-svce.svg?style=flat-square
[license-url]: https://github.com/EOEPCA/template-svce/blob/master/LICENSE
[build-shield]: https://www.travis-ci.com/EOEPCA/template-svce.svg?branch=master
[contributors-shield]: https://img.shields.io/github/contributors/EOEPCA/rm-resource-catalogue.svg?style=flat-square
[contributors-url]: https://github.com/EOEPCA/rm-resource-catalogue/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/EOEPCA/rm-resource-catalogue.svg?style=flat-square
[forks-url]: https://github.com/EOEPCA/rm-resource-catalogue/network/members
[stars-shield]: https://img.shields.io/github/stars/EOEPCA/rm-resource-catalogue.svg?style=flat-square
[stars-url]: https://github.com/EOEPCA/rm-resource-catalogue/stargazers
[issues-shield]: https://img.shields.io/github/issues/EOEPCA/rm-resource-catalogue.svg?style=flat-square
[issues-url]: https://github.com/EOEPCA/rm-resource-catalogue/issues
[license-shield]: https://img.shields.io/github/license/EOEPCA/rm-resource-catalogue.svg?style=flat-square
[license-url]: https://github.com/EOEPCA/rm-resource-catalogue/blob/master/LICENSE
[build-shield]: https://www.travis-ci.com/EOEPCA/rm-resource-catalogue.svg?branch=master
[architecture]: images/resource_catalogue.png
[screenshot]: images/screenshot.png
[screenshot1]: images/screenshot1.png
[screenshot2]: images/screenshot2.png
[screenshot3]: images/screenshot3.png
Binary file added images/resource_catalogue.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/screenshot1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/screenshot2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/screenshot3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit fa1f88e

Please sign in to comment.