Project API/SPI for project and workspaces manipulation.
The API defines Project
and Workspace
interface. Most of modules will use these interfaces to watch
the application lifecycle. The ProjectController
service manage
the system. A ProjectListener
interface can be used to track project events.
The SPI notably defines how modules can interact with the workspace lifecycle. The most common need is for
a module to attach a unique model to each workspace. The best way to do that is to implement a
Controller
service. This controller will be called when a new workspace is created. The alternative
way is to implement a WorkspaceListener
service to listen to the project lifecycle.
See WorkspacePersistenceProvider
for project saving/loading.