Skip to content

Commit 55ffce3

Browse files
authored
Initialize standaardenregister
0 parents  commit 55ffce3

File tree

9 files changed

+407
-0
lines changed

9 files changed

+407
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Validate JSONs
2+
3+
on: [push]
4+
5+
jobs:
6+
copy-configuration-files:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
matrix:
10+
os: [ubuntu-latest]
11+
# Different Node versions possible. Each node version will trigger the action
12+
node-version:
13+
- 20.x
14+
steps:
15+
- name: Checkout source branch
16+
uses: actions/checkout@v4
17+
with:
18+
# Hardcoded reference to the thema repo, since this repo contains the boilerplate for all repos
19+
repository: Informatievlaanderen/OSLOthema-template
20+
ref: config
21+
# The source folder contains the configuration files, as defined in the thema-template-repository
22+
path: source
23+
- name: Checkout target branch
24+
uses: actions/checkout@v4
25+
with:
26+
# Dynamic reference to the active repository so that it works immediately when creating a new thema repo
27+
repository: ${{ github.repository }}
28+
ref: standaardenregister
29+
# Target is the folder containing the content of thema-repository
30+
path: target
31+
# Extra step to debug the file structure
32+
- name: List file structure of source dir
33+
shell: bash
34+
run: |
35+
ls source
36+
- name: List file structure of target dir
37+
shell: bash
38+
run: |
39+
ls target
40+
- name: Validate JSON
41+
id: validate
42+
# https://github.com/marketplace/actions/json-yaml-validate
43+
uses: GrantBirki/json-yaml-validate@v2.5.0
44+
with:
45+
json_schema: source/schemas/configuration.json
46+
json_extension: json
47+
base_dir: target
48+
comment: true
49+
use_gitignore: false
50+
- name: Log validation result to summary
51+
run: |
52+
echo "# Summary" >> $GITHUB_STEP_SUMMARY
53+
if [ ${{ steps.validate.outputs.success }} == "true" ]; then
54+
echo "All configuration file(s) in the repository are valid!" >> $GITHUB_STEP_SUMMARY
55+
else
56+
echo "There are some errors in the configuration file(s). Please check the logs to see which files" >> $GITHUB_STEP_SUMMARY
57+
fi
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Check diff between template and current state
2+
on: [push]
3+
4+
jobs:
5+
generate-diff:
6+
runs-on: ${{ matrix.os }}
7+
strategy:
8+
matrix:
9+
os: [ubuntu-latest]
10+
node-version:
11+
- 20.x
12+
steps:
13+
- name: Checkout source branch
14+
uses: actions/checkout@v4
15+
with:
16+
repository: Informatievlaanderen/OSLOthema-template
17+
ref: standaardenregister
18+
path: source
19+
20+
- name: Clone other repository
21+
uses: actions/checkout@v4
22+
with:
23+
# Dynamic reference to the active repository so that it works immediately when creating a new thema repo
24+
repository: ${{ github.repository }}
25+
ref: standaardenregister
26+
path:
27+
target
28+
# Extra step to debug the file structure
29+
- name: List file structure of source dir
30+
shell: bash
31+
run: |
32+
ls source
33+
- name: List file structure of target dir
34+
shell: bash
35+
run: |
36+
ls target
37+
- name: See which files are unchanged between template and repository
38+
id: generate-diff
39+
shell: bash
40+
# add a rule to ignore .git folder
41+
run: |
42+
identical_files=""
43+
for file in $(find source -type f | grep -v -e ".git" -e "README"); do
44+
target_file=${file/source/target}
45+
if [ -f "$target_file" ]; then
46+
diff_output=$(diff -b "$file" "$target_file" | cat -t || true)
47+
if ! [[ $diff_output == *"differ"* ]]; then
48+
identical_files+="- ${file##*/}\n"
49+
fi
50+
fi
51+
done
52+
echo "Identical files:"
53+
echo -e "$identical_files"
54+
echo "# Summary" >> $GITHUB_STEP_SUMMARY
55+
echo "## Identical files compared to the template" >> $GITHUB_STEP_SUMMARY
56+
echo -e "$identical_files" >> $GITHUB_STEP_SUMMARY
57+
if [ -n "$identical_files" ]; then
58+
echo "Error: There are identical files between the template and the repository." >> $GITHUB_STEP_SUMMARY
59+
exit 1
60+
fi

