Jump to: navigation, search

Scout/Demo

< Scout
Revision as of 06:04, 11 October 2013 by Jbr.bsiag.com (Talk | contribs)


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitter
Bugzilla
Bugzilla


Applications

Important.png
Under construction
A lot of the applications mentioned here are currently under construction (for example made for older scout versions...). We are working on refactoring them (single Git Repository, build with CBI, direct download from binaries).


Widgets

Small Demo Application (client-side only) that displays the common scout fields.

  • Jenkins job at CloudBees: here
  • Local build result location:
    • Swing (rayo): {git_repository}/widgets/org.eclipsescout.demo.widgets.ui.swing.rayo.product/target/widgets.zip
    • Swing (nimbus): {git_repository}/widgets/org.eclipsescout.demo.widgets.ui.swing.product/target/widgets.zip
    • Swt: {git_repository}/widgets/org.eclipsescout.demo.widgets.ui.swt.product/target/widgets.zip
    • RAP: {git_repository}/widgets/org.eclipsescout.demo.widgets.ui.rap.product/target/widgets.war (in einen Tomcat deployen)

MiniCRM

Result of the MiniCRM step-by-step tutorial.

Path in repository: /minicrm directory (see on GitHub)

Scout.3.9.minicrm.reorganize the tree.client swt.png

Bahbah Chat Application

Presented at EclipseCon and EclipseCon Europe in 2012. More information in this blog article about BahBahChat

Repository: http://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/3.8/bahbah

Talks:


Minifig Application

The minifig Application was created for EclipseCon 2013, to illustrate how Scout Applications could be tested. It is a small client-server application, using SmartField and ImageField

3 testing possibilities are illustrated:

  • Plain JUnit tests
  • JUnit test with a Scout context
  • UI-Test using Jubula

The application is build with maven and tycho. Tests are executed using the Scout test runner.

Scout Minifigcreator.png

Links:

iBug Application

The iBug application displays the most recent Bugzilla bugs in the UI. The primary goal of this application is to demonstrate the Scout mobile support coming with the Kepler release. As secondary goal it can be used to show the TableField.

Ibug screeshot.png

Links:

Issue Tracking

We track the bugs and the change requests by GitHub: Scout Demo Apps issues.

Git Repository

The project is hosted on GitHub: scout demo project page.

Clone URL: https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo.git

Branches

Different git branches allow the possibility to work simultaneously on different Eclipse Scout versions with different Eclipse Runtime Versions:

  • master: Nightly build of Scout (3.10.0-SNAPSHOT) with Eclipse 4.4
  • 3.10: Luna - Scout 3.10 with Eclipse 4.4 (works with the milestones releases of Eclipse Scout)
  • 3.9: Kepler - Scout 3.9 with Eclipse 4.3 (works with the services releases of Eclipse Scout)
  • 3.8: Juno - Scout 3.8 with Eclipse 4.2

Structure

The idea of the structure is to share commons parts across the demo applications (CBI Build, configuration files). This is a proposal:

Git Repository: org.eclipsescout.demo
|
+---pom.xml (root pom, has [1.1] as maven module).
+---build
|   +---org.eclipsescout.demo.master            <-- [1] preferences, version, plugin management...
|   +---org.eclipsescout.demo.parent            <-- [1.1] extends [1] und has {[1.2], [1.3], [2], ... [4]} as module (aggregation)
|   +---org.eclipsescout.demo.repository        <-- [1.2] p2 update site
|   +---org.eclipsescout.demo.settings          <-- .prefs files for demo projects
|   +---org.eclipsescout.demo.target            <-- [1.3] Target Plattform for all projects.
|   +---org.eclipsescout.demo.team-project-sets <- .psf project set files for individual demo applications
|   +---org.eclipsescout.demo.webapp            <-- Template for building the .war
|
+---bahbah
|   +---org.eclipsescout.demo.bahbah.parent <-- aggregation for bahbah
|   |   \---pom.xml <-- [2] extends [1]
|   +---org.eclipsescout.demo.bahbah.client
|   +---org.eclipsescout.demo.bahbah.security
|   +---org.eclipsescout.demo.bahbah.server
|   +---org.eclipsescout.demo.bahbah.server.product    <-- contains the eclipse (production) product file
|   +---org.eclipsescout.demo.bahbah.shared
|   +---org.eclipsescout.demo.bahbah.ui.rap
|   +---org.eclipsescout.demo.bahbah.ui.rap.product    <-- contains the eclipse (production) product file
|   +---org.eclipsescout.demo.bahbah.ui.swing
|   +---org.eclipsescout.demo.bahbah.ui.swing.product  <-- contains the eclipse (production) product file
|   +---org.eclipsescout.demo.bahbah.ui.swt
|   \---org.eclipsescout.demo.bahbah.ui.swt.product    <-- contains the eclipse (production) product file
|
+---...
|
\---widgets
    +---org.eclipsescout.demo.widgets.parent <-- aggregation for widget
    |   \---pom.xml <-- [4] extends [1]
    +---org.eclipsescout.demo.widgets-feature 
    +---org.eclipsescout.demo.widgets.client
    +---org.eclipsescout.demo.widgets.shared
    +---org.eclipsescout.demo.widgets.ui.rap
    +---org.eclipsescout.demo.widgets.ui.rap.product
    +---org.eclipsescout.demo.widgets.ui.swing
    +---org.eclipsescout.demo.widgets.ui.swing.product
    +---org.eclipsescout.demo.widgets.ui.swt
    \---org.eclipsescout.demo.widgets.ui.swt.product

Line Endings Configuration

We want to have Unix Line endings in the repository. Try to configure your Git client (EGit, GitExtensions, Git Bash...) in order to rewrite the windows line endings to Unix line endings on commit.

 core.autocrlf=input

