Developer

Import Functionality Overview

The import tools provided by the Agentry Editor provide functionality to support importing application definitions from other projects, published versions from Agentry Servers, and export files.

Reasons for importing can include:
  • Creating a new application project in the current workspace from an archived project or Agentry Server.
  • Upgrading application projects to the current Agentry Mobile Platform version.
  • Adding previously developed application definitions and components to the current project.
  • Merging separate development work from multiple developers or a share repository created using the Team Development functionality.

Import Source

Import Source is the general term used to describe any item used as source for an import operation. Valid import sources within Agentry include:
  • Agentry Application Project Files (.apj): This may be any Agentry project file, including its related definition files, created by the Agentry Editor. This project can be stored in a different Eclipse workspace, or elsewhere on the file system if created by a version of the Agentry Editor from 4.0 through all 5.0.x releases. Note that the .apj file is the main project file, but it is not the entire application project. The definition files that are a part of that project must exist in the proper Agentry Editor created file structure in order for this source to be imported. Typically this is a non-issue as there is no valid reason for the definition files within a project to be moved or modified manually.
  • Agentry Export Files (.agx, .agxz): This can be any Agentry export file created using the Application Export functionality provided within the Agentry Editor. Note that as of version 6.0 either standard or compressed export files can be imported. However, compressed export files cannot be imported by versions prior to 6.0.
  • Published Agentry Server Application: An application published to the Agentry Server, either Development or Production, can be selected as an import source. The selection made for this source is the server’s executable file. The application published to that server instance is then used as the import source. For Agentry Production Servers, any published version residing on that server can be an import source. Agentry Development Servers have only a single application version that may be an import source.
  • Agentry 3.x Editor Project: In the 3.x versions of Agentry, application definitions were not stored in projects, but rather as a part of the data within the Agentry Editor instance. A given Editor contained the definitions for a single mobile application, meaning each mobile application included its own dedicated Agentry Editor. These definitions can be an import source, with the selection of the AgentryEditor.exe containing the desired mobile application to be imported.

As a part of the import process it is first necessary to select the type of import source. This information is required at the beginning of the screen flow for the import operation within the Agentry Editor. The above sources are valid import sources for import operations creating new projects within the Eclipse workspace, and for imports that add or replace definitions, known as a “compare and import” operation, within an existing project.

For each of these, the import source must have been created with a version of the Agentry Mobile Platform matching or prior to the version to which the definitions are imported. There is no “downgrade” functionality provided by the import tools. As an example, it is not valid to select an Agentry export file created by version 5.2 as an import source for an instance of the Agentry Editor delivered in version 5.1. However, the reverse is allowed, importing from version 5.1 to version 5.2. This is, in fact, the proper method for upgrading an application project to a newer release of the Agentry Mobile Platform.

Adding a New Project to the Workspace

When importing to create a new project within the Eclipse workspace, the developer first selects the application source type and the specific source project. The import tool then reads in the source definitions, creating a new application project within the workspace. All definitions from the source are imported.

If the source for the import is not a full application project, or is missing definitions within the application hierarchy, changes are necessary to the project. As a basic example, if an export file contains only the object definitions from a project, creating a new project by importing the export file creates a new Agentry application project containing an application and module definition. However, these parent definitions to the objects contains minimal attribute settings with default values. Typically this is not a situation encountered often in real-world development environments.

Adding Definitions to an Existing Project

When performing an import to an existing application project, the current project and the source application for the import are displayed in the Comparison View within the Agentry Perspective. This view displays the current project and import source in side-by-side panes. Both are presented according the application hierarchy and are aligned based on the definition type and name. Each definition alignment is denoted as one of the following within this view:
  • No Difference: The definition in both the project and import source are identical, including child definitions and attribute settings.
  • Unimportant Differences Only: The definitions in both the project and import source are the same in all areas that would affect run time behavior. Differences were found, but were limited to comments or descriptions only.
  • Exists Only in Source: The definition exists only in the import source. It is not found in the current project. Such a definition can be selected in the import source pane and imported into the current project. Alternately this definition can be aligned with an existing definition of the same type and with the same parent definition. The source definition overwrites the existing definition if it is then imported.
  • Exists Only in the Project: The definition exists in the project but not the source. An import operation has no effect on such a definition. Alternately this definition can be aligned with a definition in the import source. The source definition overwrites the existing definition if it is then imported.
  • Differences Exists Between the Definitions: The definition exists in both the project and the import source, but there are differences between the two definitions. This can include differences in attribute settings or differences in the child definitions. Child definition differences can include attribute differences, or a different set of child definitions.

Within the Comparison View the developer selects the items in the import source to be imported into the current project. This consists of checking and unchecking boxes within the import source indicating the specific definitions and their child definitions should or should not be imported.

The Comparison View

The Comparison View has been added in Agentry version 5.2. Its functionality and behavior is similar to the Comparison Screen that served the same general purpose in prior versions of Agentry. The new Comparison View includes additional functionality in support of the Team Development feature set. It also includes more information concerning the comparison and import, with lists now displayed summarizing the differences found between the project and import source, and a Preview tab listing the potential results of performing the import based on the current selections within the view.

The following is an example of the Comparison View within the Agentry Perspective:


In the pane on the left side of the View is the Agentry application project currently open in the Agentry Editor. On the right are the application definitions in the import source. Between the two are the icons for each definition indicating the comparison status between the project and import source. Following is a list of these icons and their descriptions:
Difference Icon Description


No Differences Found


Differences in Definitions


Unimportant Differences Found


Exists Only in Project


Exists Only in Import Source