Loading

Record Links Overview

A record link joins two records — in any two datastores — and records what kind of relationship it is, who made it and when.

Where to find it

Architect Panel → Data:

  • Record Links — every link in the system, with its type and author
  • Datastores — where a fixed one-to-many relationship belongs instead

What a link holds

  • From — a datastore and a record.
  • To — a datastore and a record.
  • Link type — what the relationship means.
  • Created by and created at.

Because both ends name their own datastore, one mechanism covers every combination. A case can link to an asset, an asset to a document, a document to another document, without any of those datastores knowing about the others.

Why not just add a field

Add a field when the relationship is part of what the record is: an invoice line belongs to an invoice, and that is structural.

Use a link when the relationship is something that happened: this order was converted from that quotation, this case is a duplicate of that one, this asset was involved in that incident. Those are facts about events, they are not known when the datastore is designed, and modelling them as fields would mean a column for every relationship anybody might ever record.

Links carry provenance

The author and timestamp are the reason a link is more than a pointer. "These two cases are related" is an assertion; "J. Okafor linked these on 14 March as duplicates" is a record of a decision, and it is what lets somebody later judge whether the link is still right.

Link types

The type is what makes a link readable. converted, duplicate-of, supersedes, relates-to each mean something specific, and each supports a different question.

Keep the vocabulary small and agreed. A dozen near-synonymous types produce links nobody can query usefully, because half the "related" links are recorded as "relates-to" and half as "associated".

Document conversion uses links

When a quotation is converted into an order, a converted link is written between them. That is what lets you trace an order back to what it came from — and it is worth knowing that this is the same general mechanism, not a special case buried in the conversion code.

Direction means something

From and to are not interchangeable. "This order was converted from that quote" and "this quote was converted into that order" describe the same link read in opposite directions, and a type like supersedes is meaningless without knowing which end supersedes which. Decide the convention when you define the type.

Worked example

A housing team links a repair case to the property asset, to the two previous repair cases at the same address, and to the contractor's quotation. None of those relationships existed when the case datastore was designed, and none required a schema change to record.

Recommendations

  • Fields for structure, links for events.
  • Agree a small vocabulary of link types and write it down.
  • Fix the direction convention per type.
  • Do not duplicate a link as a field as well — two sources of the same truth will diverge.