Mapplets and Reusable Logic
Mapplets package a group of transformations for reuse across mappings, and this domain checks the rules that make a set of transformations legally reusable.
Core rules
- A mapplet is a reusable object stored in a folder, containing transformations plus an Input transformation and an Output transformation that expose its ports.
- A mapplet cannot contain source definitions, target definitions, or another mapplet, and it cannot be used as a source or target in a mapping.
- Mapplets can be reusable or non-reusable. A reusable mapplet added to several mappings is the same logic everywhere; a non-reusable one is copied when you add it.
- Validate the mapplet before saving. Dependent mappings validate against the saved mapplet, so a broken mapplet breaks every mapping that uses it.
- You can create shortcuts to mapplets and pass mapping parameters and variables into them.
- Adding a reusable mapplet to a mapping creates an instance. You cannot edit its internals in the mapping; you edit the mapplet and re-validate the mappings.
Worked example
Five mappings need identical phone-number standardisation. Build a mapplet with an Input transformation (customer_id, phone_raw), Expression transformations that strip punctuation and add a country code, and an Output transformation (customer_id, phone_clean). Publish it once, then add it to each mapping. When the country code changes, you edit the mapplet once instead of editing five mappings.
Traps
- Trying to drag a source into a mapplet - the Designer will not allow it.
- Forgetting the Output transformation, leaving nothing to connect downstream.
- Editing a mapplet instance inside a mapping and losing the change because the reusable definition is untouched.
- Assuming mapplets can nest for layered reuse; they cannot.