Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Corona Design Collaboration"
m |
m |
||
Line 40: | Line 40: | ||
===Collaboration Events=== | ===Collaboration Events=== | ||
Collaboration Events are a special type of OSGi events. Collaboration Events have a set of required attributes. In addition, they are serializable so that they can be distributed to other Corona enabled environments. | Collaboration Events are a special type of OSGi events. Collaboration Events have a set of required attributes. In addition, they are serializable so that they can be distributed to other Corona enabled environments. | ||
+ | |||
+ | ====Distribution==== | ||
+ | Within the local environment, Collaboration Events are published to and subscribed from the OSGi EventAdmin service. This allows all components within the local environment to utilize a native event mechanism. | ||
+ | |||
+ | Collaboration Events are also distributed to all Corona enabled environments that are participating in the same Collaboration Project. The Eclipse Communication Framework (ECF) is used as the exemplary provider for event replication. This requires Corona to provide both client and server side plug-ins to handle the distribution of remote Collaboration Events. | ||
+ | |||
==Risk== | ==Risk== |
Revision as of 12:58, 16 June 2006
Eclipse Home | Corona Wiki Home | Development |
Contents
Description
Collaboration is the user experience of Corona. It enables a set of individual Eclipse Workbenches to participate in a workgroup. Corona's collaboratoin features involve both client-side (Eclipse Workbench plugins) server-side (SOA) components.
Corona enables a context to collaboration. This context enables collaboration events to be grouped so that relationships between artifacts can be established. Corona provides an exemplary collaboration context of a project as the bases for a workgroup.
References
- Project Container
- Eclipse Communication Framework
- OSGi EventAdmin service
- OSGi Service Registration / Service Tracking
Scope
- The Eclipse Workbench is the supported client side environment for collaboration.
Assumptions
Design
Collaboration Project
A Collaboration Project must first be established before any ‘’workgroup’’ collaboration can take place. A Collaboration Project is defined and managed by Corona. When an Eclipse Workbench can join an existing Collaboration Project, the Workbench will be initialized with the local project settings.
Collaboration Builder
An Eclipse Workbench project builder (nature) will be added to each Workbench project that is associated with a Collaboration project. This will indicate that the Workbench project is participating in a Collaboration project.
The Collaboration Builder will handle all Workbench Resource Change Events and propagate them to registered Collaboration listeners. The following are the types of Collaboration listeners
- ICollaborationFileListener
- ICollaborationFolderListener
- ICollaborationResourceListener
Each Collaboration listener is responsible for handling the Workbench Resource Change event and publishing it as a Collaboration Event, if necessary.
Collaboration Events
Collaboration Events are a special type of OSGi events. Collaboration Events have a set of required attributes. In addition, they are serializable so that they can be distributed to other Corona enabled environments.
Distribution
Within the local environment, Collaboration Events are published to and subscribed from the OSGi EventAdmin service. This allows all components within the local environment to utilize a native event mechanism.
Collaboration Events are also distributed to all Corona enabled environments that are participating in the same Collaboration Project. The Eclipse Communication Framework (ECF) is used as the exemplary provider for event replication. This requires Corona to provide both client and server side plug-ins to handle the distribution of remote Collaboration Events.