SFDC - SpringCM Document Sync App - Add Bi-Directional Sync

Key Information

The challenge is finished.
Show Deadlines

Challenge Overview

Attached to this challenge is a slick node.js app which will sync attachments loaded in the Notes & Attachments list in Salesforce.com and load them into SpringCM using Heroku. We need to add support for pulling documents that were inserted directly into SpringCM back into Salesforce. 

Make the Following enhancements to the Application. 

  • Add a new Field named "SpringCM Document Id" to the SpringCM Attachment Object.
  • Add a Trigger to the SpringCM Attachment Object
    • When a record is inserted into the SpringCM Attachments Object, we need to retrieve the Document from SpringCM based on the "SpringCM Document Id" and use the existing field "Object ID" as the new parent of the inserted attachment. 
    • When we have completed the download, we need to update the "Attachment Id" and "Object Type" fields of the SpringCM Attachment record and set "Upload details" to "Successfully downloaded Attachment from SpringCM"
    • If there is an Error, we need to update the Status and Details fields to reflect what the error was. 
  • Add a new button named "Re-Download Attachment"
    • If the download failed, clicking this button will attempt the download again and will refresh the field values with the correct current error details or the correct field values indicating successful download. 
    • This button should disregard records with the "Status" of "Completed".
  • Update Attachment trigger to not re-upload the document that was just downloaded back to SpringCM. 

The expected workflow is that when a Document is uploaded into SpringCM, a new record will be created in the SpringCM Attachment Object. We need to trigger on the that insertion and use the SpringCM API to download the document. To demonstrate this, we need to insert a document into SpringCM, then using that Document ID, insert a record into the SpringCM Attachment Object. This should trigger the call out to SpringCM and download the document into the Correct parent record without the document being re-uploaded into SpringCM.  

Final Submission Guidelines

Submission Guidelines

Any SFDC deliverables should be submitted in a zipped eclipse package. An unmanaged package is also required for the SFDC deliverable.

Setup documentation is required. Must include detailed instructions on how to configure the application for different SFDC & SpringCM environments.

SpringCM Environment Setup:

We can't directly create logins into the SpringCM UAT environment. In order to request a UAT environment with API access, we need to request a Login from support@springcm.com with the subject "TopCoder UAT Account Access". This should be resolved by SpringCM support in 24 hours once the request has been made. 

For SpringCM API documentation check here: http://docs.springcm.com/SOAP/v201305/. One key Method to review is available at https://uat.springcm.com/atlas/webservices/v12/SpringCMService.asmx?op=DocumentDownload.

Salesforce.com Environment Setup:

Get a free Salesforce.com developer edition here: https://developer.salesforce.com/

You will also need to install the SpringCM managed package that can be found on the Salesforce.com AppExchange at https://appexchange.salesforce.com/listingDetail?listingId=a0N300000016coCEAQ.

Reliability Rating and Bonus

For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
Read more.


Final Review:

Community Review Board


User Sign-Off


Review Scorecard