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

Demo EclipseWorld

Revision as of 17:59, 14 July 2006 by Unnamed Poltroon (Talk) (work-in-progress draft of Corona demo for EclipseWorld)

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 action.

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:

  • 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 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\\

Modle
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.

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