InDesign panels
A digital magazine publisher laid out its titles in Adobe InDesign, and the editorial workflow lived in a set of InDesign panels written in AngularJS: years of business rules, used by editors every day, on a framework at end of life. TT Tech migrated all of them to the latest Angular without a big-bang rewrite, with the old behaviour pinned by tests before a line changed.

The story
- 1
The situation
A panel that stops working stops a magazine. The panels carried years of editorial rules that nobody had written down anywhere but the code, so a rewrite from a blank page was off the table. The job was to move to modern Angular while editors kept working, with proof at every step that nothing they relied on had changed.
- 2
The approach: pin, migrate, prove
We started with tests, not with code. Before touching a panel we wrote characterisation tests against the AngularJS behaviour, beginning with the parts that are easiest to test: validation, formatting, the pure logic behind each panel. Then we migrated panel by panel to the latest Angular and ran the same test set against the new code. A red test meant the migration had changed behaviour, never that the test was wrong. Each panel shipped on its own, so editors never lost a working tool.
- 3
The result
All panels on the latest Angular, with the behaviour editors relied on proven by the suite that pinned it. The method became step zero of the legacy module in our workshop, and the article linked below: pin the behaviour before you touch it.