School project · an exam, built and run

Every CRM workspace, the same.

Clicking the same custom objects into every CRM workspace drifts by the third. twentything declares the workspace once and applies it everywhere.

How it works Built by Rytter

$ twentything apply --all
broker-aarhus
+ object property (4 fields)
+ object vehicle (3 fields)
+ relation company → properties, company → vehicles
~ view company added properties, vehicles
broker-odense
~ field property.year_built → built
+ field property.area_m2
broker-kolding already declared
3 workspaces · 6 changes · 0 errors

Features

The workspace's shape, kept in git.

  • Declared once

    Objects, fields, relations and views in one file, so every workspace's shape has a history.

  • Drift repaired

    Each workspace is compared with the file, and only what is missing or wrong is changed.

  • Safe to repeat

    Run it twice, or after an interruption, and every workspace ends in the same state.

How it works

Over Twenty's own API.

  1. 1

    Read

    It reads each workspace's current shape, so it never assumes what is already there.

  2. 2

    Compare

    The difference from the file is the whole plan, so a new workspace is the same command.

  3. 3

    Apply

    Changes go through the CRM's API, not injected scripts, so an upgrade of the CRM breaks nothing.

Who built it

Built by Rytter.

I'm Jakob Rytter. I build software and run it, from the server to the screen, and twentything was an exam project with fetchthing as its other half.

rytter.it All the things