Requirements
Links to Other Projects
Trace an item to a requirement, function or test in another project; each person sees the linked item only when they can open its project.
Overview
A link to another project is a trace relationship from an item in this project to an item in a different project, such as a subsystem requirement traced from a requirement in the system specification, or a test procedure that verifies a requirement kept by another team.
The link is part of this project. It stores only the ids of the two items and the relation. The linked item's number, name, class and status are read from its own project each time you look, with your own access:
- When you can open the other project, you see the item and can click through to it.
- When you cannot, you see Item in a project you can't open. The name never reaches you, in the app, in exports, through the API or through AI tools.
Links to other projects are part of the Team plan. The plan of the project's owner decides. On other plans existing links stay visible and can be removed, but new ones cannot be added.
Concepts
What a link holds
| Part | Meaning |
|---|---|
| Source | An item of this project |
| Relation | A relation of this project's schema, such as traced from, satisfies or verified by |
| Target | The id of a project and the id of an item in it |
The relation is checked against the source's class. The target's class is not checked when the link is made, because the link never reads the other project's content. When the target's class does not fit the relation, the Trace section shows ⚠ with "This relation does not usually point to …".
Who sees what
Each person sees each linked item with the role they have in its project:
| Your access to the other project | What you see |
|---|---|
| Any role (Owner, Editor, Reviewer, Viewer) | Number, name, project, and a link that opens the item |
| None, or the project no longer exists | Item in a project you can't open |
A project that does not exist and a project you cannot open look the same, so a link never tells you that a project exists.
Link states
| Shown | Meaning | What to do |
|---|---|---|
| Number and name | The item exists and you can open its project | Nothing |
| Deleted in <project> | The item is in its project's Trash | Ask someone who can edit that project to restore it, or remove the link |
| Deleted | The item no longer exists | Remove the link (Remove Broken Links) |
| Item in a project you can't open | You have no access to the project, or it no longer exists | Ask the project's owner for access if you need it |
| Loading… | The item is being read | Wait a moment |
Names are read when a page shows the link, again when you return to the tab after a minute, and every five minutes. A renamed item shows its new name without any change to this project.
How to use it
When and why
Use links to other projects when one model would be too large or is owned by different teams: a system specification and its subsystem specifications, a product line's shared requirements and each product, or a customer's requirements and your design. Keep the links in the lower-level project, pointing up: each subsystem traces its requirements from the system requirements.
Use ordinary relationships inside one project. Link existing… in the Trace section relates items of the same project; a link to another project is for items that live elsewhere.
Add a link
- Select the item, for example a subsystem requirement.
- In the inspector, open the Trace section. Under Other projects, click + (Add Link to Another Project…).
- Choose the Relation, such as traced from.
- Choose the Project. Its items are listed by number.
- For a library, choose the Version: Current (working copy) or a release such as Release 1.1. A link to a release shows its label instead of current, and its name does not open a page.
- Type in Search to find an item by number or name. Choose a Class to list only that class.
- Click the item, then click Add Link. The toast says "Link added." and the item appears under Other projects.
The link is one undo step. Adding the same link again keeps the existing one.
Open the linked item
Click the linked item's name. Its project opens at that item.
Remove links
- Click × on the link's row to remove one link.
- When links point to deleted items, click ⋯ next to Other projects, then Remove Broken Links (n).
Removing a link changes only this project. The other project is never changed by a link.
Worked example: a payload subsystem and the CubeSat EO-1 demo
- Create a project named EO-1 Payload with a requirement PL.1 Detector pixel pitch shall be at most 5.5 µm.
- Select PL.1, open Trace → Other projects → +.
- Choose traced from, the project CubeSat EO-1, search ground sample, and click 1.2 Ground Sample Distance. Click Add Link.
- The row reads traced from 1.2 Ground Sample Distance CubeSat EO-1 · current. A colleague who can open only EO-1 Payload sees Item in a project you can't open on the same row.
Tips and good practice
- Link from the lower level to the higher level, so the system project does not have to change when a subsystem is added.
- Share the higher-level project as Viewer with the people who work on the lower-level one, so they see the names.
- Run Remove Broken Links after a higher-level project is reorganized.
Common mistakes
| Problem | Cause | Fix |
|---|---|---|
| "This item is in this project. Use Link existing… instead." | The target is in the same project | Use Link existing… in the relation's group |
| No + under Other projects | You can only view the project, or the item is locked | Ask for the Editor role, or unlock the item |
| "Links to items in other projects are part of the Team plan." | The project's owner is not on the Team plan | Upgrade in Account Settings → Plan & Billing |
| The picker says "This project cannot be read. Choose another project." | You lost access to that project | Ask its owner for access |
How it connects to other features
- Traceability Matrix: links from the rows over the chosen relations are listed below the grid under Other projects; Export… adds them (see Traceability).
- Spider Diagram: linked items appear as dashed boxes around their item; turn them off with Options → Other projects.
- Program Coverage: the project you link to lists these links on Verification → Program Coverage, by item and project (see Program Coverage).
- History and Activity: adding and removing a link is recorded on the item.
- Trash: deleting an item moves its links to the Trash with it; restoring the item restores them.
- Change requests: Add Change ▾ → Add a Link to Another Project… and Remove a Link to Another Project… stage links; they are added or removed when the request is applied.
- Libraries: link to an item of a library release with the Version choice (see Libraries).
Exports and reports
Exports name linked items with the access of the person who exports. Anything that person cannot read is written as "Item in another project".
| Export | What happens to links to other projects |
|---|---|
| Project JSON (Database export) | Kept as stored: ids only. Importing the file keeps them |
| ReqIF (Database and Documents) | An External links attribute on each linked item: relation, project id and item id, plus number and name when you can read them |
| XMI | Left out; the export report counts them as "Link to another project" |
| Traceability Matrix (Excel) | A separate Other projects sheet |
| Traceability Matrix (CSV) | An Other projects column |
| Requirements Traceability Matrix (RTM) report | An Other Projects column |
API and MCP
The API and MCP return links as ids. To read the names, call the resolve operation; it uses the token's own access and project list. See API and MCP.
AI features in the app receive links as ids only.
Messages
| Message | Meaning |
|---|---|
| Link added. | The link was saved |
| This item is in this project. Use Link existing… instead. | The chosen item is in the same project |
| Choose an item, then add the link. | Add Link was clicked without choosing an item |
| No other projects to link to. Create or open another project first. | You have only this project |
| Links to items in other projects are part of the Team plan. | The project's owner is not on the Team plan |
| A project holds at most 20,000 links to other projects. Remove some first. | The project reached the limit |
Limits
| Limit | Value |
|---|---|
| Links per project | 20,000 |
| Items read per request | 500 |
| Items listed in the picker | 100 per search (narrow the search to see others) |
A link points to the current version of the other project, or to the copy of an item in a library release (see Libraries).