Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Corona Use Case Project Open"

(Updated diagram and use case steps)
(Updated to use ProjectContainerExplorer)
 
(One intermediate revision by one other user not shown)
Line 7: Line 7:
 
</table>
 
</table>
 
----
 
----
 +
 
== Description ==
 
== Description ==
A new team member joins a Project. The development group is using eclipse, and the Project consists of a number of sub-projects (corresponding to Eclipse projects). The new member installs Eclipse, installs the Corona Client plugin, and configures it to talk to the workgroup's Corona server. The new member then selects the workgroup's Project from a list, and watches in amazement as Eclipse initializes the project settings and checks the appropriate sub-projects out of CVS.
+
An Eclipse Workbench has been enabled with the Corona collaboration framework, specifically the ''Project'' collaboration context.  A user wants to open a ''Project Container'' that holds two Eclipse Workbench projects. The user will use the ''Project Container Explorer'' to navigate the list of locally cached ''Project Container'' definitions and select a ''Project Container'' to open.  Upon selection, the ''Project Container Explorer'' will launch the ''Project Container View'' as well as open all Workbench projects that belong to the ''Project Container''.
  
 
== Actors ==
 
== Actors ==
* ''Team Member'' – A member of team that performs some action (create, update, delete) upon a project.
+
* ''Team Member'' – A member of team that performs the '''open''' action ''Project Container''.
  
 
== Assumptions ==
 
== Assumptions ==
 
* The Eclipse Workbench has been enabled with Corona and ECF plug-ins
 
* The Eclipse Workbench has been enabled with Corona and ECF plug-ins
* The Workbench has a local projects ‘A’ defined
+
* The Workbench has previously imported ''Project Container'' definitions, including the ''Project Container'' named "Demo"
* Workbench project ‘A’ has a Project Collaboration Nature assigned to it.
+
* Workbench project ‘A’ belongs to the ''Project Container'' named "Demo"
* Workbench project ‘A’ belong to the Corona ProjectContainer context named ‘Acme’
+
* Workbench project ‘B’ belongs to the ''Project Container'' named "Demo"
  
 
== Steps ==
 
== Steps ==
The following illustration is referenced by this use case.  Each box in the illustration is labled (A-L) and is referenced by each use case step that it is involved with.\\
+
# A ''Team Member'' has started an Eclipse Workbench enabled with Corona collaboration
[[Image:CoronaCollabFlow.png]]
+
# The ''Team Member'' uses the ''Project Container Explorer'' to show the list of locally known ''Project Containers''
 
