Sample Application: RPM Sync

Suppose your company has an online system that manages a Jobs Done Database and you want to track incidents related to those Jobs in RPM. This sample application uses RPM’s API to keep it synchronized with your external system.

RPM Sync simulates the interaction between third party systems and RPM by setting up a Google Spreadsheet with a random list of Jobs and then updates, adds and deletes form in a process inside your RPM subscription.

Code Repository Location

https://code.google.com/p/rpm-google-docs/source/checkout

Or you can directly clone:

git clone https://code.google.com/p/rpm-google-docs/

Setup

Before being able to run the application you need to setup your application.

Google API

Register a new application in the Google API Console and obtain the OAuth2 CLient ID and Secret. More detailed instructions on how to do this step are provided by Google here.

Copy Properties/GoogleOAuthSettingsSample.cs to Properties/GoogleOAuthSettings.cs and copy your Google API information into it (Don’t forget to rename the Class too).

First Run

On first Run, the setup screen will appear.

Fill in the RPM URL and the API Key.
rpm-sync-01

Click the Download button to download the template for the RPM Process and load it into RPM.

rpm-sync-02

Finally log in with your Google Account information and click Accept (these screens are served by Google and may change from time to time).

Once this step is finished, you can click Done.

rpm-sync-05

Usage

The main window will show the data as it is in the Google Spreadsheet.

rpm-sync-06

The Sidebar

Two areas are available.

Go to…

  • The Jobs Data Button will take you to the Google Spreadsheet. You can manually change the data there.
  • The RPM Process will take you to the List of Forms in your RPM Subscriber.

Actions…

  • The Refresh Data Button will update the data displayed on the screen.
  • The Update RPM Button will update RPM with the latest data available (deleting, adding and updating as necessary).
%d bloggers like this: