Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "Demo EclipseWorld"

(work-in-progress draft of Corona demo for EclipseWorld)
(some format changes)
Line 11: Line 11:
 
As Eclipse becomes more popular, and takes on more roles within the enterprise as both a development and rich-client platform, the need for collaboration across these applications and tools is constant increasing. Fortunately, the Eclipse Foundation has several projects that are focusing on aspects of collaboration, and this talk will concentrate on two of them: the Tools Services Framework (aka Corona) and the Eclipse Communication Framework.  
 
As Eclipse becomes more popular, and takes on more roles within the enterprise as both a development and rich-client platform, the need for collaboration across these applications and tools is constant increasing. Fortunately, the Eclipse Foundation has several projects that are focusing on aspects of collaboration, and this talk will concentrate on two of them: the Tools Services Framework (aka Corona) and the Eclipse Communication Framework.  
  
We will show how RCP applications and Eclipse development tools can be easily extended to large or small workgroups by using Corona and ECF for sharing and synchronizing platform constructs such as projects and resources. You’ll learn that Eclipse constructs such as projects and resources can be shared within a collaborative environment—and we’ll even demonstrate workgroup collaboration in action.
+
We will show how RCP applications and Eclipse development tools can be easily extended to large or small workgroups by using Corona and ECF for sharing and synchronizing platform constructs such as projects and resources. You’ll learn that Eclipse constructs such as projects and resources can be shared within a collaborative environment—and we’ll even '''demonstrate workgroup collaboration in actio'''.
  
 
=== Workgroup Collaboration ===
 
=== Workgroup Collaboration ===
Corona will provide an exemplary implementation of its collaboration framework based upon the context of a Project.  The Project context will be used for:
+
Corona will provide an exemplary implementation of its collaboration framework based upon the context of a ''Project''The word ''project'' is overloaded.  There are two project scopes being discussed.  First, there is the local Eclipse Workbench project.  Second there is the Corona collaboration project.
 +
 
 +
We should all be familiar with the Eclipse Workbench project.  Each Eclipse Workbench project can be uniquely identified by its CVS “id” (ie: cvsroot).  The name of each Eclipse Workbench can be different within separate machines (or even workspaces).  However, they will all share the same CVS ID.
 +
 
 +
The Corona collaboration '''P'''roject provides the context for collaboration.  This is the exemplary implementation of a collaboration context being provide with Corona.  The basic building block for collaboration is the ''ProjectContainer''.  This container can be hierarchical, containing other containers.  In addition, it will contain one (or more) Eclipse Workbench project(s).  All collaboration containers are uniquely defined by their ID (e.g. collaboration ID).
 +
 
 +
An Eclipse Workbench is part of a “Workgroup” when it shares the same ProjectContainer with other Eclipse Workbenches.  The common ProjectContainer is the same for all members of the Workgroup.
 +
 
 +
The Project context will be used for:
 
* Managing references to the Project’s resources (ProjectContainer)
 
* Managing references to the Project’s resources (ProjectContainer)
 
* Organizing user interface (ProjectContainerView)
 
* Organizing user interface (ProjectContainerView)
Line 23: Line 31:
 
=== Project Context ===
 
=== Project Context ===
  
The Project collaboration context defines the entire domain for Project.  This domain not only includes the ProjectContainer, but also plug-ins that provides business logic and user interfaces.
+
The Project collaboration context defines the entire domain for Project.  This domain not only includes the ''ProjectContainer'', but also plug-ins that provides business logic and user interfaces.
  
 
==== ProjectContainer ====
 
==== ProjectContainer ====
Line 40: Line 48:
  
 
====== Home Web Site ======
 
====== Home Web Site ======
<table>
+
<table border=1>
 
<tr>
 
<tr>
 
<td>URI</td> <td>http://www.eclipse.org/corona</td>
 
<td>URI</td> <td>http://www.eclipse.org/corona</td>
Line 56: Line 64:
  
 
====== Wiki Web Site ======
 
====== Wiki Web Site ======
<table>
+
<table border=1>
 
<tr>
 
<tr>
 
<td>URI</td> <td>http://wiki.eclipse.org/index.php/Corona</td>
 
<td>URI</td> <td>http://wiki.eclipse.org/index.php/Corona</td>
Line 72: Line 80:
  
 
====== Team Member List ======
 