+
## The ''Project Container Explorer'' requests a list of locally available ''Project Containers'' from the ''Project Container Cache''
# A team member open an Eclipse Workbench project
+
## The ''Project Container Explorer'' displays a tree structure of locally known (cached) ''Project Container''s
# The Eclipse Workbench publishes a ''IResourceChangeEvent'' notifying interested plug-ins that the project is being opened. [A]
+
# The ''Team Member'' selects the ''Project Container'' named '''Demo'''
# The Corona plug-in ''org.eclipse.corona.client.project.builder'' receives the ''IResourceChangeEvent'' notification. [D]
+
# The ''Project Container Explorer'' the requests the ''Project Container Cache'' to '''open''' the ''Project Container''
## The plug-in validates that the Workbench project being opened has the Collaboration Nature assigned to it.
+
## The ''Project Container Cache'' performs a remote call to the Corona collaboration server requesting the ''Project Container Manager'' to open the ''Project Container''
## A ''ProjectCollaborationEvent'' is created and sent to Corona's Collaboration EventAdmin  [E,I]
+
## If the ''Project Container Cache'' is unable to interact with the ''Project Container Manager'' the locally defined ''Project Container'' will be used.
# The Corona plug-in ''org.eclipse.corona.common.collaboration.eventadmin'' recieves the Collaboration Event from Corona's Project Builder. [H]
+
# The ''Project Container Explorer'' publish a ''Project Event'' indicating that the user has opened the "Demo" ''Project Container''
## The CollaborationEvent is validated and published as an OSGi Event.
+
# The ''Project Container Explorer'' displays the ''Project Container View'' for the opened ''Project Container''
# The Eclipse plug-in, ''org.eclipse.equinox.eventadmin'', handles the OSGi Event.  [K]
+
# The ''Project Container Explorer'' opens each Eclipse Workbench project associated with the "Demo" ''Project Container''
## A copy of the event is delivered to all registered event subscribers. [G,L]
+
## Eclipse Workbench 'A' is opened
# The Corona plug-in ''org.eclipse.corona.client.project.event.handler'' receives a copy of the Collaboratoin Event. [G]
+
## Eclipse Workbench 'B' is opened
## The Collaboration Event is "adapted"" to a Project Collaboration Event
+
## The ProjectEvent is forwarded to the plug-in ''org.eclipse.corona.client.project.proxy'' where the remote Project Container is accessed via web services to retrieve details of the Collaboaration project.  [C]
+
## The Project Container deatils are used to update the UI. [B]
+
# The Corona plug-in ''org.eclipse.corona.client.collaboration.ecf'' receives a copy of the Collaboration Event. [L]
+
## The Collaboration Event is sent to ECF where it is distributed to all members of the workgroup.  [M]
+
### The Collaboration Event is published to an ECF topic that represents the Project Collaboration context.
+
  
 
== Variations ==
 
== Variations ==
Line 48: Line 43:
  
 
=== Frequency ===
 
=== Frequency ===
* A ''team member'' is expected to occasionally open a project.
+
* A ''Team Member'' is expected to open a ''Project Container'' several times per day.  It is expected to be a low frequency request.

Latest revision as of 08:16, 20 July 2006

Home Wiki Home Requirements

Description

An Eclipse Workbench has been enabled with the Corona collaboration framework, specifically the Project collaboration context. A user wants to open a Project Container that holds two Eclipse Workbench projects. The user will use the Project Container Explorer to navigate the list of locally cached Project Container definitions and select a Project Container to open. Upon selection, the Project Container Explorer will launch the Project Container View as well as open all Workbench projects that belong to the Project Container.

Actors

  • Team Member – A member of team that performs the open action Project Container.

Assumptions

  • The Eclipse Workbench has been enabled with Corona and ECF plug-ins
  • The Workbench has previously imported Project Container definitions, including the Project Container named "Demo"
  • Workbench project ‘A’ belongs to the Project Container named "Demo"
  • Workbench project ‘B’ belongs to the Project Container named "Demo"

Steps

  1. A Team Member has started an Eclipse Workbench enabled with Corona collaboration
  2. The Team Member uses the Project Container Explorer to show the list of locally known Project Containers
    1. The Project Container Explorer requests a list of locally available Project Containers from the Project Container Cache
    2. The Project Container Explorer displays a tree structure of locally known (cached) Project Containers
  3. The Team Member selects the Project Container named Demo
  4. The Project Container Explorer the requests the Project Container Cache to open the Project Container
    1. The Project Container Cache performs a remote call to the Corona collaboration server requesting the Project Container Manager to open the Project Container
    2. If the Project Container Cache is unable to interact with the Project Container Manager the locally defined Project Container will be used.
  5. The Project Container Explorer publish a Project Event indicating that the user has opened the "Demo" Project Container
  6. The Project Container Explorer displays the Project Container View for the opened Project Container
  7. The Project Container Explorer opens each Eclipse Workbench project associated with the "Demo" Project Container
    1. Eclipse Workbench 'A' is opened
    2. Eclipse Workbench 'B' is opened

Variations

Non-Functional

Performance

  • Performance is expected to meet a normal user experience.

Frequency

  • A Team Member is expected to open a Project Container several times per day. It is expected to be a low frequency request.

Back to the top