tags · 13m

Tags, properties, metadata, and Column View

Use tags for membership. Use headings for hierarchy. Use properties when a field has a value.

Pick the cheapest primitive that is still true

HeadingWhich project contains this?* Migrate atlas
List itemWhat is a step?- [ ] Reduce DNS TTL
TagDoes it belong to a set?:infrastructure:
PropertyWhat is the value?:OWNER: Noor
FileWhat is scanned together?projects.org

Tags are lightweight categories placed on headings. File tags and parent tags can be inherited. Configure controlled vocabularies and groups. A group can make locations mutually exclusive.

Use tags for membership and cross-cutting context. Use headings for hierarchy. Use properties when a field has a value: who owns this, what is the estimate, which service is affected.

Properties can inherit when org-use-property-inheritance permits it, but global inheritance adds parsing cost and can make values surprising. Prefer explicit, selective inheritance. C-c C-x p sets a property; C-c C-c on a property line refreshes it.

Column View turns heading properties into a temporary table-like summary. Run M-x org-columns on a scope. This is excellent for a lightweight project dashboard. It is not a relational database: constraints, concurrent transactions, and complex joins belong elsewhere.

Summary. Tags answer membership. Properties answer field-like questions. Headings answer containment. Files answer operational boundaries.

Exercises

  • Basic: Add two tags and one OWNER property.
  • Practical: Search Agenda for tasks owned by one person.
  • Advanced: Define a Column View that sums effort and clock time for a project.