====== Team Member List ======
<table>
+
<table border=1>
 
<tr>
 
<tr>
 
<td>URI</td> <td>file://ProjectTeamMembers.xml</td>
 
<td>URI</td> <td>file://ProjectTeamMembers.xml</td>
Line 88: Line 96:
  
 
====== ECF Chat ======
 
====== ECF Chat ======
<table>
+
<table border=1>
 
<tr>
 
<tr>
 
<td>URI</td> <td>ecftcp://localhost:47000/corona </td>
 
<td>URI</td> <td>ecftcp://localhost:47000/corona </td>
Line 104: Line 112:
  
 
====== Eclipse Workbench Project ======
 
====== Eclipse Workbench Project ======
The ProjectContainer can contain many Eclipse Workbench projects.  These projects are uniquely defined by the CVS repository used synch the Workbench project with.
+
The ''ProjectContainer'' can contain many Eclipse Workbench projects.  These Workbench projects are uniquely defined by the CVS repository used synch the Workbench project with.
  
 
The following is an example of one of the Repository references for a Workbench project.  This repository definition for each Workbench project also uses ''Respository Configuration'' attributes.
 
The following is an example of one of the Repository references for a Workbench project.  This repository definition for each Workbench project also uses ''Respository Configuration'' attributes.
<table>
+
<table border=1>
 
<tr>
 
<tr>
 
<td>URI</td> <td>cvs://:pserver:anonymous@206.191.52.50:/cvsroot/technology</td>
 
<td>URI</td> <td>cvs://:pserver:anonymous@206.191.52.50:/cvsroot/technology</td>
Line 123: Line 131:
  
 
Repository Configuration Attributes\\
 
Repository Configuration Attributes\\
;Modle:org.eclipse.corona/plugins/org.eclipse.corona.project.container.view
+
;Module:org.eclipse.corona/plugins/org.eclipse.corona.project.container.view
  
 
==== ProjectContainerManager ====
 
==== ProjectContainerManager ====
Line 135: Line 143:
 
==== ProjectContainerView ====
 
==== ProjectContainerView ====
 
The ProjectContainerView is a special multi-page view.  It defines an extension point needed to register pages to be included in the ProjectContainerView.  The set of pages included in the actual ProjectContainerView is dependent upon a set of attributes defined with each extension point page.  These attributes define configuration values used by the ProjectContainerView to determine if the page should be displayed.  A extension point page can be displayed by default or displayed if the ProjectContainer has a Repository that matches the extension point page’s attributes.
 
The ProjectContainerView is a special multi-page view.  It defines an extension point needed to register pages to be included in the ProjectContainerView.  The set of pages included in the actual ProjectContainerView is dependent upon a set of attributes defined with each extension point page.  These attributes define configuration values used by the ProjectContainerView to determine if the page should be displayed.  A extension point page can be displayed by default or displayed if the ProjectContainer has a Repository that matches the extension point page’s attributes.
 +
 +
All ''ProjectContainerView'' pages must implement the interface ''IProjectContainerPage''.  In addition, there is an abstract class, ''AbstractProjectContainerPage'' available that can be extended.
  
 
===== Project View Page: Overview =====
 
===== Project View Page: Overview =====

Revision as of 18:28, 14 July 2006

Eclipse Home Wiki Home

EclipseWorld - Corona Collaboration Demo

Session Topic

As Eclipse becomes more popular, and takes on more roles within the enterprise as both a development and rich-client platform, the need for collaboration across these applications and tools is constant increasing. Fortunately, the Eclipse Foundation has several projects that are focusing on aspects of collaboration, and this talk will concentrate on two of them: the Tools Services Framework (aka Corona) and the Eclipse Communication Framework.

We will show how RCP applications and Eclipse development tools can be easily extended to large or small workgroups by using Corona and ECF for sharing and synchronizing platform constructs such as projects and resources. You’ll learn that Eclipse constructs such as projects and resources can be shared within a collaborative environment—and we’ll even demonstrate workgroup collaboration in actio.

Workgroup Collaboration

Corona will provide an exemplary implementation of its collaboration framework based upon the context of a Project. The word project is overloaded. There are two project scopes being discussed. First, there is the local Eclipse Workbench project. Second there is the Corona collaboration project.

