# Link Switcher

> 在整个模块或所选工件中，将一种类型的链接改为另一种类型或反转其方向，无需手动删除和重新创建。

Source: https://widgets.doorsnext.com/zh/widgets/link-switcher/

- 学科: 链接与可追溯性
- 适用于: IBM DOORS Next 模块
- 支持的产品: RM (IBM Engineering Requirements Management DOORS Next (Requirements Management))
- 更改数据
- Keywords: 更改链接类型, 转换链接, 反转链接方向, 将链接复制为其他类型, 可追溯性模型变更, 批量更新链接, Link To 改为 Satisfies
- 版本: 1.21 (发布日期 2026-10-27)
- Vendor: SmarterProcess (https://doorsnext.com, info@smarterprocess.pl)
- 工作流程: 1. From：勾选要更改的链接类型 → 2. To：选择新类型和方向 → 3. Find links：显示每个链接将变成什么 (如有需要: 或 Selection：在 DOORS Next 中选择的工件) → 4. Change：确认后执行 (如有需要: 有失败：Retry) → 5. 结果及 Excel 格式的 Log

## 它是什么，为何存在
可追溯性模型会变化。团队一开始使用通用的“Link To”链接，后来决定应改为“Satisfies”；一次导入创建了方向错误的“Validated By”链接；新的模型需要在现有链接类型之外再增加一种类型。在标准界面中，每条这样的链接都必须逐一删除再重新创建，过程中很容易丢失链接。

Link Switcher 批量且安全地更改现有链接：您选择要更改的链接、它们要变成的链接类型以及新的方向，在任何更改之前查看每条链接，并在一次受控的运行中完成更改。它还可以将链接复制为另一种类型并保留原始链接。

## 解决的问题
- 导入、迁移或可追溯性模型变更后出现数百条类型错误的链接。
- 方向错误、需要反转的链接。
- 手动删除并重新创建链接，既慢又有丢失链接的风险。
- 过渡期内新链接类型需要与旧类型并存。
- 没有记录说明哪些链接被更改。

## 优势
- **批量更改：**任意数量的链接类型都可改为一种新类型，方向保持不变或反转。
- **安全的顺序：**先创建新链接，之后才删除原始链接；如果创建失败，原始链接保留。
- **复制模式：**“Keep the original links”添加一条新类型的副本，原始链接保持不变。
- **预览：**按工件列出每条链接及其将变成的样子，运行前显示数量。
- **默认安全：**只更改模块上下文中的链接，除非您包含基本工件上的链接；该选项在每次运行后自动关闭。
- **长时间运行也在掌控之中：**进度显示、Stop 以及超大模块的继续运行，无法更改的链接列表及 Retry，并提供 Excel 变更报告。

## 使用方法
1. 在 **Link types** 下单击 **Change**。在 **From** 下勾选要更改的链接类型，并选择其 **Direction**：**All directions**、**Outgoing** 或 **Incoming**。该列表来自项目中定义的链接类型。
2. 在 **To** 下选择 **New link type** 和 **Direction of the new link**：**Same as original** 或 **Reversed**。
3. 可选：勾选 **Keep the original links**（复制而非更改）和 **Change links in the module and on base artifacts**，然后单击 **Done**。
4. 在 **Change** 下选择 **Whole module** 或 **Selection**（在 DOORS Next 中选择的工件），然后单击 **Find links**。此时不会更改任何内容：展开 **Links** 下的一行，即可查看每个链接及其将变成什么。
5. 单击 **Change**（或 **Copy**），阅读确认内容，然后用 **Change N links**（或 **Copy N links**）确认。
6. 结果显示已更改的链接、已存在的新链接、基本工件上的链接以及失败项，并提供 **Retry**。**Log** 可将变更报告保存到 Excel。

## 须知
- 双向链接仍保持双向：只更改其类型，Reversed 选项对其不适用。
- 如果所选链接已经是新的类型和方向，则无需更改，小组件会给出提示。
- 同一模块中两个工件之间的链接只更改一次，不会更改两次。
- 基本工件上的链接会在所有复用这些工件的模块中改变；请谨慎使用此选项。
- 请始终在变更集中工作：废弃变更集是恢复原始链接的唯一方法。
- 对整个模块，**Change** 也可以不先查找，经过同样的确认后一次完成。对于非常大的模块，已停止的运行可通过 **Continue from …** 继续，重新加载页面后也可以。
- 在模块之外，小部件处理在 DOORS Next 中选择的工件。
- 如果无法读取某个工件的基本工件，其在模块中的链接仍会更改，并有警告指出该工件。
