# Attribute Composer

> Fills an attribute with a value you build from the artifact's own data, for a whole module at once, showing every new value before anything is saved.

Source: https://widgets.doorsnext.com/widgets/attribute-composer/

- Discipline: Content quality
- Works in: IBM DOORS Next module
- Supported products: RM (IBM Engineering Requirements Management DOORS Next (Requirements Management))
- Changes data
- Keywords: fill attribute automatically, combine attributes, concatenate attribute values, copy requirement text to attribute, bulk attribute update, naming convention, label from attributes
- Version: 1.15 (Released 2026-10-27)
- Vendor: SmarterProcess (https://doorsnext.com, info@smarterprocess.pl)
- Workflow: 1. Choose the target attribute and the parts → 2. Finds the artifacts and composes new values → 3. Check current and new values (If needed: Adjust the rule and find again) → 4. Write values after confirming → 5. Change report in Excel

## What it is and why it exists
Many attributes in a requirements project are not new information: they repeat what the artifact already holds, in a fixed shape. A short label that is the identifier plus the priority, a title that repeats the heading, a key that carries the artifact type, the requirement text as plain text for a report or an export. Today those fields are filled by hand, artifact by artifact, or left empty because nobody has the time.

Attribute Composer fills them in one run. You build a rule once (the parts of the value and their order), and the widget writes the result into the attribute you choose, for every artifact of a module or just the ones you selected, after showing you exactly what each artifact would get.

## Problems it solves
- Attributes that must follow a naming convention ("ID / Priority / Name") and drift apart when people type them by hand.
- Fields that stay empty for thousands of artifacts because filling them one by one is not realistic.
- The requirement text needed as plain text in a separate attribute, for exports, reports or external tools.
- Values typed twice, so a change in the source attribute never reaches the copy.
- No way to see, before saving, what a bulk update would actually write.

## Benefits
- **One rule, a whole module:** parts in the order you choose: attributes of any type, the name, the identifier, the artifact type, the requirement text as plain text, and your own text such as separators.
- **Preview before anything is written:** every artifact with its current value and its new value, side by side.
- **Safe by default:** only empty targets are filled unless you ask for overwriting, an empty result is never written, and a value that is already right is never saved again.
- **Tidy results:** an empty part takes its separator with it, so you never get "ID /  / Name".
- **Reusable:** rules can be saved under a name and loaded again when the same job comes back.
- **Evidence:** an Excel change report lists every artifact with the value before and after.

## How to use
1. Open a module in DOORS Next. Under **Rule**, click **Change** and choose the **Target attribute**: a text attribute, a number attribute when the value is a number, an enumeration attribute when the value is one of its labels, a yes/no or date attribute, or the artifact's name.
2. Build the value under **Parts, in order** with **Add attribute** and **Add text**: each part is an attribute, the name, the identifier, the artifact type, the requirement text as plain text, or your own text such as a separator. Move parts with the arrows; the line under the parts shows the resulting rule.
3. Keep or clear **Skip empty parts** and **Only fill empty targets** (clear it to overwrite existing values), choose an **Artifact type** if only one type should change, and click **Done**.
4. Under **Write**, choose **Whole module** or **Selection** (the artifacts selected in DOORS Next) and click **Find**. The list shows the new value of every artifact that would change; open a row to see the attribute, its current value and the new one, and **Show in module**.
5. Click **Write**, read the confirmation and click **Write N values**. When the run ends, the result block shows how many values were written, already right, skipped or failed; **Log** downloads the Excel change report, and failed artifacts can be tried again from the same block.
6. To skip the search on the whole module, click **Write** without clicking **Find** first: after a confirmation the rule is applied to every artifact of the module in one pass, and the numbers come at the end.

## Good to know
- Always work in a change set: discarding it is the only way to bring the previous values back.
- Enumerations are written with their labels (several values separated by commas), users with their names, dates as year, month and day (YYYY-MM-DD).
- The requirement text is written as plain text: paragraphs, list items and table rows become lines, formatting is dropped.
- Saved rules are personal: they stay in your own browser and are not shared with colleagues or stored on the server.
- A very long value is not written; the limit can be changed in the widget settings.
- On very large modules you can stop a run, reload the page and continue from where it stopped, with the same rule.
