Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add categories #7

Closed
koppor opened this issue Feb 16, 2018 · 2 comments · Fixed by #58
Closed

Add categories #7

koppor opened this issue Feb 16, 2018 · 2 comments · Fixed by #58

Comments

@koppor
Copy link
Member

koppor commented Feb 16, 2018

This is required for large repositories (refs #10)

@koppor
Copy link
Member Author

koppor commented Feb 28, 2018

Similar discussion as in status field: #2

Forces:

  • Easy to find groups ADRs in hundreds of ADRs
  • Easy to group
  • Easy to create
  • Good finding without external tooling
  • Keep newcomer in mind (should be doable in <10 minutes)
  • Keep template lean

AKA: "Topic"

Considered Options

Decision Outcome

Chosen option: "Use subfolders with local ids"

Pros and Cons of the Options

Use labels

Example:

Use Angular category-frontend

![category-frontend](https://img.shields.io/badge/category-frontend-blue.svg?style=flat-square)

  • Good, because full markdown
  • Good, because linking to an overview page is possible (using markdown)
  • Bad, because not straight-forward to parse
  • Bad, because no simple filtering using ls or Windows Explorer is possible

Add * Category: CATEGORY directly under the heading

  • Good, because full markdown
  • Good, because linking to an overview page is possible (using markdown)
  • Good, because straight-forward to parse
  • Bad, because no simple filtering using ls or Windows Explorer is possible

Use YAML frontmatter

Example:

---
category: frontend
---
  • Good, because nearly straight-forward to parse
  • Good, because Jekyll supports it
  • Bad, because YAML frontmatter is not part of the CommonMarc Spec
  • Bad, because no simple filtering using ls or Windows Explorer is possible

Encode category in filename

Example: 0050--frontend--title-with-dashes.md

  • Good, because programmatic filtering is possible
  • Good, because ls -la | grep --category-- works
  • Bad, because plain file list in Windows explorer cannot be filtered
  • Bad, because as bad as TagSpaces, which stores the tags in the filenames in brackets. E.g., demo[demotag secondtag].md.

Use subfolders with local ids

Optionally "to-be-categorized" folder.

One level of subfolder, not nested

Examples:

  • docs/adr/smar/0000-secure-entities.md
  • docs/adr/smar/0001-flexible-properties-selection.md

Pros/cons:

  • Good, because grouping is done by folders (which are natural for grouping)
  • Good, because typos can easily be spotted
  • Bad, because there is no unique number identifying an ADR
  • Bad, because two indices have to be maintained (adr-log needs to be updated)
  • Bad, because e-adr needs to be adapted to @ADR("category", number) (not that bad)
  • Bad, because when category is unknown it is hard to find the right folder
  • Bad, because using categories might be hampering newcomers

Use subfolders with global ids

Example:

  • docs/adr/smar/0005-secure-entities.md
  • docs/adr/smar/0047-flexible-properties-selection.md

@koppor koppor changed the title Support for large projects Add categories Mar 5, 2018
@koppor koppor added this to the Version 1.5.0 milestone Mar 6, 2018
@koppor
Copy link
Member Author

koppor commented Mar 6, 2018

ADR created: ADR-0010.

  • Describe concept in documentation. Especially "to-be-categorized" for ADRs which cannot be categorized by the creator to still enable quick creation of ADRs
  • Adapt adr-tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant