Revision as of 10:09, 30 November 2010

Contents

Introduction

The Remote Eclipse RCP Management project has been started in April 2008 and the first prototype was finished in October 2008. Any contribution to this project is welcome. The main purpose for this tool is to manage remote rcp applications.

A brief overview of the project goals:

Prototype Remote Eclipse RCP Management

update, install and delete features on a remote RCP application from an admin UI

remote administration of either user groups or single user

remote administration in headless mode

file transfer

How to

The source code of the project is hostet on the Eclipse Communication Framework git repository. If you would like to become a committer please write me an email (reiswich@gmx.de). The main technologies used for this project are Eclipse Communication Framework and Eclipse Update API for managing updates, installs and uninstalls.

Admin UI

To run the admin-UI select in the plugin org.remotercp.core the remotercp.product file and click on the "Overview" tab "Launch an eclipse application. If the application doesn't start remove all bundles on the "Configuration" tab and add the following bundles: The admin UI depends on the following plugins:

org.remotercp.contacts

org.remotercp.app

org.remotercp.common

org.remotercp.ecf

org.remotercp.errorhandling

org.remotercp.filetransfer.sender

org.remotercp.login

org.remotercp.progress

org.remotercp.preferences

org.remotercp.preferences.ui

org.remotercp.provisioning.ui

org.remotercp.util

As the tool is based on OSGi declarative services do not forget to add the following bundles to your launch configuration:

org.eclipse.equinox.ds

org.eclipse.equinox.util

Afterwards press the button "Add Required Plug-ins". The application should start now. If you are still experiencing problems please check whether ECF is installed on your Eclipse app.

By now the admin UI is an own RCP application but it is possible to move it to a perspective that can be easily integrated in own RCP applications.

In order to run the client properly you will need to login to an XMPP server. By now the application supports only XMPP connections but as ECF is used it's very easy to extend the support for other connection types. To establish a connection you can add the following code to your Application and ApplicationWorkbenchWindowAdvisor:

You should now be able to run the client from Eclipse. At the beginning a login dialog will prompt and ask you for the login information. If you are able to connect to your server first step is done. But bevore you are able to install/update or uninstall features you'll need to create a feature based product of your application.

If you are using the mailexample client please create a product configuration based on your launch configuration. The next step you have to do is to create a feature for your product and initialize it from your product configuration. Now export your application and try to launch it.

If you would like to play a bit around I've set up a simple feature in three versions which contains a view and a button. This features are are available from the following update site: http://eugenda.eu.funpic.de/upload/ Don't forget to restart the updated application to apply changes. For this purpose you can use the "Restart remote Application" button from the "Selected Contacts" view of the admin application.

If your installation/update process works fine you should see the additional view with different names for the button (button v1, v2 and v3).

Milestones

What is done

prototype UI is developed

roster items are displayed with online/offline status in UI

remote OSGi services on ECF

login functionallity with a login wizard

connection to XMPP server

file transfer

manipulating remote preferences

get a list of installed features on a remote machine

install/update/uninstall operations based on the standalone update API

browse remote update sites and download features/updates

Update 11.06.2009

Source Code adapted to Eclipse Communication Framework 3.0

Several bugs fixed

Update 09.07.2009

Admin UI + Client Mail Example downloads added

Update 18.07.2009

Introduced OSGi declarative services to client and admin tool

Update 15.07.2010

Currently working on Remote RCP based on P2. Implementation done, running tests

What has to be done

perform install, update and unistall operations based on Equinox p2 ( 08.07.2008 As it is very difficult to get support for P2 I started to use the Standalone Update API instead of P2 to get the prototype running. As soon as P2 support will be available I will try to switch to Equinox P2)

remote file browsing

security aspects have to be considered and implemented (not part of the prototype yet)