We should all be familiar with the Eclipse Workbench project. Each Eclipse Workbench project can be uniquely identified by its CVS “id” (ie: cvsroot). The name of each Eclipse Workbench can be different within separate machines (or even workspaces). However, they will all share the same CVS ID.

The Corona collaboration Project provides the context for collaboration. This is the exemplary implementation of a collaboration context being provide with Corona. The basic building block for collaboration is the ProjectContainer. This container can be hierarchical, containing other containers. In addition, it will contain one (or more) Eclipse Workbench project(s). All collaboration containers are uniquely defined by their ID (e.g. collaboration ID).

An Eclipse Workbench is part of a “Workgroup” when it shares the same ProjectContainer with other Eclipse Workbenches. The common ProjectContainer is the same for all members of the Workgroup.

The Project context will be used for:

  • Managing references to the Project’s resources (ProjectContainer)
  • Organizing user interface (ProjectContainerView)
  • Sharing of the Project’s collaboration events (ProjectEvents)

A Workgroup is comprised of users who participate in the same Project context. Members of a Workgroup are bound by a common set of resources and events that associated with one another within the same Project context.

Project Context

The Project collaboration context defines the entire domain for Project. This domain not only includes the ProjectContainer, but also plug-ins that provides business logic and user interfaces.

ProjectContainer

The ProjectContainer is the foundation for the Project collaboration context. It defi

Repositories

A ProjectContainer contains a list of Repository references. Components within the Project domain have the logic necessary to utilize each Repository. This known as the “context”. Each Repository defined within the ProjectContainer will have the following attributes:

  • URI
  • Type
  • Name
  • Description

The following defines several repositories that would be associated with Project context for the Corona project. Home Web Site

Home Web Site
URI http://www.eclipse.org/corona
Type WebPage
Name Home
Description The Eclipse project home page
Wiki Web Site
URI http://wiki.eclipse.org/index.php/Corona
Type WebPage
Name Wiki
Description The community wiki for Eclipse projects
Team Member List
URI file://ProjectTeamMembers.xml
Type TeamMember
Name Team
Description The list of team members assigned to the Project
ECF Chat
URI ecftcp://localhost:47000/corona
Type ECFChat
Name Chat
Description ECF Chat room for the project
Eclipse Workbench Project

The ProjectContainer can contain many Eclipse Workbench projects. These Workbench projects are uniquely defined by the CVS repository used synch the Workbench project with.

The following is an example of one of the Repository references for a Workbench project. This repository definition for each Workbench project also uses Respository Configuration attributes.

URI cvs://:pserver:anonymous@206.191.52.50:/cvsroot/technology
Type WorkbenchProject
Name org.eclipse.corona.project.container.view
Description CVS repository/module location for Workbench project

Repository Configuration Attributes\\

Module
org.eclipse.corona/plugins/org.eclipse.corona.project.container.view

ProjectContainerManager

The ProjectContainerManager is responsible for managing all of the ProjectContainer objects within the workspace. It is an OSGi registered service that can be referenced by any bundle using a service tracker.

ProjectContainerExplorer

The ProjectContainerExplorer is a special view used to explore ProjectContainers. It provides the user with a set of interactions needed to open/close a ProjectContainer.

The set of ProjectContainers accessible from a Workbench is defined within a local configuration file. This will allow the ProjectContainerExplorer to work online, when not connected to the Corona server. When a ProjectContainer is selected to be opened, the ProjectContainerExplorer will ask the ProjectContainerManager to open the ProjectContainer. At this point, the ProjectContainerManager will load the current ProjectContainer definition.

ProjectContainerView

The ProjectContainerView is a special multi-page view. It defines an extension point needed to register pages to be included in the ProjectContainerView. The set of pages included in the actual ProjectContainerView is dependent upon a set of attributes defined with each extension point page. These attributes define configuration values used by the ProjectContainerView to determine if the page should be displayed. A extension point page can be displayed by default or displayed if the ProjectContainer has a Repository that matches the extension point page’s attributes.

All ProjectContainerView pages must implement the interface IProjectContainerPage. In addition, there is an abstract class, AbstractProjectContainerPage available that can be extended.

Project View Page: Overview

Each ProjectContainerView will contain a default overview page. This extension point page provides a summary report of the ProjectContainer.

Project View Page: Web Browser
Project View Page: Team Member List
Project View Page: Event List
Project View Page: ECF Chat

ProjectEvents

Back to the top