EDITORS.md

Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
# OSLOthema-myTheme
2+
3+
This branch should be used to make the data standard available on the [standards registry of Flanders](https://data.vlaanderen.be/standaarden/).
4+
5+
## Structure of this repository
6+
7+
This repository contains four folders to store data standard related information.
8+
9+
### Charter
10+
11+
This folder should contain the OSLO charter. Accepted file formats are Word (`.docx`) or PDF (`.pdf`).
12+
13+
### Descriptions
14+
15+
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`).
16+
17+
### Presentations
18+
19+
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`). The formatting of the file name should be: 'YYYYMMDD_TypeWorkshopX_Slides_OSLOnameoftrack'
20+
21+
### Reports
22+
23+
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`). The formatting of the file name should be: 'YYYYMMDD_TypeWorkshopX_Report_OSLOnameoftrack'
24+
25+
### ap-or-voc-config.json
26+
27+
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. Don't forget to change the name of the file so it is clear which standard this refers to.
28+
29+
## Content of the configuration file
30+
31+
### `title`
32+
33+
This is the name of the data standard, e.g. _Applicatieprofiel LDES_ or _Vocabularium Persoon_. The format of the title should always be 'TypeOfSpecification DomainOfStandard'.
34+
35+
### `category`
36+
37+
The category of the data standard. Allowed values are:
38+
39+
- https://data.vlaanderen.be/id/concept/StandaardType/Applicatieprofiel
40+
- https://data.vlaanderen.be/id/concept/StandaardType/Vocabularium
41+
- https://data.vlaanderen.be/id/concept/StandaardType/Implementatiemodel
42+
- https://data.vlaanderen.be/id/concept/StandaardType/TechnischeStandaard
43+
- https://data.vlaanderen.be/id/concept/StandaardType/Interoperabiliteit
44+
45+
### `usage`
46+
47+
Is the usage of the data standard mandatory or recommended? Allowed values are:
48+
49+
- https://data.vlaanderen.be/id/concept/StandaardGebruik/Aanbevolen
50+
- https://data.vlaanderen.be/id/concept/StandaardGebruik/Verplicht
51+
- https://data.vlaanderen.be/id/concept/StandaardGebruik/PasToeOfLegUit
52+
53+
### `status`
54+
55+
Different stages of the data standard lifecycle:
56+
57+
- https://data.vlaanderen.be/id/concept/StandaardStatus/OntwerpStandaard
58+
- https://data.vlaanderen.be/id/concept/StandaardStatus/KandidaatStandaard
59+
- https://data.vlaanderen.be/id/concept/StandaardStatus/ErkendeStandaard
60+
- https://data.vlaanderen.be/id/concept/StandaardStatus/VerouderdeStandaard
61+
- https://data.vlaanderen.be/id/concept/StandaardStatus/VervangenStandaard
62+
- https://data.vlaanderen.be/id/concept/StandaardStatus/HerroepenStandaard
63+
- https://data.vlaanderen.be/id/concept/StandaardStatus/NotaWerkgroep
64+
65+
### `responsibleOrganisation`
66+
67+
The name of the organisation(s) that is responsible for the data standard.
68+
69+
#### `name`
70+
71+
The name of the organisation that is responsible for the data standard
72+
73+
#### `resourceReference`
74+
75+
The uri of the organisation that is responsible for the data standard.
76+
77+
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}`. It is mandatory to use the OVO code of an organisation when available.
78+
79+
### `publicationDate`
80+
81+
Date on which the most recent version of the standard was published. Only YYYY-MM-DD is an accepted format.
82+
83+
### `descriptionFileName`
84+
85+
The name of the Markdown file (stored in the `descriptions` folder) that contains the description to be displayed on the standards registry.
86+
87+
### `specificationDocuments`
88+
89+
Links to the application profile(s) or vocabulary. This **must** always be an array of objects with the properties `name` and `uri`.
90+
91+
#### Example
92+
93+
```json
94+
"specificationDocuments": [
95+
{
96+
"name": "Applicatieprofiel LDES",
97+
"resourceReference": "https://data.vlaanderen.be/doc/applicatieprofiel/ldes"
98+
}
99+
]
100+
```
101+
102+
### `documentation`
103+
104+
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.
105+
106+
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.
107+
108+
#### Example
109+
110+
```json
111+
"documentation": [
112+
{
113+
"name": "Voorbeeld van een mapping",
114+
"resourceReference": "mapping-voorbeeld.xlsx"
115+
},
116+
{
117+
"name": "Link naar externe spec",
118+
"resourceReference": "https://example.org/externalSpec"
119+
}
120+
]
121+
```
122+
123+
### `charter`
124+
125+
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. It should use the following format: 'OSLO Charter TrackX'. OSLO Charters are linked to OSLO tracks, not specific standards. The same charter can be reused and found across multiple specifications.
126+
127+
#### Example
128+
129+
```json
130+
"charter": {
131+
"name": "OSLO Charter TrackX",
132+
"resourceReference": "oslo_charter_trackX.docx"
133+
}
134+
```
135+
136+
### `reports`
137+
138+
Reports made of the workshop to be displayed on the detail page of the data standard.
139+
140+
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.
141+
142+
#### Example
143+
144+
```json
145+
"reports": [
146+
{
147+
"name": "Verslag Werkgroep 1 - DD month YYYY",
148+
"resourceReference": "YYYYMMDD_ThematicWorkshop1_Report_OSLOtrackX.pdf"
149+
}
150+
]
151+
```
152+
153+
### `presentations`
154+
155+
Presentations that were used during the workshop and must be displayed on the detail page of the data standard.
156+
157+
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
158+
159+
#### Example
160+
161+
```json
162+
"presentations": [
163+
{
164+
"name": "Presentatie Thematische Werkgroep 1 - DD month YYYY",
165+
"resourceReference": "YYYYMMDD_ThematicWorkshop1_Slides_OSLOtrackX.pptx"
166+
},
167+
{
168+
"name": "Presentatie Thematische Werkgroep 2 - DD month YYYY",
169+
"resourceReference": "YYYYMMDD_ThematicWorkshop2_Slides_OSLOtrackX.pptx"
170+
}
171+
]
172+
```
173+
174+
### `implementations`
175+
176+
Links to implementations of the data standard or implementation models. This **must** always be an array of objects containing the properties `name` and `resourceReference`.
177+
178+
#### Example
179+
180+
```json
181+
"implementations": [
182+
{
183+
"name": "Implementatievoorbeeld Standaard X",
184+
"resourceReference": "https://example.org/implementationX"
185+
}
186+
]
187+
```
188+
189+
### `relevantStandards`
190+
191+
Links to other relevant standards. This **must** always be an array of objects containing the properties `name` and `resourceReference`.
192+
193+
#### Example
194+
195+
```json
196+
"relevantStandards": [
197+
{
198+
"name": "Standaard Y",
199+
"resourceReference": "https://data.vlaanderen.be/standaarden/standaardY"
200+
}
201+
]
202+
```
203+
204+
### `dataExamples`
205+
206+
Links to data examples of the data standard. This **must** always be an array of objects containing the properties `name` and `resourceReference`.
207+
208+
#### Example
209+
210+
```json
211+
"dataExamples": [
212+
{
213+
"name": "Data voorbeeld Standaard X",
214+
"resourceReference": "https://example.org/dataExampleX"
215+
}
216+
]
217+
```
218+
219+
### `dateOfRegistration`
220+
221+
The date on which the data standard was announced on the working group 'Data Standards'.
222+
223+
### `dateOfAcknowledgementByWorkingGroup`
224+
225+
The date on which the data standard was accepted as an acknowledged standard by the working group 'Data standards'.
226+
227+
### `dateOfAcknowledgementBySteeringCommittee`
228+
229+
The date on which the data standard was accepted as an acknowledged standard by the steering committee 'Flemish Information and ICT policy'.
230+
231+
### `datePublicReviewStart`
232+
233+
The date on which the public review of the data standard started.
234+
235+
### `datePublicReviewEnd`
236+
237+
The date on which the public review of the data standard ended.
238+
239+
### `endOfPublicationDate`
240+
241+
The date on which the data standard is no longer valid and shouldn't be used anymore.
242+
243+
### `functionalScope`
244+
245+
The functional scope of the data standard.
246+
247+
### `domain`
248+
249+
The domain of the data standard. Allowed values are listed here: [https://data.vlaanderen.be/id/conceptscheme/Domein](https://data.vlaanderen.be/id/conceptscheme/Domein).

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Standaardenregister
2+
3+
Deze branch configureert het standaardenregister van OSLO voor dit traject. De standaard zelf kan je vinden op de `main` branch.
4+
Instructies om het standaardenregister in te stellen kan vinden in [EDITORS.md](./EDITORS.md)
5+
26.9 KB
Binary file not shown.

descriptions/KVS-description.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Klant Volg Systeem Versie 1.0

0 commit comments

Comments
 (0)