An integrated application is described using two XML files - a deployment configuration
file and an application configuration file - that provide information to TeamForge about the configuration options exposed by the
application.
In TeamForge version 6.1.1 and later, you
have the ability to configure some integrated application settings using the user interface.
You can also export these settings in XML format and make changes. To edit configuration
settings, you would upload the XML file containing the updates.
Integrated application settings
<name>
This is the title of the integrated application. When the
integrated application is added to a project, the button that appears on the project pages has
this name. This name must be unique -- you cannot use it for any other integrated application
on the same
TeamForge server.
This tag is used in
both deployment and application configuration files.
<adminurl>
When an application has an administration screen for
configuring its parameters, this field contains that URL. It is optional.
This tag is used
in the deployment configuration file.
<baseurl>
This is the URL to which a user will be directed on
clicking the integrated application button in a project.
This tag is used in the deployment
configuration file.
<endpoint>
This is the SOAP endpoint for the integrated
application. The endpoint contains the various methods exposed by the integrated application
that are called during the lifecycle of
TeamForge.
This tag is used in the deployment configuration file.
<gourl>
This indicates which URL must be used when an object id for
an integrated application is specified (either via Jump_to_id or on the URL as
/sf/go/<objectid>). This URL can support a couple of dynamic parameters.
- %o -- The object id entered by the user will be dynamically replaced
here.
- %p -- The project id for the object entered will be dynamically
replaced here.
For example, if the Go URL is
http://go.tourl.com/tracking?id=%o
and the object ID entered is
XYZ123, then the URL will be replaced and
redirected to
http://go.tourl.com/tracking?id=XYZ123.
This tag is used
in the deployment configuration file.
<category>
This is used to display the integrated application under
a separate
Category tab. It is an optional parameter that is manually
inserted based on the requirement. If the category is not defined, the integrated application
appears under the
Generic tab.
This tag is used in the deployment
configuration file.
<isbaseapp>
This validates whether the integrated application is a
base application configured for the specified category. It is an optional parameter that is
manually inserted based on the requirement.
This tag is used in the deployment
configuration file.
<is-search-supported>
This validates whether the integrated
application needs to be displayed as an object category in the drop-down list for search
options in
TeamForge such as
Jump to
ID and
Advanced Search. It is an optional parameter that
is manually inserted based on the requirement.
This tag is used in the application
configuration file.
<config-parameters>
There can be any number of configuration
parameters for an integrated application and they are displayed when associating the
application to a project. These parameters are filled in by the project administrator and are
available in the integrated application SOAP interface as configuration parameters. The
integrated application gets a chance to validate these parameters and indicate back to
TeamForge whether this project association is
successful by passing in a "TRUE". It can return a "FALSE" if it doesn’t want this project
association to succeed. Each configuration parameter is placed inside the "param" tag, which
can contain multiple elements to describe the parameter.
- <title>
- The internationalized title that appears for a project administrator to fill in while
associating the integrated application to a project.
- <name>
- The Java variable under which the value for this parameter will be available on the
integrated application.
- <description>
- The internationalized description that appears when a project administrator fills in
or enters a configuration parameter.
- <default value>
- The default value for the parameter that will appear in the user interface during the
association of an integrated application to a project.
- <display type>
- This is the type of display control used for the configuration parameter. We support
"TEXT" for text fields, "CHECKBOX" for checkbox type controls, "RADIO" for radio
buttons, and "SELECT" for select dropdowns. This field can also take an attribute that
says what the value type for the field should be -- whether it should be an "Integer",
"String" and so on. So if the field is expecting numbers, then entering "foo" as a value
will throw a validation failure.
- <option>
- If the display type is "RADIO" or "SELECT", then these fields contain the individual
options available for the display controls. This will contain a "name" attribute that
will be sent to the integrated application when that option is selected from the UI. The
value of this option should be an internationalized field as it is the value visible to
the user.
- <editable>
- This specifies whether the configuration parameter should be editable once the
integrated application is associated to a project. These configuration parameters are
available when you add or edit an integrated project. If a parameter should not be
"edited" post association, setting this to "false" will make it non-editable.
This tag is used in the application configuration file.
<description>
This is an internationalized string for the
integrated application's description. It contains information for
TeamForge project and site administrators to know what the
application does.
This tag is used in the application configuration file.
<id-pattern>
When trying to link to an integrated application id, this
regular expression gets used for mapping. By default (if no value is provided), it looks for
alphanumerical characters; in case you need specific characters to be matched (for example,
JIRA, which has hyphens in ids), this value is used.
This tag is used in the application
configuration file.
<page-component>
These settings are used for Project Content Editors.
The integrated application content can become part of the standard Page Component data that
appears in project home pages. The settings indicate the type of information that will be
available from the integration application.
- <input-type>
- This is the input type control for an integrated app Page Component. We only support 2
types now. Either "select" so that the inputs can be shown from a "SELECT" dropdown and
the users will be able to pick a value from there. Else, it can be a "text" where a
simple "text" field will be entered for taking the user input.
- <result-format>
- This is the format in which the output of Page Component is returned. This can be a
"list" which indicates that it will be a Table like output. The integrated app will send
the results in an XML format and the Integrated app framework converts this into a list
of records. The other option is "html", where the output from the Integrated application
is just displayed on the screen.
- <page-component-description>
- The description that will appear when you add an Integrated application Page Component
(Link to the page where " Add component" is available)
- <page-component-title>
- The title that will appear when adding an Integrated application Page Component (Link
to the page where "PCE Add component" is available)
This tag is used in the application configuration file.
<permissions>
This is a collection of permissions that are exposed
by the integrated application. There could be any number of such permissions. These
permissions will appear as a part of the project's roles (existing ones, as well as ones newly
added) and can be assigned along with other tool permissions. You can map one of these
permissions with a "dapMappedTo" attribute -- this indicates the permission to be used when a
user logs in without authentication (for example, for public projects). Typically, this is the
permission to read data so that it doesn’t need a login name; it varies from one application
to another.
This tag is used in the application configuration file.
<prefix>
If the "require-per-project-prefix" attribute is false,
the value of this tag is used for identifying the integrated application in Go URLs,
associations, and linkifications. If the "require-per-project-prefix" attribute is true, the
value is used only for the "Host" project. Each project must fill in its value as part of
adding the integrated application. Click here for
steps to add integrated applications to a
project.
This tag is used in the application configuration file. The prefix can
contain alpha-numeric characters and cannot be more than six characters in length. For more
information about prefix, see How does an integrated
application interact with other TeamForge
tools?
<require-per-project-prefix>
An
integrated application can indicate to
TeamForge
whether the object ids that it generates are uniquely identifiable across the entire
application (if yes, the value for the attribute is "false") or whether they need to be
project-specific (in this case, the value for the attribute is "true"). If an integrated
application needs per-project prefix, you must enter the prefix value when the integrated
application is added to a project.
This tag is used in the application configuration
file.
<require-scm-integration>
This indicates whether SCM commits need
to be vaildated. Some applications might have business rules which indicate that a commit can
be made only if certain conditions are met. If the integrated application has any such rules,
the value for the attribute should be "true". There are also a couple of methods to be
implemented in the SOAP endpoint.
This tag is used in the application configuration
file.
<require-page-component>
Some integrated applications choose not to
expose details as Page Components. For those that don’t, set this tag to "false" and for those
that do, set it to "true". If the value is "true", you must provide the
"page-component-details" tags as well.
This tag is used in the application configuration
file.
<servicetype>
TeamForge 6.1.0
and earlier releases supported only SOAP as the mechanism to talk from
TeamForge to the integrated application.
TeamForge 6.1.1 and later support REST calls. The
servicetype tag indicates whether the protocol used for communication is REST or SOAP.
This
tag is used in the deployment configuration file.