In the Eclipse Preferences dialog the line ending setting can be accessed as follows

Git lineendings setting.png

Download and Run Locally

Before downloading the demo applications to your Scout installation, make sure to:

  • Successfully create and run a hello world application according to the Hello World tutorial.
  • Install the Rayo package
  • Install the Docx4j package

For downloading and opening of a demo application you go through the following steps:

  1. Open the Eclipse IDE with a new workspace
  2. Import a demo application via a corresponding team project set
  3. Set the target platform, and add the product launchers
  4. Run the demo application

Import a Demo Application

Start your Eclipse Scout with a new (empty) workspace. Then, start the project import wizard using menu File, Import ... as shown below.

Git file import.png

Then:

  1. In the first step of the import wizard select the entry Team Project Set and click Next as shown below.
  2. In the second wizard step, select the URL field, enter the link to a project set file and click Finish.

Git import project set 1.png Git import project set 2.png

For the URL field use any of the following files:

After downloading the demo application, the Scout SDK asks you to specify the location of the RAP target (used for Scout web applications)

Git no rap target message.png

If you did follow the hello world tutorial, the Scout SDK should propose an existing RAP target as shown below. Otherwise, select Create new RAP Target. To complete, close the wizard with Finish.

Git specify rap target message.png

Target Platform and Product Launchers

After successfully downloading the demo application you will notice that the Problems displays the message Errors (20 items). To get rid of these errors, switch to the Package Explorer and drill down into project org.eclipse.scout.<application>.ui.rap and open the target editor with a double click on scoutRAP.target as shown below.

In the target editor, click on the link Set as Target Platform indicated by the arrow.

Git switch to scout 2.png

Then, switch back to the Scout Explorer view and click on the main project node org.eclipse.scout.<application> (org.eclipse.scout.ibug in the screenshot below). This opens the Scout Object Properties view.

In the Scout Object Properties view click on the edit icon of the Product Launchers section, as incidcated by the arrow.

Git edit product launchers.png

In the Select Product dialog, select all available development products as shown below.

Git select dev product launchers.png

This will add corresponding product launchers to the Scout Object Properties of the main project node.

Run the Demo Application

In the Scout Object Properties of the main project node org.eclipsescout.demo.<application> first start the Scout server application, then the Scout client application as indicated by the arrow in the screenshot below.

Git start dev server client.png

In the screenshot above, the SWT client application is started. Starting all clients in parallel, will produce the following result.

Ibug screeshot.png

To access the web clients (started by the RAP development product) you may open your browser with one of the following addresses:

Build Locally

The chosen setup for the demo applications allows local building using Apache Maven. and this section explains how to achieve this.

Maven

If you are new to Maven (or don't have a running Maven installation yet), have a look at Maven in 5 Minutes for installation instructions.

To verify if you have correctly installed maven, type the following command in your console

 mvn --version

You should then get some meaningful output similar to

 Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
 Maven home: D:\apache-maven-3.0.5\bin\..
 Java version: 1.6.0_25, vendor: Sun Microsystems Inc.
 Java home: C:\Program Files\Java\jdk1.6.0_25\jre
 Default locale: nl_NL, platform encoding: Cp1252
 OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

Build all Demos

To build all demo applications at once:

  1. Change into the main directory of the demo repository
  2. Run mvn clean install

In your local demo repository change into the main directory that contains the root pom.xml (according to the directory organisation shown above). The content of this directory should correspond to the Github root directory.

In this root directory, run the command mvn clean install. The output of the command should look as follows:

 C:\...\local_repos\scout_demo>mvn clean install
 [INFO] Scanning for projects...
 
 ...
 
 [INFO] Eclipse Scout Demo - Root ......................... SUCCESS [0.047s]
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 9:41.939s
 [INFO] Finished at: Wed Sep 11 17:36:44 CEST 2013
 [INFO] Final Memory: 57M/247M
 [INFO] ------------------------------------------------------------------------
 C:\...\local_repos\scout_demo>

The interesting artefacts are then found in the following target directories:

 1. C:\...\local_repos\scout_demo\XY\org.eclipsescout.demo.XY.server.product\target\XY_server.war
 2. C:\...\local_repos\scout_demo\XY\org.eclipsescout.demo.XY.ui.rap.product\target\XY.war
 3. C:\...\local_repos\scout_demo\XY\org.eclipsescout.demo.XY.ui.swt.product\target\XY.zip
 4. C:\...\local_repos\scout_demo\XY\org.eclipsescout.demo.XY.ui.swing.product\target\XY.zip

In the above paths replace XY by the name of the demo application (i.e. 'bahbah', 'ibug', 'minicrm', etc.). The above artefacts represent the following products:

  1. The Scout server war file. It is used by all Scout client applications (desktop, web, mobile).
  2. The Scout RAP client war file. It is used to provide the Scout web, tablet, and mobile clients.
  3. The Scout SWT client. To start the client, unzip this file and start the contained XY executable file.
  4. The Scout Swing client. To start the client, unzip this file and start the contained XY executable file.

Before starting any of the clients, deploy the war files to your web server. For this, you can follow the steps described in tutorial Deploy a Scout application (skipping the step to export the Scout application).

Build a specific Demo application

To build a specific demo application

  1. Change into the aggregation directory of the demo application
  2. Run mvn clean install

In your local demo repository the aggregation directory for the demo XY is located under .../<XY>/org.eclipsescout.demo.<XY>.parent. This directory includes the pom.xml for the specific demo application. As an example look at the Widgets aggregation directory.

Remark: If you did follow the steps to download an individual application via the project set file, you will find the cloned repository in your workspace.