Source Versions

A source object changes as your application changes: a field is added, another is removed, a value gets a new allowed range. The Rule Repository keeps each definition as a separate source version, so every rule always keeps the definition it was written against, and you can see exactly what a rule could use at the time it was written. One version of each source object is live: the one the repository treats as current.

These parts of the repository show source versions:

  • The Source Versions tab: a grid of every version of every source object.
  • The Source Version dialog: one version's fields, its definition as your application wrote it, its statistics, notes and saved test values, and the buttons to make it live, compare it, test it or start a rule from it.

Why a source object has versions

A rule refers to fields by name and relies on their types. If a field disappears or changes type, a rule written before the change could decide differently, or not run at all. So when your application brings in a definition that differs in a way that matters to a rule, the repository does not overwrite the old one. It adds a new version and keeps the old one as it was.

  • Every rule version is written against one source version, and stays tied to it for good.
  • A change that cannot affect what a rule decides, such as a new display name or description, is written into the existing version instead, and no new version is made.

When the Source Object Changes explains which changes make a new version.

The Source Versions grid

Click the Source Versions tab. Select a source object in All sources... to see only its versions.

Column What it shows
ID The version's number. The repository shows a version by its name when it has one, and by its ID otherwise
Name The version's name; empty until someone names it
Source The source object it belongs to
Live Yes for the source object's live version
Created By, Created On System when your application created the version, and when
Rule Versions, Drafts, Tests What was written against this version
≠, ✓, ✗ Tests not run yet, and live evaluations that succeeded and that ended in an error

Use the Live or not... filter to list only live versions, or only the others. The boxes at the start of the rows and Compare Selected compare two versions; see Comparing Source Versions.

The live version

Each source object has one live version. It is the version a new rule or test starts from, marked (Live) wherever you select a version. Making a source version live does not change what your application runs: your application always works with its own current data. The live version tells the repository and its users which definition that is.

The first version of a source object is live from the start. Whether a later version goes live by itself when your application brings it in is your application's choice. Often it does not, and a person makes it live when the application is ready.

The Source Version dialog

Click a row to open the Source Version dialog. Its information line names the source object, and the line under it says whether this version is live, with Go Live or Take Offline beside it.

Its tabs:

  • Source Fields: every field, method and action of this version, with its settings. See Browsing Fields.
  • Source XML: the same definition as your application wrote it. See Browsing Fields.
  • Stats: the version's saved tests, tests not run yet, and live evaluations.
  • Internal Notes and Value Templates: notes and saved test values for this version.
  • Details: the version's Name and Description, with Save Changes and Delete Version.

At the bottom: Show related..., Compare to... (see Comparing Source Versions), Test..., New Draft... and New Rule..., which start from this version.

Make a source version live

  1. Open the version's dialog. Its line says This source version is not Live.
  2. Click Go Live. A Pay Attention confirmation says which version this one replaces; that version is taken offline. You can add an internal note, which is kept on the version.
  3. Click Next, type live, and click Go Live.

The line turns green and says This source version is Live.

Take a source version offline

  1. Open the live version's dialog and click Take Offline.
  2. If you want, select a version in Make another version live in its place (optional). Without one, the source object has no live version until someone makes one live, and the confirmation says so.
  3. Click Next, type offline, and click Take Offline.

Go Live and Take Offline need permission. Without it, they are shown but turned off, and their tooltip says that you do not have permission to do this.

Name a version

Give a version a name that says what changed, such as the release of your application that brought it.

  1. Open the version and click Details.
  2. Type a Name and, if you want, a Description.
  3. Click Save Changes. From now on, the repository shows the version by its name.

Ask on Stack Overflow - Yes, it's still active
Ask in GitHub Discussions

p102

l097 --

l102

p101

×