Skip to main content
Jump to: navigation, search

Difference between revisions of "Scout/Demo"

(MiniCRM)
Line 1: Line 1:
 
{{ScoutPage|cat=Overview}}
 
{{ScoutPage|cat=Overview}}
  
== Applications ==
+
== Demo Applications ==
{{Important|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 ===
+
The [https://www.eclipse.org/scout/ Scout] project provides two sample applications. Live previews are available via the [https://www.eclipse.org/scout/ Scout homepage].
Small Demo Application (client-side only) that displays the common scout fields.
+
  
* Blog post:
+
These sample applications form an integral part of the [https://eclipsescout.github.io/ Scout documentation].  
** [https://www.bsiag.com/scout/a-new-scout-widget-application/ A new Scout Widget Application] (23. December 2014)
+
This documentation including the source code for the Scout demo applications is open source and available on [https://github.com/BSI-Business-Systems-Integration-AG/org.eclipse.scout.docs Github].
** [http://www.bsiag.com/scout/ui-widgets-of-eclipse-scout/ UI Widgets of Eclipse Scout] (22. August 2013)
+
  
* Path in repository: '''/widgets''' directory ([https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/{{ScoutCurrentVersion}}/widgets see on GitHub])
+
=== Contacts ===
 +
Scout Demo Application to manage persons, organizations and events. Click for a [https://scout.bsi-software.com/contacts/ live preview].
  
* Web interface deployed:
+
=== Widgets ===
** [https://scout.bsiag.com/demoapp/web Web]
+
Scout Demo Application that shows the Scout widgets that are available out of the box. Click for a [https://scout.bsi-software.com/widgets/ live preview].
** [https://scout.bsiag.com/demoapp/tablet Tablet]
+
** [https://scout.bsiag.com/demoapp/mobile Mobile]
+
 
+
* Downloads binaries (client applications for Windows as zip or war file to deploy on tomcat for RAP): we will update this page as some links are available.
+
 
+
* Local build result location:
+
** Swing (rayo): <tt>{git_repository}/widgets/org.eclipsescout.demo.widgets.ui.swing.rayo.product/target/widgets.zip</tt>
+
** Swing (nimbus): <tt>{git_repository}/widgets/org.eclipsescout.demo.widgets.ui.swing.product/target/widgets.zip</tt>
+
** Swt: <tt>{git_repository}/widgets/org.eclipsescout.demo.widgets.ui.swt.product/target/widgets.zip</tt>
+
** RAP: <tt>{git_repository}/widgets/org.eclipsescout.demo.widgets.ui.rap.product/target/widgets.war (to be deployed in a Tomcat)</tt>
+
 
+
<gallery>
+
Image:Scout widgets demo app swt.png|SWT GUI
+
Image:Scout widgets demo app nimbus.png|Swing GUI (Nimbus Look and Feel)
+
Image:Scout widgets demo app rap.png|Web application UI (in Firefox)
+
</gallery>
+
 
+
=== MiniCRM ===
+
Result of the {{ScoutLink|Tutorial/{{ScoutCurrentVersion}}|Minicrm/Minicrm_Step-by-Step|MiniCRM step-by-step}} tutorial.
+
 
+
Path in repository: '''/minicrm''' directory ([https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/{{ScoutCurrentVersion}}/minicrm see on GitHub])
+
 
+
[[Image:Scout.3.9.minicrm.reorganize_the_tree.client_swt.png|300px]]
+
 
+
{{Important|Replacement with new Contacs app|the MiniCRM application will be replaced by the new Contacts app. It's code is available for the Scout Mars rease on [https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/mzi_contacts/contacts Github]}}
+
 
+
=== Bahbah Chat Application ===
+
Presented at EclipseCon and EclipseCon Europe in 2012. More information in this [http://www.bsiag.com/scout/?p=385 blog article about BahBahChat]
+
 
+
Repository: http://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/3.8/bahbah
+
 
+
Talks:
+
* Eclipse Con 2012: [http://www.eclipsecon.org/2012/sessions/bahbahchat-chat-application-based-eclipse-scout-presented-bsi "'''BahBahChat: A Chat Application based on Eclipse Scout (presented by BSI)'''"]
+
* EclipseCon Europe 2012: [[Media:20121022_BahBah_Tutorial.pdf|Tutorial [1.5 MB]]] [http://www.eclipsecon.org/europe2012/sessions/multi-frontend-chat-application-based-eclipse-scout-continued "'''A Multi-Frontend Chat Application based on Eclipse Scout'''"].
+
 
+
=== Bahbah Chat Cloud ===
+
A Scout Application Running on Multiple Nodes, presented at EclipseCon 2014.
+
 
+
Repository: https://github.com/tschweigler/org.eclipsescout.demo/tree/tsw
+
 
+
* Clone the repository and import the projects located in minicrm
+
* Set the target platform
+
* Setup a load balancer
+
 
+
=== 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 {{ScoutLink|Concepts|SmartField}} and {{ScoutLink|Concepts|ImageField}}
+
 
+
3 testing possibilities are illustrated:
+
* Plain JUnit tests
+
* JUnit test with a Scout context
+
* UI-Test using [http://eclipse.org/jubula/ Jubula]
+
 
+
The application is build with maven and tycho. Tests are executed using the Scout test runner.
+
 
+
[[Image:Scout Minifigcreator.png|300px]]
+
 
+
Links:
+
* Presentation: [http://www.eclipsecon.org/2013/sessions/testing-scout-application-junit-and-jubula-0 Testing a Scout Application with JUnit and Jubula]
+
* Blog post: [http://www.bsiag.com/scout/?p=752 Testing Scout Applications]
+
* [[Media:2013-03-26_eclipse_scout_testing.pdf|Slides [1.07 MB]]]
+
* Sources on GitHub: [http://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/{{ScoutCurrentVersion}}/minifigcreator minifigcreator]
+
* {{ScoutLink|Tutorial/{{ScoutCurrentVersion}}|Maven_Tycho_Build|maven tycho build tutorial}}
+
 
+
=== 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 {{ScoutLink|Concepts|TableField}}.
+
 
+
[[Image:Ibug screeshot.png|800px]]
+
 
+
Links:
+
* Blog post: [http://www.bsiag.com/scout/scout-mobile-applications/ Scout blog]
+
* Sources on GitHub: [https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/{{ScoutCurrentVersion}}/ibug iBug]
+
 
+
== Issue Tracking ==
+
We track the bugs and the change requests by GitHub: [https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/issues Scout Demo Apps issues].
+
 
+
== Git Repository ==
+
 
+
The project is hosted on GitHub: [http://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/ scout demo project page].
+
 
+
Clone URL: [https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo.git 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:
+
 
+
* <tt>develop</tt>: Nightly build of Scout (4.0.0-SNAPSHOT) with Eclipse 4.4
+
* <tt>4.0</tt>: Luna - Scout 4.0 with Eclipse 4.4 (works with the milestones releases of Eclipse Scout)
+
* <tt>3.10</tt>: Scout 3.10 with Eclipse 4.4
+
* <tt>3.9</tt>: Kepler - Scout 3.9 with Eclipse 4.3 (works with the services releases of Eclipse Scout)
+
* <tt>3.8</tt>: 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
+
 
+
[[image: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 [[Scout/Tutorial/HelloWorld|Hello World]] tutorial.
+
* Install the [[Scout/Tutorial/Rayo_Look_and_Feel#Installation_of_Rayo_using_Scout_SDK|Rayo]] package
+
* Install the [[Scout/HowTo/{{ScoutCurrentVersion}}/Creating_Word_Reports_with_Docx4j#Activate_the_Docx4j_Support_for_a_Scout_Application|Docx4j]] package
+
 
+
For downloading and opening of a demo application you go through the following steps:
+
 
+
# Open the Eclipse IDE with a new workspace
+
# Import a demo application via a corresponding team project set (see below)
+
# Set the target platform, and add the product launchers
+
# 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.
+
 
+
[[Image:Git file import.png]]
+
 
+
Then:
+
# In the first step of the import wizard select the entry '''Team Project Set''' and click ''Next'' as shown below.
+
# In the second wizard step, select the '''URL''' field, enter the link to a project set file and click ''Finish''.
+
 
+
[[Image:Git import project set 1.png]]
+
[[Image:Git import project set 2.png]]
+
 
+
For the URL field use any of the following files:
+
* [https://raw.github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/{{ScoutCurrentVersion}}/build/org.eclipsescout.demo.team-project-sets/org.eclipsescout.demo.bahbah.psf Bahbah]
+
* [https://raw.github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/{{ScoutCurrentVersion}}/build/org.eclipsescout.demo.team-project-sets/org.eclipsescout.demo.ibug.psf iBug]
+
* [https://raw.github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/{{ScoutCurrentVersion}}/build/org.eclipsescout.demo.team-project-sets/org.eclipsescout.demo.jaxws.psf Jax-WS]
+
* [https://raw.github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/{{ScoutCurrentVersion}}/build/org.eclipsescout.demo.team-project-sets/org.eclipsescout.demo.minicrm.psf MiniCRM]
+
* [https://raw.github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/{{ScoutCurrentVersion}}/build/org.eclipsescout.demo.team-project-sets/org.eclipsescout.demo.minifigcreator.psf MinifigCreator]
+
* [https://raw.github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/{{ScoutCurrentVersion}}/build/org.eclipsescout.demo.team-project-sets/org.eclipsescout.demo.widgets.psf Widgets]
+
 
+
After downloading the demo application, the Scout SDK asks you to specify the location of the RAP target (used for Scout web applications)
+
 
+
[[Image: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''.
+
 
+
[[Image: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.
+
 
+
[[Image: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.
+
 
+
[[Image:Git edit product launchers.png]]
+
 
+
In the ''Select Product'' dialog, select all available development products as shown below.
+
 
+
[[Image: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.
+
 
+
[[Image: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.
+
 
+
[[Image:Ibug screeshot.png|800px]]
+
 
+
To access the web clients (started by the RAP development product) you may open your browser with one of the following addresses:
+
 
+
* Web [http://localhost:8082/web http://localhost:8082/web]
+
* Tablet [http://localhost:8082/tablet http://localhost:8082/tablet]
+
* Mobile [http://localhost:8082/mobile http://localhost:8082/mobile]
+
 
+
= Build Locally =
+
 
+
The chosen setup for the demo applications allows local building using [https://en.wikipedia.org/wiki/Apache_Maven 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 [http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html 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:
+
# Change into the main directory of the demo repository
+
# 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 [https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo 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:
+
 
+
# The Scout server war file. It is used by all Scout client applications (desktop, web, mobile).
+
# The Scout RAP client war file. It is used to provide the Scout web, tablet, and mobile clients.
+
# The Scout SWT client. To start the client, unzip this file and start the contained XY executable file.
+
# 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 [[Scout/Tutorial/Deploy to Tomcat|Deploy a Scout application]] (skipping the step to export the Scout application).
+
 
+
== Build a specific Demo application ==
+
 
+
To build a specific demo application
+
# Change into the aggregation directory of the demo application
+
# 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 [https://github.com/BSI-Business-Systems-Integration-AG/org.eclipsescout.demo/tree/{{ScoutCurrentVersion}}/widgets/org.eclipsescout.demo.widgets.parent 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.
+

Revision as of 08:37, 14 February 2017


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitterG+
Bugzilla
Bugzilla


Demo Applications

The Scout project provides two sample applications. Live previews are available via the Scout homepage.

These sample applications form an integral part of the Scout documentation. This documentation including the source code for the Scout demo applications is open source and available on Github.

Contacts

Scout Demo Application to manage persons, organizations and events. Click for a live preview.

Widgets

Scout Demo Application that shows the Scout widgets that are available out of the box. Click for a live preview.

Back to the top