Appearance
Run skills in your house
Available now A skill is a specification; anexecutor, a vendor's app, runs it. Your house decides which skills run, with your values, and on which vendor's executor. Everything here happens on the portal's Your house: skills page, in your publisher workspace.
How it works
- A vendor connects its executor into your house as a skill app, and you grant it the message types it needs, as for any vendor connection. A skill app's connection only receives: it should receive at least
story.context. To publish its warnings, the same vendor connects a producer app too, and you grant that connectionskill.warning.raised. - You register a configured instance: a skill from the SOM skill library (0.2.2), an instance label and the skill's values. For a skill that compares authorities, you also give your house's authority scale.
- You bind it to the executor. The executor reads its registrations from the bus with its own credential, and runs them. It sees only the configured instances bound to its connection, never another vendor's.
- You see the chain: which executor runs each skill, which of the skill's trigger message types it's subscribed to, who in your house publishes them, and which of the vendor's connections may publish its warnings.
Owners and admins of your workspace register, bind, change and remove. Developers and viewers see the page.
Register a configured instance
| Field | What it is |
|---|---|
| Skill | One of the library's eleven skills, at version 0.2.2, the version this bus's suite implements |
| Instance label | Your name for this configured instance, unique in your house: lowercase letters, digits, dots, hyphens or underscores. It becomes the rule_id on every warning it raises |
| Values | The fields of the skill's configuration, as its skill file describes them. The page lists them, with which are required |
| Authority scale | Your house's authority levels, most senior first, for example editor-in-chief, duty-editor, producer. A clearance counts when it comes from the declaring level or above; a level not on your list ranks below it, so a declaration stands. Required for skills that compare authorities, and every authority you name in the values must be on it |
| Executor | Optional: bind it now, or later |
The bus checks the values when you register: a field the skill doesn't have is refused, so a typo can't fall back to a default silently, and every field that names a place in the story (such as match_field or watched_field) must be a field of SOM 1.0's story.context, for example lifecycle.phase or tags[].value.
A house has at most 50 configured instances.
Which configured instances run on a story
Values always come from your registration: a story can't carry them. A story can still say which skills are active on it, in its skills_config.active_skills:
- A story without
skills_configgets every configured instance you registered. - A story with
skills_configgets only those whose skill is listed in itsactive_skills. An empty list means none. - If the story lists a skill at another version than the one you registered, that configured instance doesn't run on that story.
This is RND position P-04. Keep it in mind for hold skills: a story that leaves a hold skill out of its list switches that hold off for itself.
Change, rebind or remove
- Edit values changes the values or the authority scale. The configured instance's revision goes up, and the executor picks up the new values at its next read.
- Bind moves it to another executor, or Unbind stops it running anywhere without losing its values.
- Remove stops it for good: the executor stops running it at its next read, and it raises no more warnings. Warnings it already raised stay in your story timeline. Its instance label is free again.
If you disconnect a vendor's executor, the configured instances bound to it show Executor disconnected until you bind them to another.
Who sees what
Your registrations are your house's configuration: every member of your workspace sees them. A vendor's executor reads the configured instances bound to it, with their values, and nothing else. When you bind one to a vendor's executor, or unbind or remove it, the vendor's audit log records it, as your organisation. See Who sees what in a house.
When you export your house as a bus config, every active configured instance goes with it, values included.
For the executor's side, see Registrations in the executor contract.