The Integrated app deployment descriptor is an XML file that provides information to
Teamforge about the configuration options that are exposed by the integrated application. Some
of these are optional.
Name
This will be the title name for the integrated app. (The button
that appears in a project page when the integrated app is added to the project has this name).
This name has to be unique and cannot be used for any other integrated app in the same
TeamForge server.
Description
An internationalized string for the integrated app
Description. This contains information that will help Project/Site Administrators know about
the purpose of the integrated application (i.e. what does this integrated app do?)
Baseurl
The user will be directed to this URL, if he clicks on the
integrated app icon in the button bar of a particular project. When a user clicks on an
integrated app button in a project, the control will be sent to this URL.
Adminurl
This field indicates the URL available within the integrated
application where the administration for the integrated app can be made. This is an optional
field. Some applications may have an administration screen for configuring its own parameters.
This field will contain that administration URL.
Permissions
This is a collection of permissions that are exposed by the
integrated application. There could be any number of permissions that are exposed by the
integrated application. These permissions will appear as a part of the project's existing and
new roles so that they can also be assigned along with other tool permissions. One of these
permissions could be mapped with a "dapMappedTo" attribute, which indicates the permission to
be used when a user logs in without authenticating him to the system (for e.g. for Public
projects). Typically, this will be the permission to read data, so that it doesn’t need a
login name, but it will vary from one application to another.
require-perprojectprefix
(Integrated applications can indicate to CTF
whether the object ids that it generates are uniquely identifiable across the entire
integrated application (The value for the attribute in this case is "false") or whether they
would need to be project specific (The value for the attribute in this case is "true"). If an
integrated application needs per-project prefix, then the prefix value will have to be entered
when the integrated application is added to a project.
Prefix
If the "require-per-project-prefix" is false, then the value of
this tag will be used for identifying this integrated application in
GoUrls/Associations/Linkifications etc. If the "require_project_prefix" is true, then the
value will be used only for the "Host" project. Each of the projects will have to fill in
their value as part of adding the Integrated app to their project (Refer to the doc on how to
add an integrated app to a project)
gourl
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 will be within the integrated application and can support 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.
Endpoint
This is the SOAP Endpoint for the integrated application. The
Endpoint contains the various methods exposed by the integrated application and are called
during the lifecycle of TeamForge.
Require-scm-integration
Indicates whether we need to validate the SCM
commits. Some applications might have business rules which indicate that a commit can be done
only if certain conditions are met. If this 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.
Page Component Settings
The Page Component 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. [Note: For the 5.4 Alpha
Release, Page Component Settings will not be available for Integrated applications. It will
however be available in a future release]
- 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)
Configuration Parameters
This section will specify all the configuration
parameters that are required for an integrated application when associating to a project.
There can be any number of configuration parameters for an integrated app and they are
displayed when associating the app to a project. These parameters are filled in by the project
administrator and are available at the integrated application SOAP interface as configuration
parameters. The integrated app 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 admin to fill in while
associating the integrated app 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 admin fills in or enters
a configuration parameter.
- Default value
- The default value for the parameter that will appear in the UI during the association
of an integrated app 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, i.e. whether it should be an
"Integer", "String" etc. 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
- Whether this configuration parameter should be allowed for editing once the integrated
app is associated to a project. These configuration parameters are available when you
add /edit an integrated project. If a parameter should not be "edited" post association,
then setting this to "false" will make it non-editable