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"

(added the infobox)
(165 intermediate revisions by 21 users not shown)
Line 1: Line 1:
{{Infobox
+
__NOTOC__
| name = Eclipse Scout
+
__NOEDITSECTION__
| website = http://www.eclipse.org/proposals/scout/
+
| download =
+
| list = eclipse.scout-dev
+
| newsgroup = eclipse.scout
+
| product = EclipseScout
+
}}
+
  
{| class="FCK__ShowTableBorders" align="right"
+
<div style="float: right; width: 30%; ">
|-
+
<h3>Get Started</h3>
| __TOC__
+
* '''[https://eclipsescout.github.io/6.0/beginners-guide.html#installation-and-setup Install]''' Scout
|}
+
* Do the '''[https://eclipsescout.github.io/6.0/beginners-guide.html#cha-helloworld Hello World]'''
 +
* Read the '''[https://eclipsescout.github.io/6.0/ Documentation]'''
 +
* '''{{ScoutLink|Updatesites|name=Releases}}'''
 +
* '''{{ScoutLink|Contribution|name=Contribute}}''' to Scout
 +
</div>
  
The [http://www.eclipse.org/proposals/scout/ Eclipse Scout] project is a proposed open source project under the Eclipse Technology Project.
+
<h3>'''Eclipse Scout''' - Future Proof Business Applications</h3>
  
Please note that these pages are work in progress and still far from complete.  
+
[[Image:ScoutIconLarge.gif|left]]
  
== What is it  ==
+
[[Image:scout_neon_business_application.png|800px]]
  
The eclipse Scout Plug-Ins are used to build applications based on eclipse and equinox. These may be standalone apps, client/server apps, headless apps on server-side equinox etc.  
+
Scout applications are based on Java/HTML5 and run on desktop, tablet, and mobile devices.
  
Eclipse Scout consists of a runtime and an SDK part. The runtime part consists of approx. five Plug-Ins, the SDK consists of approx. three Plug-Ins.
+
{| border="0" cellspacing="0" valign="top" style="width:100%; margin-top: 15px;"
  
The runtime is purely based on equinox, and eclipse. The SDK part is an extension to JDT and PDE with a complete perspective for easy click-and-build of a complete application.
+
|-valign="top"
 
+
|style="width:50%; padding-right: 15px; padding-bottom: 15px;"|
== Key Concepts  ==
+
<h3>Get in Touch</h3>
 
+
* '''[http://www.eclipse.org/scout Scout Home]''' - the Scout website
An applications built with eclipse Scout typically has a UI with perspectives, views, forms and pages. It may also have a back-end part that is running in an application server with server-side equinox. Perspectives, views, forms and pages are not limited to SWT, Scout supports complete GUI pluggability and also supports Swing of the box.
+
* '''[http://www.eclipse.org/forums/eclipse.scout Scout Forum]''' - community discussions
 
+
* '''[https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=RESOLVED;bug_status=VERIFIED;product=Scout&columnlist=bug_id%2Cbug_severity%2Cpriority%2Ctarget_milestone%2Cbug_status%2Cresolution%2Ccomponent%2Cassigned_to%2Cshort_desc Scout Bugs]''' - all open bugs
With eclipse Scout you have
+
* '''[https://dev.eclipse.org/mailman/listinfo/scout-dev Scout Newsgroup]''' - scout-dev@eclipse.org
 
+
* '''[https://www.ohloh.net/p/eclipsescout Scout ohloh]''' - code metrics and more
#Separation of UI (user interface layer) and GUI (graphical user interface). SWT and Swing GUI factory
+
* '''[http://www.bsi-software.com BSI Business Systems Integration AG]''' - the currently contributing organization
#Complete workspace overview, multiple Plug-Ins participating to the same application are visualized with their high-level dependencies
+
|
#Much convenience and support in writing only the code you want to write when for example writing a new form with many sections and fields
+
<h3>Scout Project News</h3>
#Automatic nls support as-you-type
+
* '''[http://twitter.com/EclipseScout Twitter]''' - follow us on Twitter
#Soap-based remote service tunnel for hi-speed service remoting to a eclipse server-side application
+
* '''[http://www.bsiag.com/scout Blog]''' - News about Scout
#Extension point for declaring OSGi services and remote service proxies
+
* '''{{ScoutLink|Release|Neon|Overview|name=Neon Documentation }}''' - Scout 6.0
#Extension point for UI component to gui widget mapping
+
* '''{{ScoutLink|Release|Oxygen|Overview|name=Oxygen Documentation }}''' - Scout 7.0 (development)
#Complete abstration layer for desktop (workbench), outlines (perspectives), forms (views, dialogs) and fields
+
* '''[[media:Factsheet_Neon_2015_16.pdf‎|Scout Factsheet]]''' - the 2015/16 edition
#Configurable code
+
* '''{{ScoutLink|Overview|Slides|Scout Presentations}}''' - slides and related materials
#Template concept for creating abstract class libraries
+
|
#Strong typed code, minimized "string binding" and therefore best support by PDE and JDT
+
|}
#No meta data and no one-way code genration; everything is in the Java code you write. If you prefer to write code manually, or via click-and-build, doesn't matter
+
 
+
== Screens  ==
+
 
+
&nbsp;  
+
 
+
== My first application  ==
+
 
+
Easiest way to begin is creating a new eclipse Scout project group and choosing the mail sample application. A project group is a set of Plug-Ins that make up your application. Project name: com.example.mail Project parts: client, server, SWT UI This will create the Plug-Ins (listed by layer)
+
 
+
#com.example.mail.ui.swt.core
+
#com.example.mail.client.core
+
#com.example.mail.shared.core
+
#com.example.mail.server.core
+
 
+
== A Scout form  ==
+
 
+
To get an idea consider a form with only a title and two string fields. This form is displayed as a complete SWT form with SWT fields when using the SWT GUI Plug-In. It can also be displayed using the Swing GUI Plug-In, or (in development) using the apache wicket GUI Plug-In to serve the form from the server as a web page.  
+
 
+
public class PersonForm extends AbstractForm{
+
 
+
  public PersonForm(){
+
  }
+
 
+
  /**
+
  * This method and all other getConfigured* and exec* methods can be written manually
+
  * or via the property editor in the scout sdk view
+
  */
+
  @Override
+
  protected String getConfiguredTitle(){
+
    return Texts.get("MailReader");
+
  }
+
 
+
 
+
  public MainBox getMainBox(){
+
    return (MainBox)getRootGroupBox();
+
  }
+
 
+
  public FirstNameField getFirstNameField(){
+
    return getFieldByClass(FirstNameField.class);
+
  }
+
 
+
  public LastNameField getLastNameField(){
+
    return getFieldByClass(LastNameField.class);
+
  }
+
 
+
  public OkButton getOkButton(){
+
    return getFieldByClass(OkButton.class);
+
  }
+
 
+
  public CancelButton getCancelButton(){
+
    return getFieldByClass(CancelButton.class);
+
  }
+
 
+
  /**
+
  * Start the form with the create handler
+
  */
+
  public void startCreate() throws ProcessingException{
+
    startInternal(new CreateHandler());
+
  }
+
 
+
  /**
+
  * Start the form with the modify handler
+
  */
+
  public void startModify() throws ProcessingException{
+
    startInternal(new ModifyHandler());
+
  }
+
 
+
<br>  
+
 
+
  @Order(10)
+
  public class MainBox extends AbstractGroupBox{
+
 
+
    @Order(10)
+
    public class FirstNameField extends AbstractStringField{
+
      @Override
+
      protected String getConfiguredLabel(){
+
        return Texts.get("FirstName");
+
      }
+
    }
+
   
+
 
+
    @Order(20)
+
    public class LastNameField extends AbstractStringField{
+
      @Override
+
      protected String getConfiguredLabel(){
+
        return Texts.get("LastName");
+
      }
+
    }
+
   
+
 
+
    @Order(30)
+
    public class OkButton extends AbstractOkButton{
+
    }
+
   
+
    @Order(40)
+
    public class CancelButton extends AbstractCancelButton{
+
    }
+
   
+
  }
+
 
+
<br>  
+
 
+
  /**
+
  * This is the form handler when started with .startCreate();
+
  */
+
  public class CreateHandler extends AbstractFormHandler{
+
    protected void execLoad() throws ProcessingException{
+
      //...
+
    }
+
 
+
    protected void execStore() throws ProcessingException{
+
      //...
+
    }
+
  }
+
 
+
  /**
+
  * This is the form handler when started with .startModify();
+
  */
+
  public class ModifyHandler extends AbstractFormHandler{
+
    protected void execLoad() throws ProcessingException{
+
      //...
+
    }
+
 
+
    protected void execStore() throws ProcessingException{
+
      //...
+
    }
+
  }
+
 
+
}
+
 
+
<br>
+
 
+
== How Tos  ==
+
 
+
*[[Create a Scout Dialog]]  
+
*[[Create a Scout Process Service]]
+
 
+
=== Where do I load data into a TablePage?  ===
+
  
*override method '''execLoadTableData '''where you call an outline service operation that returns a Object[][] field
+
[[Category:Eclipse Project]]
*Parameter SearchFilter of execLoadTableData contains all additional WHERE clauses (that start with „AND…“) defined in the getConfiguredSearchTerm methods
+
[[Category:Eclipse Technology Project]]
 +
[[Category:Scout]]

Revision as of 12:02, 15 November 2016


Get Started

Eclipse Scout - Future Proof Business Applications

ScoutIconLarge.gif

Scout neon business application.png

Scout applications are based on Java/HTML5 and run on desktop, tablet, and mobile devices.

Get in Touch

Scout Project News

Back to the top