Difference between revisions of "Scout/Tutorial/3.9/Minicrm/Minicrm Step-by-Step"

From Eclipsepedia

< Scout‎ | Tutorial‎ | 3.9‎ | Minicrm
Jump to: navigation, search
(New page: {{ScoutPage|cat=Tutorial 3.9}} '''Mini CRM Tutorial''' With this tutorial, you'll create a little example application with {{ScoutLink|SDK|name=Scout SDK}}, where you can enter and edit c...)
 
m (change version to 3.9)
 
Line 5: Line 5:
  
 
== Requirements ==
 
== Requirements ==
This tutorial assumes that you have installed Scout SDK as described in {{ScoutLink|HowTo/3.8|Install Scout SDK|Download and Install Scout SDK}}.
+
This tutorial assumes that you have installed Scout SDK as described in {{ScoutLink|HowTo/3.9|Install Scout SDK|Download and Install Scout SDK}}.
  
 
== Create New Scout Project ==
 
== Create New Scout Project ==

Latest revision as of 04:37, 26 May 2013


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitter
Bugzilla
Bugzilla

Mini CRM Tutorial

With this tutorial, you'll create a little example application with Scout SDK, where you can enter and edit companies.

Contents

[edit] Requirements

This tutorial assumes that you have installed Scout SDK as described in Download and Install Scout SDK.

[edit] Create New Scout Project

Creating new scout projects is described here. That page also shows how to launch the server and the client.

[edit] Get example Database

Follow the instructions on this page to get our small Apache Derby example database.

[edit] Set up SQL Service

Now we need to tell the application how to contact the database. How this works is described here.

[edit] Write the first Page

A standard Eclipse Scout application consists of pages in a tree structure. A page typically shows data in some sort of table. If you write an application, you need to start with a page. Learn more

You should have a tiny Eclipse Scout application running at the end of this step!

You will end up with the following tree structure for your application:

Standard Outline
 │
 └─Company Table Page

Very simple indeed!

[edit] Add a search form

We created a page with a table listing all the companies in the database. Add a search form that allows users to limit the number of rows returned. Learn more

[edit] Add a form to edit the data

In order to edit the data in our page, we need to create a context menu to call a form, create the form and the process service it needs to actually select, insert, update (and possibly delete) the data. Learn more

[edit] Write the second page

We wrote the company table page, now let's write a top-level person table page. Once we have that, we want to reuse the table page by also using it as a child page for a company. Learn more

You will end up with the following tree structure for your application:

Standard Outline
 │
 ├─Company Table Page
 │  │
 │  └─Person Table Page
 │
 └─Person Table Page

[edit] Reorganize the tree

We want to add an additional node under the companies table page. This will require us to add a page with nodes and reorganize the tree a bit.

When we're done, the result should look as follows:

Standard Outline
 │
 ├─Company Table Page
 │  │
 │  └─Company Details Node Page ← new
 │     │
 │     └─Person Table Page
 │
 └─Person Table Page

[edit] Code Types

Each Code Types provides a list of values in order to fill up elements like Smart Fields or List Boxes.

In a next step we want to divide the companies into two groups: suppliers and customers. When the company is type of customer, a Smart Field with ratings between A and D should appear. Let's create two Code Types and add some behaviour to the CompanyForm and ProcessServices. Learn more

[edit] Lookup Calls and Lookup Services

In the previous chapter we have seen how to fill smartfields with an enumerated list of codes that were based on a code type. However, sometimes you need a smartfield (or listbox) with dynamically calculated entries that are based on the data in your database (e.g. a smartfield that allows selecting a person or company). This chapter shows how to accomplish this by implementing a so called Lookup Call and a corresponding Lookup Service. Learn more