(New) Generic Element Variations Editor
A Variations tab where each row captures one variation of a generic element.
The new Variations tab on a generic element’s detail view gives you an editable grid where each row is one variation of the element — a place to record several parameter sets, runs, or conditions side by side. It answers “I made this several ways — let me capture them all in one place” without needing a separate template per run.
Table of Contents
- Key Features
- For Designers — set up what can be varied
- For Users — record variations
- How It Works
- 🚀 How to Participate in the Preview
Key Features
Audience: Template Designers, Researchers
Interface: Chemotion ELN — Generic Element detail view
- A row per variation: Capture multiple runs or conditions of one element in a single editable grid.
- Choose your columns: Build the table from the element’s own property fields, its segments, plus metadata — Notes, Analyses, and Group.
- Unit-aware: For unit-bearing columns, cycle units in the column header; values convert automatically.
- Fast row building: Duplicate a row to clone its values, or seed the first row from the element’s current values.
- Per-row analyses & notes: Link analyses to a variation (or to a specific layer), edit notes, and assign a group.
- Reorderable & autosaved: Drag rows and columns to reorder; edits autosave on leaving the tab, and a “N variations” badge then appears on the element in the list.
For Designers — set up what can be varied
There is no separate per-template switch to author: the Variations tab reads from the element’s existing template. What you design upstream is what a user can turn into columns.
- Property fields become variation columns when they are an eligible type: Integer, Number, Select, Select (Multiple), System-Defined, Text, Date, or Date/Time. Other field types are skipped — so design the fields you want users to vary as one of these.
- Segment fields are offered too — any segment attached to the element contributes its fields under the Segments group in the column picker.
- Units ride along for System-Defined (unit-bearing) fields: the designer’s unit set is what users cycle through in the column header.
In short: define the relevant fields and segments on the template; the variations grid exposes them automatically.
For Users — record variations
- Open the generic element → click the Variations tab.
- Click Select columns and tick the properties, segments, and metadata (Notes, Analyses, Group) you want as columns.
- Add rows — each row is a variation. Duplicate a row to clone its values as a starting point; you can also seed the first row from the element’s current values.
- Fill in each cell. For unit-bearing columns, click the header to cycle units (values convert automatically).
- Per row you can edit Notes, link analyses to the variation (or to a specific layer), and assign a Group.
- Drag the row handle to reorder variations; drag a column header to reorder columns.
- Edits autosave when you leave the tab; a “N variations” badge then shows on the element in the list.
Hiding a column that still holds data prompts a “Hide and clear” warning so you don’t lose values silently. Remove all clears the whole table (with confirmation).
How It Works
- One record per element. All variations for an element live in a single record — a
variationsblob (the rows and cell values) and alayoutblob (visible columns, order, widths) — so the variations travel with the element. - Stable column identity. A property column maps unambiguously back to a template field even across layers; metadata columns use fixed keys (
notes,analyses,group). - Flexible analyses linking. Analyses can be linked per row, or to a specific layer within a variation — not just to the whole row.
- Units convert on the client. The chosen display unit per column is remembered per user and element, while the saved values stay in the base unit.
- Groups batch rows. Sequential and repetition numbering helpers let you replicate sets of variations.
- Autosave seam. Pending grid edits flush when you switch tabs, marking the element dirty so they persist alongside it.
Note: This feature is currently in preview and may undergo further refinements based on user feedback.
🚀 How to Participate in the Preview
Follow these steps to explore the new features and share your insight:
🖥️ Visit the Staging Instance
Access the preview environment at: labimotion-stage.ibcs.kit.edu🔍 Explore and Test
Try out the enhancements — see how they fit your workflow.❤️ Your Feedback Matters
Share your comments or report any issues in our GitHub Discussion Thread.
We appreciate your help in testing these new features!