|
|
Line 1: |
Line 1: |
− | {{ScoutPage|cat=Tutorial}}
| + | #REDIRECT [[Scout/Tutorial/Minicrm Step-by-Step]] |
− | '''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 companies.
| + | |
− | == Requirements ==
| + | |
− | This tutorial assumes that you have installed Scout SDK as described in {{ScoutLink|HowTo|Install Scout SDK|Download and Install Scout SDK}}
| + | |
− | == Create New Scout Project ==
| + | |
− | Creating new scout projects is described
| + | |
− | {{ScoutLink|Tutorial|minicrm/new_Eclipse_Scout_Project|here}}. That page also shows how to launch the server and the client.
| + | |
− | == Get example Database ==
| + | |
− | Follow the instructions on {{ScoutLink|Tutorial|minicrm/get_example_database|this page}} to get our small Apache Derby example database.
| + | |
− | == Set up SQL Service ==
| + | |
− | Now we need to tell the application how to contact the database. How this works is described {{ScoutLink|Tutorial|minicrm/Set_up_SQL_Service|here}}.
| + | |
− | == 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. {{ScoutLink|Tutorial|minicrm/Write_The_First_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!
| + | |
− | | + | |
− | == Add a search form ==
| + | |
− | {{note|Bug (no more)|With the SR1 (Service Release) of Eclipse Scout the known bug has been fixed.}}
| + | |
− | 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.
| + | |
− | {{ScoutLink|Tutorial|minicrm/Add_A_Search_Form| Learn more}}
| + | |
− | | + | |
− | == 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. {{ScoutLink|Tutorial|minicrm/Add_A_Form_To_Edit_The_Data|Learn more}}
| + | |
− | | + | |
− | == 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. {{ScoutLink|Tutorial|minicrm/Write_The_Second_Page|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
| + | |
− | | + | |
− | == Reorganize the tree ==
| + | |
− | | + | |
− | We want to add a web service (in this case we're going to use Bing because it offers a standard interface where as Google no longer does). We'll add it under the ''companies table page'', which will require us to add a '''page with nodes''' and reorganize the tree a bit. {{ScoutLink|Tutorial|minicrm/Reorganize_The_Tree_And_Add_A_Webservice|Learn more}}
| + | |
− | | + | |
− | When we're done, the result should look as follows:
| + | |
− | | + | |
− | Standard Outline
| + | |
− | │
| + | |
− | ├─Company Table Page
| + | |
− | │ │
| + | |
− | │ └─Company Details Node Page ← <font style="background-color: yellow">new</font>
| + | |
− | │ │
| + | |
− | │ └─Person Table Page
| + | |
− | │
| + | |
− | └─Person Table Page
| + | |
− | | + | |
− | == Add a webservice ==
| + | |
− | | + | |
− | {{ScoutLink|Tutorial|minicrm/Use_A_Webservice|Learn more}}
| + | |
− | | + | |
− | == Code Types ==
| + | |
− | {{ScoutLink|Tutorial|minicrm/Code_Types|Learn more}}
| + | |