Compass, HCL’s workflow management software, recently hit version 1.0.1 which includes a suite of REST APIs that enable a wide array of new interactions.
Previously, interacting with Compass outside of the web or desktop interfaces required the use of Perl APIs or a Java Native Interface. These two options tended to be cumbersome and made building extensions for Compass difficult and time-consuming.
Now, all it takes to get started building modern, custom applications using Compass is firing up the new REST API server included with every installation.
From viewing and modifying records, to constructing and executing complex queries, the new REST APIs make Compass more extensible and flexible to better suit your needs. Beyond that, developing for Compass is now much more approachable and comfortable.
One example of this extensibility is our sample iOS application. It’s a great way to not only get started with our new APIs quickly, but also to see just one of the many ways they can be used to enhance any workflow.
As we built the sample application, we put ourselves in the shoes of developers. This gave us a clear sense of what it would be like to develop a real-life application using Compass’ REST APIs. It also allowed us the opportunity to fine-tune the APIs to make them even more developer-friendly.
The application uses Compass’ REST APIs and the out-of-the-box Defect Tracking schema to allow users to view and modify defects on the go.
After logging in, the application presents two main tabs, one for viewing defects assigned to the current user and one for viewing defects reported by the current user.
There are also two buttons at the top, one on the left to view details about the current user and another on the left to create a new defect.
You can view a defect just by tapping on one and you’ll be presented with the most important fields belonging to the defect, such as its headline, description, submission date, owner, and more. A button at the top right allows you to modify the records details.
While developing the application, we thought long and hard not only about how the developer would interact with the APIs, but also how the application itself would be used.
We kept the user interface simple and familiar by only using elements from the iOS SDK, and more broadly, we decided on a subset of features which made sense on a mobile device and for people on the go.
We also realized that most mobile apps are focused on providing quick access to the most important information. Rather than including full query management capabilities, we included two queries within the application which power the two main tabs.
In addition, we made some smaller decisions, like logically ordering the fields of a record, persisting REST API server information and the name of your preferred database, and skipping the login screen on launch if the API token is still valid.
On a larger scale, we included support for local notifications, so when records are assigned to you or records that you own are modified, you’ll get a notification informing you of what happened.
Not only have we published the full source code of the application on GitHub, which is built using Apple’s programming language Swift, we also included a detailed README which walks through the code and how the application interacts with the Compass REST APIs.
Check out the tutorial by clicking here; we’ll get you up and running quickly and show how you can leverage Compass’s new REST APIs to develop applications to suit your own needs.