diff --git a/.github/workflows/devel.yml b/.github/workflows/devel.yml new file mode 100644 index 0000000..cf6e36d --- /dev/null +++ b/.github/workflows/devel.yml @@ -0,0 +1,79 @@ +name: Build/push devel image + +on: + push: + branches: [devel] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push-images: + runs-on: ubuntu-latest + strategy: + matrix: + context: ['sddi-base', 'sddi', 'sddi-social'] + fail-fast: true + max-parallel: 1 + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Github Container Registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for devel docker image + id: meta + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.REGISTRY }}/tum-gis/ckan-${{ matrix.context }} + tags: | + type=ref,enable=true,event=branch + labels: | + maintainer=Chair of Geoinformatics, Technical University of Munich (TUM) + org.opencontainers.image.vendor=Chair of Geoinformatics, Technical University of Munich (TUM) + org.opencontainers.image.title=ckan-sddi-docker + + - name: Build and publish ${{ env.REGISTRY }}/tum-gis/ckan-${{ matrix.context }}:devel + uses: docker/build-push-action@v4 + with: + context: ${{ matrix.context }} + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + BASEIMAGE_VERSION=devel + + - name: Extract metadata (tags, labels) for devel-debug docker image + id: meta-debug + uses: docker/metadata-action@v4 + with: + images: | + ${{ env.REGISTRY }}/tum-gis/ckan-${{ matrix.context }} + tags: | + type=ref,enable=true,event=branch,suffix=-debug + labels: | + maintainer=Chair of Geoinformatics, Technical University of Munich (TUM) + org.opencontainers.image.vendor=Chair of Geoinformatics, Technical University of Munich (TUM) + org.opencontainers.image.title=ckan-sddi-docker + + - name: Build and publish ${{ env.REGISTRY }}/tum-gis/ckan-${{ matrix.context }}:devel-debug + uses: docker/build-push-action@v4 + with: + context: ${{ matrix.context }} + file: ${{ matrix.context }}/Dockerfile.debug + push: true + tags: ${{ steps.meta-debug.outputs.tags }} + labels: ${{ steps.meta-debug.outputs.labels }} + build-args: | + BASEIMAGE_VERSION=devel diff --git a/CHANGELOG.md b/CHANGELOG.md index bca7b58..5fd7134 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,22 +6,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). For releases `< 1.0.0` minor version steps may indicate breaking changes too. -## [Unreleased] - YYYY-MM-DD +## [1.0.0] - 2023-04-28 ### Added - Added *debug* images with CKAN FLASK Debug Toolbar enabled, see [here](https://github.com/tum-gis/ckan-docker#1234-image-versioning) -### Changed - -### Removed +- Added *devel* images built form latest commit to `devel` branch. +- Various docs additions. +- Added Zenodo DOI. -### Fixed - -### Security +### Changed -### Deprecated +- Various extension updates. ## [0.0.5] - 2023-03-30 @@ -99,7 +97,26 @@ for production environments.** ### Deprecated +### Known issues + +## [Unreleased] - YYYY-MM-DD + +### Added + +### Changed + +### Removed + +### Fixed + +### Security + +### Deprecated + +### Known issues + [Unreleased]: https://github.com/tum-gis/ckan-docker/compare/0.0.5...HEAD +[1.0.0]: https://github.com/tum-gis/ckan-docker/compare/0.0.5...1.0.0 [0.0.5]: https://github.com/tum-gis/ckan-docker/compare/0.0.4...0.0.5 [0.0.4]: https://github.com/tum-gis/ckan-docker/compare/0.0.3...0.0.4 [0.0.3]: https://github.com/tum-gis/ckan-docker/compare/0.0.2...0.0.3 diff --git a/README.md b/README.md index 0f70990..22b7bb1 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,12 @@ See [packages](https://github.com/orgs/tum-gis/packages?repo_name=ckan-docker) f - [:book: Configuration an documentation](#book-configuration-an-documentation) - [:hammer\_and\_wrench: Contributing](#hammer_and_wrench-contributing) - [Contributors](#contributors) + - [Github contributors to this repo](#github-contributors-to-this-repo) +- [:mortar\_board: Research](#mortar_board-research) + - [Publications](#publications) + - [Cite this repository](#cite-this-repository) - [:handshake: Thanks](#handshake-thanks) -- [:hammer\_and\_wrench: Build images](#hammer_and_wrench-build-images) +- [:memo: License](#memo-license) ## :inbox_tray: Image flavor overview @@ -89,10 +93,12 @@ The images in this repo are versioned and tagged according to the [releases](https://github.com/tum-gis/ckan-docker/releases) of this repository. The `latest` tag points to the latest release number. The `edge` version is built from the latest commit to the `main` branch of this repo. +For development purposes the `devel` images, which are build from the latest commit to the `devel` branch are published. +The `devel` images are used for testing and may contain errors. The CKAN and CKAN extension versions used for each image are listed in the table below. For development and debugging we provide a *debug* version for each image version. -These images are indicated by the `-debug` suffix on the image tag, e.g. `latest-debug` or `0.0.6-debug`. +These images are indicated by the `-debug` suffix on the image tag, e.g. `latest-debug`, `0.0.6-debug`, `edge-debug` or `devel-debug`. The debug images have the FLASK debug toolbar enabled and all required debugging dependencies installed. Read more on CKAN's debug mode in the [official docs](https://docs.ckan.org/en/latest/maintaining/configuration.html#debug). @@ -109,8 +115,8 @@ All available tags are listed in the packages of each image: ### CKAN and CKAN extension versions -CKAN version: `2.9.7` -CKAN base image: `ghcr.io/keitaroinc/ckan:2.9.7-focal` +CKAN version: `2.9.8` +CKAN base image: `ghcr.io/keitaroinc/ckan:2.9.8-focal` The CKAN catalog platform uses several extensions to provide the functionality needed for the SDDI concept. The table below lists the included extensions with @@ -126,15 +132,15 @@ are alway pinned to a stable release number or commit hash. | Extension | Version | `sddi-base` | `sddi` | `sddi-social` | Description | |---|---|:---:|:---:|:---:|---| -| [`scheming`](https://github.com/MarijaKnezevic/ckanext-scheming) | `0dda2be` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Configure and share CKAN dataset metadata forms. | +| [`scheming`](https://github.com/MarijaKnezevic/ckanext-scheming) | `c4f65c6` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Configure and share CKAN dataset metadata forms. | | [`hierarchy`](https://github.com/ckan/ckanext-hierarchy) | `v1.2.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Allows to organize organizations and groups in a hierarchy tree (nested groups/orgs). | -| [`grouphierarchysddi`](https://github.com/tum-gis/ckanext-grouphierarchy-sddi) | `63289a8` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Extends `hierarchy` with pre-defined groups and topics of the SDDI concept. | +| [`grouphierarchysddi`](https://github.com/tum-gis/ckanext-grouphierarchy-sddi) | `1.0.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Extends `hierarchy` with pre-defined groups and topics of the SDDI concept. | | [`relation`](https://github.com/tum-gis/ckanext-relation-sddi) | `1.0.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Enables to create and visualize different types of relations (*realated_to*, *depends_on*, *part_of*) between catalog entries. | -| [`spatial`](https://github.com/ckan/ckanext-spatial) | `v2.0.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Provides the ability to search for datasets according to a given spatial extent. | -| [`datesearch`](https://github.com/MarijaKnezevic/ckanext-datesearch) | `a01061a` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Provides the ability to search for datasets according to a given time frame. The search includes all datasets, in which the time of validity overlaps in at least one second with the search time frame. | -| [`repeating`](https://github.com/MarijaKnezevic/ckanext-repeating) | `f09ed71` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | This extension provides a way to store repeating fields in CKAN datasets, resources, organizations and groups. | +| [`spatial`](https://github.com/MarijaKnezevic/ckanext-spatial) | `d74cd14` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Provides the ability to search for datasets according to a given spatial extent. | +| [`datesearch`](https://github.com/MarijaKnezevic/ckanext-datesearch) | `1.0.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | Provides the ability to search for datasets according to a given time frame. The search includes all datasets, in which the time of validity overlaps in at least one second with the search time frame. | +| [`repeating`](https://github.com/MarijaKnezevic/ckanext-repeating) | `1.0.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | This extension provides a way to store repeating fields in CKAN datasets, resources, organizations and groups. | | [`composite`](https://github.com/EnviDat/ckanext-composite) | `1e6d7bb` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | The extension allows to store structured dataset metadata, single or multiple fields. Only one level of subfields is possible. The subfields can be basic text, date type or dropboxes. | -| [`restricted`](https://github.com/MarijaKnezevic/ckanext-restricted) | `02e7e14` | | :heavy_check_mark: | :heavy_check_mark: | CKAN extension to restrict the accessibility to the resources of a dataset. This way the package metadata is accesible but not the data itself (resource). The resource access restriction level can be individualy defined for every package. | +| [`restricted`](https://github.com/MarijaKnezevic/ckanext-restricted) | `1.0.0` | | :heavy_check_mark: | :heavy_check_mark: | CKAN extension to restrict the accessibility to the resources of a dataset. This way the package metadata is accesible but not the data itself (resource). The resource access restriction level can be individualy defined for every package. | | [`dcat`](https://github.com/ckan/ckanext-dcat) | `v1.4.0` | | :heavy_check_mark: | :heavy_check_mark: | Allow CKAN to expose and consume metadata from other catalogs using RDF documents serialized using DCAT. | | [`geoview`](https://github.com/ckan/ckanext-geoview) | `v0.0.20` | | :heavy_check_mark: | :heavy_check_mark: | This extension contains view plugins to display geospatial files and services in CKAN. | | [`disqus`](https://github.com/ckan/ckanext-disqus) | | | | :heavy_check_mark: | The Disqus extension allows site visitors to comment on individual packages using an AJAX-based commenting system. The downsides of this plugin are that comments are not stored locally and user information is not shared between CKAN and the commenting system. | @@ -158,19 +164,143 @@ Bug fixes, issue reports and contributions are greatly appreciated. ### Contributors +[Marija Knezevic](https://www.asg.ed.tum.de/en/gis/our-team/staff/marija-knezevic/) and +[Bruno Willenborg](https://www.asg.ed.tum.de/en/gis/our-team/staff/bruno-willenborg/) +at Technical University of Munich, Chair of Geoinformatics +realized the current SDDI CKAN [Docker images](https://github.com/tum-gis/ckan-docker) +and [Helm chart](https://github.com/tum-gis/sddi-ckan-k8s) and updated the +CKAN SDDI extensions ([ckanext-grouphierarchy](https://github.com/tum-gis/ckanext-grouphierarchy-sddi), +[ckanext-relation](https://github.com/tum-gis/ckanext-relation-sddi)) initially implemented by +[Mandana Moshrefzadeh](https://www.linkedin.com/in/mandana-moshrefzadeh-a4666454) +and [Wolfgang Deigele](https://www.linkedin.com/in/wolfgang-deigele-329673189). + +The core concepts, documentation, and [initial implementation](https://github.com/tum-gis/SDDI-CKAN-Docker) +for SDDI were realized at Technical University of Munich, Chair of Geoinformatics by: + +- [Mandana Moshrefzadeh](https://www.linkedin.com/in/mandana-moshrefzadeh-a4666454): Landeshauptstadt München, Kommunalreferat – GeodatenService +- [Prof. Thomas H. Kolbe](https://www.asg.ed.tum.de/gis/unser-team/lehrstuhlangehoerige/prof-thomas-h-kolbe/): + Technical University of Munich, Chair of Geoinformatics +- [Dr. Andreas Donaubauer](https://www.asg.ed.tum.de/gis/unser-team/lehrstuhlangehoerige/dr-andreas-donaubauer/): + Technical University of Munich, Chair of Geoinformatics +- [Marija Knezevic](https://www.asg.ed.tum.de/gis/unser-team/lehrstuhlangehoerige/marija-knezevic/): + Technical University of Munich, Chair of Geoinformatics +- [Bruno Willenborg](https://www.asg.ed.tum.de/gis/unser-team/lehrstuhlangehoerige/bruno-willenborg/): + Technical University of Munich, Chair of Geoinformatics +- [Kanishk Chaturvedi](https://www.linkedin.com/in/dr-kanishk-chaturvedi), Software AG +- [Son H. Nguyen](https://www.asg.ed.tum.de/en/gis/our-team/staff/son-h-nguyen/), Technical University of Munich, Chair of Geoinformatics +- [Wolfgang Deigele](https://www.linkedin.com/in/wolfgang-deigele-329673189), ESRI Deutschland + +
+
+
+
+