Skip to content

Topic Definition module overview

The difference between a tag and topic definition

  • Tags are always in lower case (lifecycle maps), topics are always displayed in title case (Lifecycle Maps)
  • Each tag has a corresponding topic overview page accessible at /literature/topics/<slug>, however for a tag to be considered a fully formed topic definition it usually needs to have more rich content: a detailed concept definition, linked article, linked course.

Example of a topic definition:

https://www.interaction-design.org/literature/topics/lifecycle-maps

How to decouple tags and topic definitions?

Preliminary ideas:

  1. The Tag system serves the needs of Publication module, so tags could simply be renamed to topics. See this document for historical context: Current state of the Tag system: Naming the module

  2. Keep tags as a universal mechanism to tag any object. Add topic definitions on top of them. Certain tags could have a related topic definition (hasOne relationship).

  1. Considering that there is a big overlap between tags and topic definitions, the TopicDefinition model could extend the Tag model, both sharing the same underlying database table.

  2. Fully decouple tags and topic definitions on application and database level.