How to choose the right Extension Context
Choosing the appropriate Extension Context is one of the most important decisions when designing and developing an Extension.
Note: The
Extension Contextdetermines whether your extension can be installed at the project or organization level.
Why is this decision important?β
Your choice has significant impact on:
- π§© Functional capabilities
 - π Technical limitations
 - πΈ Pricing strategy and monetization
 
Decision factorsβ
1. Product-specific considerationsβ
Think about the level at which your product delivers the most value:
- Organization level: Makes sense if your product deals with organization-wide processes (e.g., centralized user management, contract handling).
 - Project level: Suitable for project-specific tools (e.g., deployment features, visualizations tied to a specific project).
 
2. Technical considerationsβ
Not all technical features are available at the project level:
Limitations of Project Extensions:
- Access is limited to resources at or below the project level. This means that access to organizations, contracts, contract partners, etc., is not possible.
 - No ability to embed frontend fragments above the project level. For example, you cannot add a menu item to organizations. Conversely, extensions installed at the organization level can include frontend fragments on the project level and below.
 - No cross-project data processing or storage β unless the Contributor explicitly implements this functionality inside the extension.
 - No cross-project billing β unless the Contributor makes the extension free in perspective of the marketplace and handles billing entirely on their own.
 
3. Strategic considerationsβ
This decision will directly affect your pricing strategy:
- Extensions installed on the project level must be paid for multiple times β once per project where theyβre used.
 - On the organization level, one installation per organization is sufficient.
 
Example: A small tool priced at β¬1.50 per project can become quite expensive if a customer manages 100 projects. This might lead to that customer deciding against using the extension.