This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.
Continuously Innovate Software Delivery with CollabNet Connect
Thank you to everyone who pre-registered for the on demand webinar, “Continuously Innovate Software Delivery with CollabNet Connect,” that I co-presented with Raja Venkataraman, Technical Architect, CollabNet. In the session, we talked about what CollabNet Connect is all about and shared practical examples of TeamForge integrating with Atlassian JIRA and we went over how you can build your own integrations.
Pre-registering for this on-demand event gave people the opportunity to submit questions they had about CollabNet Connect. As a result, we received many great questions that I would like to address here.
Reminder: you can watch the webinar and download my slides at any time. For more information about this topic, please visit www.collab.net/products/collabnetconnect, here, you can access additional webinars, informative assets, and free product downloads.
Don’t forget to register for our upcoming webinars. CollabNet offers multiple webinars a month that cover a variety of topics related to software development.
As promised, here’s the follow up to your questions.
Q: What is an integrated application?
A: An integrated application is a stand-alone application that can seamlessly integrate into any CollabNet TeamForge project. You can use integrated applications to incorporate these types of applications into your TeamForge project:
- Third party applications
- Internally developed applications
- Integrations developed using the TeamForge SOAP APIs
- External websites
When you add an integrated application to your project, an icon is added to your project navigation bar. Clicking the icon displays the integrated application in the main TeamForge project window.TeamForge site-administrators can register site-wide integrated applications that project administrators can opt to use across projects. Site administrators or users with site-wide roles with the administration permissions for integrated applications can enable/disable integrated applications.
Q: How is an integrated application described?
A: 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 6.1.1, 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.
Q: Can I control user access to an integrated application?
A: TeamForge can integrate the permissions scheme of a separate application into the TeamForge role-based access control system.
To look at how this works, we’ll use the Pebble blogging tool as an example. Pebble is an application that you can quickly integrate with TeamForge.
Pebble brings with it a set of pre-determined roles that you can assign to project users. The roles are defined in the XML application configuration file.
Blog Reader – You can only read blogs and make comments, the comments are sent for moderation.
Blog contributor – You can add blog posts, but they will be sent for moderation.
Blog publisher – You can add blog posts, moderate comments and blog posts.
Blog owner – You can do all that a Blog publisher does as well as change the blog properties and security options.
Any site user with one or more of these roles can see the Pebble Blog button in their project toolbar. Clicking that button allows them to operate Pebble according to their access rights.
Q: How does an integrated application interact with other TeamForge tools?
A: When you integrate an external application into your TeamForge site, the application can take full advantage of object IDs, links and Go URLs.
To look at how this works, we’ll use the Pebble application as an example. Pebble is a blogging tool that you can quickly integrate with TeamForge.
Object IDs uniquely identify a TeamForge object so that you can access and use it in different contexts. For example, to get to artifact artf1234 quickly, you just enter artf1234 in the Jump To ID box. In the Pebble tutorial application, the date of a blog post, in YYYYMMDD format, is used as the object ID.
A prefix is an alphanumeric string attached to the beginning of an object ID that TeamForge uses to manage object IDs from different tools. For example, in the Pebble app, <prefix>_20100601 gets you a page showing all the blog posts in the project that were published on June 1, 2010.
The prefix can either be the one specified when an integrated application is added to a project by project administrator, or the one in the XML Application configuration file depending on the “require-per-project-prefix” setting. The “require-per-project-prefix” setting can be true or false. If it is false, each project integration would not need to provide a project prefix; so the one provided in the XML Application configuration file takes effect. If the “require-per-project-prefix” setting is true, a prefix needs to be provided by the user during every project association.
The amount of information the prefix carries depends on the kind of application you are integrating into your TeamForge site.
- With applications that use object IDs, such as Project Tracker and JIRA, you can identify the project that the object belongs to from its object ID.
- For applications that don’t have uniquely identified objects, or don’t have the notion of “project,” such as MoinMoin or Review Board, you can choose a prefix that’s specific to the project where the integrated tool is used.
Go URLs allow a user to get to a particular object ID with a short, handy URL. To use this for Pebble, construct a URL like this: https://mysite.com/sf/go/<prefix>_<date in format YYYYMMDD>.
For example, if the Pebble tool in your project has the prefix PA, and you want to send someone all the blog posts published on app June 1, 2010, send them this link: https://mysite.com/sf/go/PA_20100601.
The object ID can be used to associate objects with other TeamForge objects. For example, if you want to associate a document with the blogs published on June 1, 2010, go to the document’s Associations tab and add an association to PA_20100601 as the object ID.
When you type text of the format <prefix> _<date in YYYYMMDDD> in any TeamForge text field, the text is converted to a link. When you click the link you see the blog posts for that date, if any.