AgileApps Support Wiki Pre Release

Difference between revisions of "HowTo:Import Data from an External System"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 9: Line 9:


:* '''Movies'''
:* '''Movies'''
:** '''Title''' (Text Field)
:** '''Title''' - Text Field  


:* '''Reviewers'''
:* '''Reviewers'''
:** '''Name''' (Text Field)
:** '''Name''' - Text Field
:** '''Email''' (Text Field)
:** '''Email''' - Text Field


:* '''Reviews'''
:* '''Reviews'''
:** '''Rating''' (Number -- a value in the range 1..5)
:** '''Rating''' - Number (a value in the range 1..5)
:** '''Commentary''' (Text Area)
:** '''Commentary''' - ''Text Area'' (not a text field)


And the following relationships:
And the following relationships:

Revision as of 19:34, 17 May 2012

For:   Designers
Level: Beginner
Time:  20 minutes

See more:
    ◾ HowTo Guides

If you have data in an external system, you can generally export it as a plain text file, with one record per line, where values in each line are separated by values. That kind of file is known as comma-separated value (Template:CSV) file. Using such files, you can import data into your application objects.

In this guide, you'll create a few items of data in a spreadsheet, and use that. But the data could come from any system that is capable of exporting CSV data. More importantly, you'll be learning how to establish relationships between records, as the data is imported.

Preparation

Use the Application Wizard to create an application called Movie Reviews. It should have the following objects and fields:

  • Movies
    • Title - Text Field
  • Reviewers
    • Name - Text Field
    • Email - Text Field
  • Reviews
    • Rating - Number (a value in the range 1..5)
    • Commentary - Text Area (not a text field)

And the following relationships:

  • One Movie can have many Reviews.
  • One Reviewer can have many Reviews.

After the application is created:

  • Adjust the singular and plural labels for the objects.
  • In the Reviews object, modify the Rating field to restrict its values to the range 1..5.
Learn more: Use the Application Wizard.

Notepad.png

Note: You might have noticed that there was an option to create a new application by importing data. For a simple spreadsheet, that's the way to go. But when you need to construct relationships between object records, use the process described here.

Create a Spreadsheet with Sample Data

To start, create a spreadsheet with worksheets for some real movies, a whimisical list of reviewers, and sample reviews. (If you'd rather not deal with the spreadsheet, paste the data from the next section into CSV files.)

  1. Create a table of Movies
    HowTo Import Movies.png
  2. Create a table of Reviewers
    HowTo Import Reviewers.png
  3. Create a table of Reviews
    HowTo Import Reviews.png

In those worksheets, movies have identifiers that are referenced by reviews. Those identifiers are numeric, and none are smaller than 1001. By meeting those requirements, the movie identifier can be used as a Record ID in the platform.

Export the Data as CSV Files

Next, export the data into files that contain comma-separated values, or Template:CSV data. (This process is based on Excel. The process for other spreadsheets is similar.)

  1. In the spreadsheet, go to the Movies tab.
  2. From the main menu, choose Save As.
  3. Specify the filename and type:
    • File name - Movies.csv
    • Type - CSV (Comma delimited) (*.csv)
  4. Click [Save]
    A dialog appears, informing you that only the current worksheet can be saved.
  5. Click [Ok] to save the current worksheet.
    A dialog appears, telling that not all features are supported in this format. (For example, formulas.)
  6. Click [Yes] to save in the specified format.
    A file called Movies.csv is created.
  7. Repeat the process for the Reviewers
  8. Repeat the process for the Reviews

You can now inspect the data files in a text editor. They should look like this:

Movies.csv
<syntaxhighlight lang="html4strict" enclose="div">

Index Num,Title 1001,The 300 1002,War Horse </syntaxhighlight>

Reviewers.csv
<syntaxhighlight lang="html4strict" enclose="div">

Name,Email Avery Goodview,avery@goodview Knota Goodseat,knota@goodseat Luvda Popcorn,luvda@popcorn </syntaxhighlight>

Reviews.csv
<syntaxhighlight lang="html4strict" enclose="div">

Movie,Rating,Commentary,Reviewer 1001,5,Awesome action,Avery Goodview 1001,5,Steamy and lovely,Knota Goodseat 1002,3,Rather predictable,Avery Goodview 1002,5,A real tear-jerker,Luvda Popcorn </syntaxhighlight>

Import the Data

The process here is to start at the top of the lookup chain, so that the Lookups in the incoming record all resolve to an actual record. (It isn't strictly necessary to do things in that order, but it's good form.)

Coming soon...

--examine the Record Locator setting for the Reviewers object