# Link Switcher

> 한 유형의 링크를 다른 유형으로 바꾸거나 방향을 반대로 바꿉니다. 모듈 전체 또는 선택 항목에서, 링크를 직접 삭제하고 다시 만들 필요가 없습니다.

Source: https://widgets.doorsnext.com/ko/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에서 선택한 아티팩트를 대상으로 작동합니다.
- 아티팩트의 기본 아티팩트를 읽을 수 없어도 모듈 안의 링크는 변경되며, 경고에 해당 아티팩트가 표시됩니다.
