Sgurumurthy was the clear winner for this challenge! Along with his video below he submitted some super documentation. He even went so far as to reuse some of his code from his Cloudspokes Office Relocator challenge submission. A great use of componentized software if I may say so. Here is a small over of the technology and features of his submission but make sure you watch the video at the end.
The following software components are being used:
- Salesforce streaming API
- Jetstream: Streaming proxy for salesforce streaming API
- org.json Java JSON parser
- Salesforce REST API to get account information for a case
- OAuth to authenticate and authorize to Salesforce. This is required for Salesforce REST API call and for native Salesforce streaming API connection. Jetstream uses a FORCE_FORCEDATABASE_URL environment variable to get Salesforce connection information.
- Embedded jetty webserver
- Google maps API to geocode an account address. I am reusing my Cloudspokes officerelocator challenge code for this purpose.
- Application can use native salesforce streaming API or Jetstream proxy. The mode is selected via environment variable STREAMING_API_USE_JETSTREAM.
- Once the application is up and running and you have navigated to streamingCases.jsp, any case creation or update is shown on the browser as follows:
- A Case with status New is indicated on the map with a yellow marker.
- A Case with status Working is indicated on the map with a blue marker.
- A Case with status Escalated is indicate on the map with a red marker.
- The marker (hover) title depicts the subject of the Case.
- The marker infowindow (on click on marker) depicts the address of the Case billing account.
- If the Case is not associated with an account or if the account does not have a valid address, a text is displayed on the map indicating the case creation/update.