## Overview

Shows the subscriptions of a planning element in a table (only available for the "Task" and "Milestone" types).

The widget provides visibility into cross-schedule task and milestone references within the cplace Project Planning (Extended) app. A "subscription" (German: "Abo") is a mirror/copy of a task or milestone that exists in another schedule. This widget displays all subscriptions of the current planning element, showing which other schedules contain subscribed copies of the task or milestone.

The widget is essential for users working in multi-schedule project environments where tasks need to be shared or referenced across different project schedules.

## Use Cases

### Cross-Schedule Task Visibility
A project manager has a master task in Schedule A, and this task has been subscribed to by tasks in Schedules B and C. The widget shows all these cross-schedule references, providing transparency and traceability for task sharing and dependencies.

### Access Control Awareness
When a task has multiple subscriptions but the user only has read access to some schedules, the widget clearly indicates:
- Total subscriptions count
- Visible subscriptions (those the user can access)
- Subscriptions without read access

This helps users understand the complete picture while respecting security boundaries.

### Subscription Hierarchy Management
In hybrid project management environments with complex subscription networks, the widget helps users trace subscription relationships back to containing schedules.

## Design Considerations

### Embedding Restrictions
This widget can **only** be embedded in:
- Task pages (`cf.cplace.projektplanung.Aktivitaet`)
- Milestone pages (`cf.cplace.projektplanung.Meilenstein`)

Attempting to embed it in other page types will result in an error.

### Performance Limit
The widget displays a maximum of 500 subscriptions for performance reasons. When this limit is reached, users see a message indicating the limitation.

### Read-Only Display
The widget is strictly read-only - it displays subscription relationships but does not allow editing. The table shows:
- Parent (containing element)
- Containing Schedule

## Common Pitfalls

- **Wrong embedding context**: The widget only works on Task and Milestone pages. Embedding it elsewhere will fail.
- **Expecting edit capabilities**: This is a monitoring widget only; subscription management happens elsewhere.
- **Overlooking access restrictions**: Some subscriptions may be hidden due to the user's permissions.

## Alternatives

| Alternative | When to Use |
|------------|-------------|
| **Single Gantt Widget** (`cf.projektplanung.singleGantt`) | When you need to visualize subscriptions in a timeline/Gantt context |
| **Multi Gantt Widget** (`cf.projektplanung.multiGantt`) | When viewing subscription relationships across multiple schedules visually |
| **Incoming References Widget** (`cf.platform.incomingReferences`) | For generic page reference tracking (not subscription-specific) |

## Related Patterns

- **Subscription Feature**: The widget relies on the Project Planning Extended app's subscription feature, which must be enabled in the plugin configuration
- **Entity Mirror Mechanism**: Subscriptions use the platform's EntityMirror concept to create mirror relationships between pages
