The metamodel
The types, attributes and relations everything else is made of.
On this page
The metamodel decides what your repository can hold: which kinds of thing exist, what can be recorded about each, and how they may be linked. Every other screen is built from it, so a new type appears in the sidebar, the lists and the forms without a new release.
Before you start
- Everything is on Administration → Metamodel.
- To change it you need Change the metamodel (METAMODEL_MANAGE). It comes with Sysadmin and Metadata Manager. Anybody with View the metamodel (METAMODEL_VIEW) can read it.
Your repository may use different names from the examples here. The starter model has types such as Tables, Columns, Business Terms and Data Domain, and attributes such as Contains PII.
What the metamodel is made of
The screen has a tab for each part, plus History.
Asset types
The kinds of thing: Table, Business Term, Data Domain. Each has a Code, a Name and a Plural, plus:
- Group: the sidebar section the type is listed under, such as Business or Physical. A type with no group appears under Other. Spell a group the same way every time, or you'll get a second section.
- Origin: authored if people create these by hand, or harvested if a source system brings them.
- Description: shown to people when they hover over the type.
Attribute types
The fields that can be recorded: Definition, Classification, Contains PII. Each has a Data type: text, long text, text (multi), choice, boolean, date or number. A choice needs Allowed values, which become the options in its dropdown.
Each also has an Origin. authored attributes are filled in by people. harvested ones, such as Owner at Source or Description from Source, are written by harvests from what the source system says, and cannot be edited on an asset. KRISID adds a harvested attribute to an asset type the first time a source brings it, and the change is recorded in History. A release never takes those off.
Sensitive values marks an attribute as a sensitivity marker and says which of its values mean "handle carefully". For a yes/no attribute such as Contains PII, that is yes. For a choice, list the values that count, for example Confidential | Restricted. Each must be one of its allowed values. Leave it blank for ordinary attributes. See Classifications and sensitive data for where these marks show.
Type attributes
Which attributes apply to which asset type, and whether each is Mandatory. This decides what a steward sees on an asset's page.
Relation types
The links that may exist between two types: a Table contains a Column, a Business Term is stored in a Column. Each has:
- a From type, a To type, and how the link Reads as in each direction;
- how many are allowed each way (S→T and T→S, each 1:1 or 1:N);
- an Origin, like asset types.
A link from a type to itself reads once when both directions say the same word. Data Domain related to Data Domains is one question, not two, so it is offered once — in the column picker, in the conditions and on a hierarchy level — and it is answered from both ends: a domain is listed as related to the other whichever way round the link was recorded. Give the two directions different words, such as broader than and narrower than, and it becomes two questions again, each read its own way round. Nothing else has to change; the words decide.
In the workbook, a relation type also has a Lineage column. Leave it blank for structure, or set it to flows to, flows from or same thing when the link means data moves. This is what lineage follows.
Change one thing on the screen
- Open the tab and click the value you want to change.
- Type or choose the new value and save.
You'll see Metamodel changed. The sidebar and the screens update at once.
To add a row, press Add one, fill it in, and press What would this do? to check before Add it. The × at the end of a row removes it.
On screen every type, attribute and relation is shown by its name. Its code is in the last column, small, for when you need it in a workbook. Codes are not edited in place. A code is the key everything else refers to. Changing it would create a new type and abandon the old one.
Change many things with the workbook
For larger changes, download the metamodel as an Excel workbook, edit it and upload it again. KRISID shows you a plan before anything is written.
- Under Download the current metamodel, download the workbook. Always start from a fresh copy. Editing an old one is how one person quietly undoes another's work.
- Edit it in Excel. There is one sheet per part: Asset types, Attribute types, Type attributes and Relation types. The codes in column A are the keys.
- Under Upload and check, press Choose workbook… and pick your file.
- Read the plan under Before applying. Each line is marked add, change (old value → new value), remove or blocked. Worth reading first. lists warnings, such as a new sidebar section or a misspelt icon.
- If it says This will not be applied., nothing has been written. Fix what it lists and upload again.
- Otherwise, press Apply to the repository.
You'll see how many rows were added, changed and removed. If the file matches what is already loaded, it says so and there is nothing to apply.
Icons
The Asset types sheet has an Icon column, with a dropdown of the icons KRISID can draw. The icon appears beside the type in the sidebar. A sidebar group uses its first type's icon. A name KRISID doesn't recognise is a warning, not an error: the type shows its initials, and the plan suggests the nearest icon name. To remove an icon, clear the cell. A workbook with no Icon column at all leaves icons as they are.
What can't be removed while it is in use
KRISID refuses any change that would lose or orphan data that already exists. The plan names each problem:
- an asset type that still has assets (if you meant to rename it, put the old code back: a new code starts empty and the data stays with the old one);
- an attribute type that has values recorded, or taking an attribute off a type when assets of that type hold a value for it;
- changing an attribute's data type while assets hold values under the old type;
- a relation type that links still use, or changing which types it connects while links exist;
- tightening a relation to one-per-side when some assets already have more than one.
Clear or move the data first, then make the change.
Good to know
- Every change, from the screen or the workbook, is recorded on the History tab with who made it.
- A source can propose the types it needs. On its page, What this connector needs from the model shows them and adds them through the same checks. See Connections and harvesting.
- An upgrade never overwrites names or descriptions you have changed. See Upgrading and licensing.