Skip to content

Commit

Permalink
Initialize standaardenregister
Browse files Browse the repository at this point in the history
  • Loading branch information
ddvlanck authored May 3, 2024
0 parents commit 88d729e
Show file tree
Hide file tree
Showing 8 changed files with 313 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/configuration_validator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Validate JSONs

on: [push]

jobs:
copy-configuration-files:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
# Different Node versions possible. Each node version will trigger the action
node-version:
- 18.x
steps:
- name: Checkout source branch
uses: actions/checkout@v4
with:
# Hardcoded reference to the thema repo, since this repo contains the boilerplate for all repos
repository: Informatievlaanderen/OSLOthema-template
ref: config
# The source folder contains the configuration files, as defined in the thema-template-repository
path: source
- name: Checkout target branch
uses: actions/checkout@v4
with:
# Dynamic reference to the active repository so that it works immediately when creating a new thema repo
repository: ${{ github.repository }}
ref: standaardenregister
# Target is the folder containing the content of thema-repository
path: target
# Extra step to debug the file structure
- name: List file structure of source dir
shell: bash
run: |
ls source
- name: List file structure of target dir
shell: bash
run: |
ls target
- name: Validate JSON
id: validate
# https://github.com/marketplace/actions/json-yaml-validate
uses: GrantBirki/[email protected]
with:
json_schema: source/schemas/configuration.json
json_extension: json
base_dir: target
comment: true
use_gitignore: false
- name: Log validation result to summary
run: |
echo "# Summary" >> $GITHUB_STEP_SUMMARY
if [ ${{ steps.validate.outputs.success }} == "true" ]; then
echo "All configuration file(s) in the repository are valid!" >> $GITHUB_STEP_SUMMARY
else
echo "There are some errors in the configuration file(s). Please check the logs to see which files" >> $GITHUB_STEP_SUMMARY
fi
60 changes: 60 additions & 0 deletions .github/workflows/diff_generator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Check diff between template and current state
on: [push]

jobs:
generate-diff:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node-version:
- 18.x
steps:
- name: Checkout source branch
uses: actions/checkout@v4
with:
repository: Informatievlaanderen/OSLOthema-template
ref: standaardenregister
path: source

- name: Clone other repository
uses: actions/checkout@v4
with:
# Dynamic reference to the active repository so that it works immediately when creating a new thema repo
repository: ${{ github.repository }}
ref: standaardenregister
path:
target
# Extra step to debug the file structure
- name: List file structure of source dir
shell: bash
run: |
ls source
- name: List file structure of target dir
shell: bash
run: |
ls target
- name: See which files are unchanged between template and repository
id: generate-diff
shell: bash
# add a rule to ignore .git folder
run: |
identical_files=""
for file in $(find source -type f | grep -v ".git"); do
target_file=${file/source/target}
if [ -f "$target_file" ]; then
diff_output=$(diff -b "$file" "$target_file" | cat -t || true)
if ! [[ $diff_output == *"differ"* ]]; then
identical_files+="- ${file##*/}\n"
fi
fi
done
echo "Identical files:"
echo -e "$identical_files"
echo "# Summary" >> $GITHUB_STEP_SUMMARY
echo "## Identical files compared to the template" >> $GITHUB_STEP_SUMMARY
echo -e "$identical_files" >> $GITHUB_STEP_SUMMARY
if [ -n "$identical_files" ]; then
echo "Error: There are identical files between the template and the repository." >> $GITHUB_STEP_SUMMARY
exit 1
fi
172 changes: 172 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
# OSLOthema-myTheme

