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
will be 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 will first select the application source type and
the specific source project. The import tool will then read 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
will be 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 will create a new Agentry
application project containing an application and module definition.
However, these parent definitions to the objects will contain 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 will be 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 will overwrite 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 will have no
effect on such a definition. Alternately this definition can be
aligned with a definition in the import source. The source definition
will overwrite 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: