CollabNet provides servlet helper libraries that take care of authenticating integrated application requests with TeamForge. They also provide context information for each subsequent form processing within the application or links clicked within the application.
The heart of this is the
IntegratedAppSupport class, which must be called during every request of an integrated application. This class takes the HttpServletRequest and HttpServletResponse for each request and determines whether the user is already authenticated. It also provides project- and user-related information that can be used throughout the request.
IntegratedAppSupport, on successful validation, provides several objects that can be used through the integrated application. .
The method is specified within parentheses at the end of each parameter.
This identifies a user. It can be used for making any TeamForge webservice calls over SOAP. TeamForge expects that every call be associated with a valid SoapSessionId. This method lets you fetch the SoapSessionId for the current session of the user. (getSoapSessionId())
This is the jsessionid for the current user. This is the servlet-container-specific id that might be used for some integrated applications. (getWebSessionId())
Retrieves the base URL for Collabnet TeamForge (getCtfBaseUrl()).
Retrieves the TeamForgeProject path for this project. This would typically be “projects.
Retrieves the handle for CollabNet SOAP (Refer to ctf_xxx_sdk.zip for SOAP calls that can be made using TeamForge) ( getCollabNetSoap()). Documentation for the SOAP methods exposed are available in ctf_xxx_sdk.zip.
Retrieves the handle for pluggable application SOAP calls (getPluggableAppSoap()).Documentation for the SOAP methods exposed are available in ctf_xxx_sdk.zip.
Retrieves the handle for RBAC SOAP Calls (getRbacAppSoap()).Documentation for the SOAP methods exposed are available in ctf_xxx_sdk.zip.
Retrieves the linkid for this request. (getIntegratedAppId())
Retrieves the Prefix to use for go-urls, associations and linkifications (getIntegratedAppPrefix()).
Retrieves the name of this integrated app (getIntegratedAppName()).
Retrieves the TeamForge project id (getProjectId()).
Retrieves the SOAP data object information for the current user (getUserSoapDO()).
SOAP Calls for Integrated Applications
When you integrate an application with TeamForge, you will need to make SOAP calls from the integrated application into TeamForge to respond to events on either side.
To integrate an application with TeamForge using the Integrated Application Framework, you have to implement the following methods for TeamForge to communicate with the integrated application.
The interface should be exposed via SOAP, and the endpoint for this interface should be defined by the
<endpoint> tag in the XML Application configuration file.
SOAP Calls for Adding, Editing or Deleting an Integrated Application
You can use these SOAP calls to enable project administrators to add an integrated application to their projects, edit an integrated application, or delete it from their projects.
This method is called when an integrated application is added to a project from Project Admin > Tools > Add Tool.
This method is called when editing an integrated application in a project from Project Admin > Tools.
This method is called when deleting an integrated application in a project from Project Admin > Tools.
SOAP Calls for SCM in Integrated Applications
You can use these SOAP calls to enable users to change data in an integrated application based on actions in a TeamForge source code repository.
This serves as the pre-Commit hook for an integrated application. TeamForge will call this method if require-scm-integration flag is set to true in the integrated app xml descriptor. This would mean that a commit made into TeamForge will only succeed if this method returns a “true” (String).
falsefollowed by an optional error message that can be displayed to the user who is making the commit.
This method is called after a commit is made and post processing needs to happen for that particular commit in the integrated application. A typical use case will be to store the commit information as part of some object within the integrated application. Please note that any errors thrown as part of this will not stop the commit from happening as the commit has been already made.
SOAP Calls for Search in Integrated Applications
The getSearchResults method is called by TeamForge as part of doing a regular search. Use this method to include data from your integrated application in TeamForge search results.
SOAP Calls for Project Templates in Integrated Applications
You can use these SOAP calls to enable an integrated application to be included in project templates created by TeamForge.
This method is called when a TeamForge template is created on a project that contains this integrated application.
This method is called when displaying the template content in “Project Tools/Included in Template” section at the time of template creation.
This method is called when viewing the content of an existing template.
This method is called to validate the configuration parameters provided when creating a project from a template.
This method is called when a project is created from a template and this integrated application is part of the template. This is the equivalent of the “createProjectConfig” call except that it can be called when a project gets created from a template.