Uniform Siphon is a focused toolkit for refactoring Uniform serialization. It helps you clean up after imports, migrate between datasources, and standardize models by:
converting entries → blocks/components/patterns,
replacing inline asset URLs with proper Uniform assets,
scanning for orphaned datatypes/dataresources and JPTR tokens.
This utility analyzes a Uniform serialization dataset and scans for all unique jptr tokens (data resource references). It reports how many datatypes and compositions/entries are used and where they are referenced. This helps to understand the migration scope of a given datasource and archetype before performing actual transformations.
This utility processes a Uniform serialization dataset and replaces entries with components or patterns. It migrates source data from entry files directly into compositions, updating component parameters and patterns so that entries are no longer required as separate entities.
For example, when there is an Author entry referenced by a News Article composition through an Author component, after running the command the entry's field values will be copied directly into the component's fields. The original Author entry will then be removed.
This utility processes a Uniform serialization dataset and migrates entries into components and patterns. It identifies components that reference entries, transforms those entries into blocks, and updates component definitions accordingly. Unused or fully migrated entries can be removed, and new block definitions or patterns are created when necessary.
Scans a Uniform serialization dataset and finds all unique JPTR tokens (${#jptr:/...}) that point to data resources from selected datasources. Useful for auditing connected data usage before refactors or migrations.
Scans a Uniform serialization dataset to detect datatypes that are not used anywhere. Optionally removes orphaned datatypes from all serializations and deletes the datatype files.
This utility analyzes Uniform serialization data (entries and contentTypes) and automatically transforms all entries of a specified --contentType into blocks. By doing so, it replaces direct content type references with block references, making the data model more flexible and modular.
For example, when having a News Article entry with a reference field "Author" pointing to another entry called John Doe, after using the command the Author field will become a block field with John Doe being an block entry. The John Doe entry will be removed.
Generates Uniform Canvas artifacts (components, compositions, and project map) from the Uniform Entries and ContentTypes serialization. The tool creates component definitions based on Content Types (including slots from contentReference fields). Transforms entries of specified page types into compositions. Builds a Project Map (nodes and definition) based on page hierarchy (parentPages field) and inserts links to map nodes where required.
Content Type IDs for dynamic page templates. (Dynamic composition generation is partially implemented, see notes below).
--ref-field-as-link
Comma/semicolon/pipe/dot-separated list of contentReference field IDs to be converted into links pointing to Project Map Nodes, instead of being inlined as slots.
--contenttypes
Comma/semicolon/pipe/dot-separated list of Content Types to exclude from migration (no component/composition will be generated for them).
--exclude-fields
Comma/semicolon/pipe/dot-separated list of field IDs to exclude from components/compositions (e.g., system/internal fields).
--defaultLanguage
Default locale to use when resolving field values for slot generation. If not set, the first available locale will be used.