Jump to: navigation, search

Corona Use Case Resource Collaboration

Eclipse Home Wiki Home Requirements

Description

Projects have resources. These are acted upon by members of the project that owns the resource. Project team members utilize the Team plug-in within the Eclipse Workbench that provides a reactive way to Synchronize with Repository whenever a resource has been updated.

The problem is requiring the project team members manually collaborate to ensure the team is kept current of project activity. Team member need to contact each other via phone calls or emails. In addition, each team member needs to manually synchronize with the project’s CVS repository to identify any potential updates to project resources.

This use case defines a proactive approach to collaborate on project resource changes. Resource change events within each team member’s Eclipse Workbench are shared with other team members as collaboration events.

Actors

  • Team Member – A member of team that performs some action (create, update, delete) upon a project’s resource.

Assumptions

  • Corona plug-ins have been installed on all Eclipse Workbenches.
  • A shared project has been defined. It is linked to CVS repository. The shared project has been associated with the Collaboration Nature.
  • Each team member has the shared collaboration project checked out from CVS and defined within their Eclipse Workbench.
  • All team members are committers within the project.

Triggers

  • Project resource collaboration begins when the first person opens a shared collaboration project.

Steps

  1. Team Members A, B, C have all opened the same shared project.
  2. Team Member A updates an existing project resource.
  3. The Collaboration Builder within Team Member A’s Workbench is notified that a local resource has been changed.
  4. If the local resource is belongs to a project that is associated with a Collaboration Nature, a Collaboration Event is posted.
    1. The Collaboration Event contains information about the project and the resource that has been changed.
  5. The Corona plug-in is notified of a Collaboration Event. It will send the event to the Corona server (via ECF).
  6. The Corona server distributes the Collaboration Event to all Team Members who have the shared project open.
  7. The Corona plug-in within the Eclipse Workbench of each Team Members receives the Collaboration Event containing the information that a project resource has been modified.
    1. A marker is added to the project resource indicating that it has been changed.
    2. An entry is made within the project’s Collaboration View recording the history of the Collaboration Event.

Variations

Resource Committed to CVS

A resource that has been changed could be committed to the project’s CVS repository. This would impact the following steps.

  • Step 2 - The project resource was committed to CVS.
  • Step 4 - A resource synch event is posted.
  • Step 7.1 – The marker would indicate that the resource has been synched w/ CVS.

Non-Functional

Performance

  • The distribution of Collaboration Event to all project team members should occur within a few seconds.

Load

  • The number of Team Members within a project could range from a few, to a few hundred.

Frequency

  • Collaboration Events should normally occur in low frequencies. A burst of Collaboration Events could occur when a entire project’s folder is moved, deleted, or synched w/ CVS.