Plugins vs Service Overrides β
Use plugins by default. Use service overrides only as a controlled escape hatch.
Related pages:
Plugins (Recommended) β
- Add business logic as backend/frontend plugin parts.
- Stay aligned with raclette's contracts (routes, schemas, widgets, generated config, live updates).
- Better long-term maintainability and compatibility with framework evolution.
Service Overrides (Escape Hatch) β
services/backend/*andservices/frontend/*can fully replace matching core files.- Replacement is priority-based and carries migration risk.
- Useful for temporary gaps where no extension point exists yet.
Rule of Thumb β
- New feature? Build a plugin.
- Need low-level runtime behavior change not exposed by plugin contract? Consider override carefully.
- If override is needed, keep scope minimal and document rationale in the app repo.
- Missing core feature? Consider upstreaming it to racletteJS core.