Refined metadata scheme and applied it to posts

This commit is contained in:
Richard Kranendonk 2026-06-02 17:54:44 +02:00
parent e806e6764b
commit 831590bc72
19 changed files with 703 additions and 47 deletions

View file

@ -16,7 +16,7 @@ The `notetype` field will have one of the following values:
- `application`: steps to solve a specific, real-world problem. Implementing the standard in real world environments, implementation aids, implementation examples, templates, etc.
- `reference`: secondary sources of information, like original standard texts, dictionaries, terms and definitions.
- `publication`: for content created by TSW for publication, e.g. articles, eBooks, social media posts.
- `other`: for all notes that, by there content, cannot be placed in one for the previous categories.
- `other`: for all notes that, by their content, cannot be placed in one of the previous categories.
- `iso27diyGIS`: notes that belong to the ISO27DIY Guided Implementation System (GIS).
**Language**
@ -37,7 +37,7 @@ Original Standard Texts are found in `Corpus/Standards/ISO27x/OST/` .
OST notes inherit the general properties, and also have the following properties:
- `status`: as of yet, the only value defined for the property is `active`. I foresee a `superseded` or `replaced` status for later.
- `status`: as of yet, the only value defined for the property is `active`. I foresee a `superseded` or `replaced` status for later.
- `sourcetext`: the standard name and version, e.g. `iso27001:en:2022`
The OST/27002 have specific properties deduced from chapter 4 of the standard ("Themes and Attributes"). They are:
@ -46,52 +46,98 @@ The OST/27002 have specific properties deduced from chapter 4 of the standard ("
- `information_security_properties`
- `cybersecurity_concepts`
- `operational_capabilities`
- `security_domains`.
- `security_domains`
For the possible values of these properties, see [themes-and-attributes-in-iso-27002](themes-and-attributes-in-iso-27002.md).
## Properties for the ISO27DIY Guided Implementation System
- Notes in the `iso27DIY-gis` folder and subfolders are of `notetype` `iso27diyGIS`.
- Notes in the `iso27DIY-gis` folder and subfolders are of `notetype` `iso27diyGIS`.
- Notes in the `iso27DIY-gis/guide` subfolder ...
- Notes in the `iso27DIY-gis/reference` subfolder ...
## Properties for Publications
- publications can be found in `iso27diy-corp/Marketing/publications` and are of `notetype` `publication`
Publications are found in `iso27diy-corp/Marketing/publications` and are of `notetype` `publication`.
### Folder structure
```
All publication notes live directly under `iso27diy-corp/Marketing/publications/posts/`. There are no audience or proposition subfolders — segmentation is handled entirely by front matter.
### Controlled vocabularies
**`proposition`** — which ISO27DIY product or practice this content promotes:
- `advisory` — Richard's advisory practice (ZZP)
- `canvas` — the Canvas Method product
- `iso27diy` — the ISO27DIY SaaS product
**`audience`** — who the content is aimed at:
- `leadership` — directors, board members, senior management
- `msp` — managed service providers
- `technical` — IT professionals, security practitioners
- `general` — no specific segment
**`channels`** — where the content is published:
- `linkedin`
- `newsletter`
- `blog`
**`linkedin-account`** — which LinkedIn account was used; only relevant when `linkedin` is in `channels`:
- `personal` — Richard's personal LinkedIn profile
- `company` — ISO27DIY company page
**`content-type`** — the format of the content:
- `post`
- `article`
- `newsletter-section`
- `thread`
**`status`**:
- `draft` — work in progress
- `ready` — approved, not yet scheduled
- `scheduled` — publish date set
- `published` — live
### Template
```yaml
---
title: "" # post title
series: "" # series title
series-slug: "" # series title as a slug, e.g. "access-control-basics"
series-part: 1 # position within the series; omit if standalone
theme: "" # broader topic cluster, e.g. "ISO27001 myths"
channels: # list — a post can go to multiple channels
title: "" # human-readable post title
language: "" # ISO 639-1 code: en | nl
proposition: "" # advisory | canvas | iso27diy
series-id: "" # short machine-readable code, e.g. s01, s02; omit if standalone
series-title: "" # human-readable series name; omit if standalone
series-part: # integer position within series; null if unpositioned draft; omit if standalone
audience: # one or more of: leadership | msp | technical | general
- leadership
channels: # one or more of: linkedin | newsletter | blog
- linkedin
- newsletter
- blog
status: draft # draft | ready | scheduled | published
publish-dates: # ISO 8601, e.g. 2026-06-10; can be a list if channels differ
linkedin: 2026-06-10
newsletter: 2026-06-17
blog: 2026-06-17
published-urls: # fill in after publishing; one per channel
linkedin-account: personal # personal | company; omit if linkedin not in channels
content-type: # one or more of: post | article | newsletter-section | thread
- post
status: draft # draft | ready | scheduled | published
publish-dates: # ISO 8601 datetime in UTC, e.g. 2026-05-13T17:30:00Z
linkedin: 2026-05-13T17:30:00Z
published-urls: # fill after publishing; omit channels not yet published
linkedin: ""
blog: ""
content-type: "" # post | article | newsletter-section | thread
source-notes: # vault notes this was drawn from
source-notes: # optional — vault notes this was drawn from; omit if none
- "[[path/to/note]]"
tags: []
notetype: publication
isotags:
iso-id
audience
isotags: [] # ISO 27001/27002 clause/control links; omit if not applicable
tags: []
---
```
### Filename convention
Publication filenames follow the pattern `{series-id}p{series-part}{language} - {title-slug}.md`, e.g. `s01p01en - IT is not going to fix your security problem.md`. Standalone posts use a plain descriptive slug with no series prefix.