This branch should be used to make the data standard available on the [standards registry of Flanders](https://data.vlaanderen.be/standaarden/).

## Structure of this repository

This repository contains four folders to store data standard related information.

### Charter

This folder should contain the OSLO charter. Accepted file formats are Word (`.docx`) or PDF (`.pdf`).

### Descriptions

For each data standard a short description is required that will be displayed on the detail page on the standards registry. Multiple files (descriptions) are allowed, e.g. one for the application profile and one for the vocabulary. The file format must be Markdown (`.md`).

### Presentations

Presentations given by the OSLO Editors during one of the workshop can be stored in this folder. Accepted file format are Powerpoint (`.pptx`) and PDF (`.pdf`).

### Reports

After each workshop a report of that workshop is made by the OSLO Editors, which can be stored in this folder. Accepted file format are Word (`.docx`) and PDF (`.pdf`).

### ap-or-voc-config.json

This is the file that must be used to configure the standard for publication on the standards registry. If the OSLO Editor wants to publish the application profile and vocabulary on the standards registry separately, then **two** configuration files must be created.

## Content of the configuration file

### `title`

This is the name of the data standard, e.g. *Applicatieprofiel LDES* or *Vocabularium Persoon*.

### `category`

The category of the data standard. Allowed values are:
- Applicatieprofiel
- Vocabularium
- Implementatiemodel
- Technische standaard
- Organisatorische interoperabiliteit

### `usage`

Is the usage of the data standard mandatory or recommended? Allowed values are:
- Aanbevolen (vrijwillig)
- Verplicht
- Pas toe of leg uit

### `status`

Different stages of the data standard lifecycle:
- standaard-in-ontwikkeling
- kandidaat-standaard
- erkende-standaard

### `responsibleOrganisation`

The name of the organisation that is responsible for the data standard.

#### `name`

The name of the organisation that is responsible for the data standard

#### `uri`

The uri of the organisation that is responsible for the data standard.

To construct the URI of the organisation, the [Wegwijs application](https://wegwijs.vlaanderen.be/#/organisations) can be used to find the OVO-code (identifier of an organisation). The URI has the following structure `https://data.vlaanderen.be/id/organisatie/{OVO-code}`.

### `publicationDate`

Date on which the most recent version of the standard was published

### `descriptionFileName`

The name of the Markdown file (stored in the `descriptions` folder) that contains the description to be displayed on the standards registry.

### `specificationDocuments`

Links to the application profile(s) or vocabulary. This **must** always be an array of objects with the properties `name` and `uri`.

#### Example
```json
"specificationDocuments": [
{
"name": "Applicatieprofiel LDES",
"uri": "https://data.vlaanderen.be/doc/applicatieprofiel/ldes"
}
]
```

### `documentation`

Additional documentation to be displayed on the detail page of the data standard, e.g. a mapping described in an Excel file or link to external specification.

This **must** always be an array of objects containing the properties `name` and `resourceReference`. The `resourceReference`property can be used to reference a URI such as `https://example.org/externalSpec` but it can also be a document that was stored in the `documentation` folder. In that case you can write the name of the file.

#### Example
```json
"documentation": [
{
"name": "Voorbeeld van een mapping",
"resourceReference": "mapping-voorbeeld.xlsx"
},
{
"name": "Link naar externe spec",
"resourceReference": "https://example.org/externalSpec"
}
]
```

### `charter`

The OSLO charter that will be displayed on the detail page of the data standard. This **must** always be an object containing the properties `name` and `resourceReference`. The `resourceReference`property can be used to reference a URI such as `https://example.org/externalSpec` but it can also be a document that was stored in the `charter` folder. In that case you can write the name of the file.

#### Example
```json
"charter": {
"name": "OSLO Charter",
"resourceReference": "oslo-charter.docx"
}
```

### `reports`

Reports made of the workshop to be displayed on the detail page of the data standard.

This **must** always be an array of objects containing the properties `name` and `resourceReference`. The `resourceReference`property can be used to reference a URI such as `https://example.org/externalSpec` but it can also be a document that was stored in the `reports` folder. In that case you can write the name of the file.

#### Example
```json
"reports": [
{
"name": "Verslag workshop 1",
"resourceReference": "verslag-workshop-1.docx"
}
]
```

### `presentations`

Presentations that were used during the workshop and must be displayed on the detail page of the data standard.

This **must** always be an array of objects containing the properties `name` and `resourceReference`. The `resourceReference`property can be used to reference a URI such as `https://example.org/externalSpec` but it can also be a document that was stored in the `presentations` folder. In that case you can write the name of the file

#### Example
```json
"presentations": [
{
"name": "Presentatie workshop 1",
"resourceReference": "presentatie-workshop-1.pptx"
},
{
"name": "Presentatie workshop 2",
"resourceReference": "presentatie-workshop-2.pptx"
}
]
```

### `dateOfRegistration`

The date on which the data standard was announced on the working group 'Data Standards'.

### `dateRecognitionWorkgroup`

The date on which the data standard was accepted as an acknowledged standard by the working group 'Data standards'.

### `dateRecognitionSteeringCommittee`

The date on which the data standard was accepted as an acknowledged standard by the steering committee 'Flemish Information and ICT policy'.
20 changes: 20 additions & 0 deletions ap-or-voc-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"title": "",
"category": "",
"usage": "",
"status": "",
"responsibleOrganisation": {
"name": "Agentschap Digitaal Vlaanderen",
"uri": "https://data.vlaanderen.be/id/organisatie/OVO002949"
},
"publicationDate": "",
"descriptionFileName": "",
"specificationDocuments": [],
"documentation": [],
"charter": {},
"reports": [],
"presentations": [],
"dateOfRegistration": "",
"dateOfAcknowledgementByWorkingGroup": "",
"dateOfAcknowledgementBySteeringCommittee": ""
}
Binary file added charter/Template-Werkgroep-Charter-OSLO.docx
Binary file not shown.
4 changes: 4 additions & 0 deletions descriptions/template-description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Provide a description for this standardization trajectory.
This text will be shown on the OSLO standards registry.

This shows how to add a [link](https://data.vlaanderen.be/standaarden) to the standards registry
Binary file not shown.
Binary file added reports/Template-Verslag-OSLO-Werkgroep.docx
Binary file not shown.

0 comments on commit 88d729e

Please sign in to comment.