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 "Scout/Tutorial/3.9/Modular Application"

< Scout‎ | Tutorial‎ | 3.9
(Building the extension)
 
(3 intermediate revisions by 2 users not shown)
Line 23: Line 23:
  
 
==Adding an extension==
 
==Adding an extension==
In the extension bundle <code>org.example.myapp.client.extension</code>, the class <code>DesktopExtension</code> has been generated. This <code>DesktopExtension</code> is also visible in the Scout Explorer (occasionally, a restart of Eclipse is needed to make the <code>DesktopExtension</code> visible in the Scout Explorer).[Scout View]
+
In the extension bundle <code>org.example.myapp.client.extension</code>, the class <code>DesktopExtension</code> has been generated. This <code>DesktopExtension</code> is also visible in the Scout Explorer.  
  
 
===Building the extension===
 
===Building the extension===
Line 29: Line 29:
  
 
[[Image:NewOutline.png]]
 
[[Image:NewOutline.png]]
 
===Integrate with the core application===
 
To make the new bundles to be started, you need to add them to the dependencies of the bundles that are started on application start. Open the file <code>myappCore-server-dev.product</code> in the product configuration editor. Add <code>org.example.myapp.server.extension</code> and <code>org.example.myapp.shared.extension</code> to the dependencies. Now open the file <code>myappCore-rap-dev.product</code> and add <code>org.example.myapp.client.extension</code> and <code>org.example.myapp.shared.extension</code> to the dependencies. Do this for other GUIs you want to use (e.g. Swing, SWT).
 
 
At last, the extended plugin has to be informed about the extensions in the extending plugin. In our example, it has to be notified about the <code>DesktopExtension</code> class we have created.
 
To do this, you need to create an extension to the extension point <code>org.eclipse.scout.rt.extension.client.desktopExtensions</code>:
 
* Open the file <code>plugin.xml</code> of the plugin <code>org.example.myapp.client.extension</code>.
 
* Switch to the tab "extension".
 
* Add a new extension to the extension point <code>org.eclipse.scout.rt.extension.client.desktopExtensions</code>.
 
* Add a new <code>desktopExension</code> and assign the value <code>org.example.myapp.client.extension.ui.desktop.DesktopExtension</code>.
 
 
[[Image:extension.png]]
 
  
 
===Test your application===
 
===Test your application===

Latest revision as of 11:49, 6 June 2013

The Scout documentation has been moved to https://eclipsescout.github.io/.

Introduction

Scout applications can be built as a set of application modules extending a common core application. New modules normally consist of three additional plugins (client, shared, server). In these plugins, new functionality and GUI-components may be added to extend an existing application.

Adding new modules is also possible with Release 3.8 (Eclipse Juno). Since Release 3.9 (Kepler), it additionally...

  • is supported heavily by the SDK.
  • is not necessary anymore to change the code of the extended plugin, as it provides extension points which can be extended by the extending plugin.

In this tutorial, a new Scout module is added to an existing Scout application. The new module provides an additional outline "Extension".

Setup

Create core application

Create a new Scout project with name org.example.myapp and postfix core. This will create bundles with names org.example.myapp.[client|shared|server].core

Create extension bundles

Right-click on your Scout project and choose "Add Scout bundles...". Use the same project name (org.example.myapp), but a different postfix (extension). This creates three more bundles. These bundles are already Scout plugins, no more manual work is needed.

AddScoutBundles.png

Adding an extension

In the extension bundle org.example.myapp.client.extension, the class DesktopExtension has been generated. This DesktopExtension is also visible in the Scout Explorer.

Building the extension

The Scout SDK displays the three extension bundles as a separate Scout module. The orange client node contains a "Desktop-Extension" node. You can now use the Scout SDK to build your module as you would with a normal Scout application.

NewOutline.png

Test your application

Now start the server and the rap plugin. Start your browser an go to localhost:8082. The new Outline "Extension" is visible in your application.

RAPGUIwithExtension.png

Back to the top