Register
Submit a solution
The challenge is finished.

Challenge Overview

Overview

The Support for deserializing XML in Salesforce is very limited and when it comes to Custom XML, it makes it harder. We want you to come up with a special Visualforce soln. to deserialize the XML and load it into Salesforce Custom Object Records & Articles (Knowledge).

Challenge Requirements

The Sample files are made available in the forums to registered participants. As part of the challenge you need to

  • Create a Visualforce Page that can load the XML files.

  • Deserialize the XML files into Custom Apex Class (build the Apex Class Structure)

  • Load the data into relevant Custom Objects & Article Types (Custom Objects Provided)

User Functionality

As a user I should be able to do the following:

  • Navigate to the Visualforce page and click on Load XML button

  • I should see a loading message and after the load is done, summary of the data loaded.

Considerations & Additional Requirements

  • We do not have mappings to map the XML data to the Article Types or Custom Objects, please use your judgement and create your own mappings based on the labels/names and load the data into Salesforce.com. Make sure you document all your mappings and make them easy to change.

  • The XML file data might have lot more than required, all the non-mapped data can go into a Custom Object (you can create one).

  • Note that there is no easy mechanism to create knowledge items in Salesforce via the API. To remedy this, you can consider using a custom object and implement a trigger on that object and using Apex, the knowledge items can be created.

  • Essentially, each file contains the product list available in that Country and the languages for each product in that Country. The Salesforce knowledge data record will have a Country and language fields.

  • The ZIP file containing the XML also contains product images. These images are referenced by name in the “media_list” node of the “product_languages” node.  These images need to be attached to the knowledge records.



Final Submission Guidelines

*** Code Best Practices that we expect you to follow:

  • Please adhere to the general Coding patterns, and SOC guidelines.

  • Unit and System Testing. Ensure all (none packaged) Apex tests in the org provided run before and after work has started. Unit tests must be developed as part of the challenge in alignment with those already existing and including adequate assertions. Above 80% coverage for new classes written is required.

  • Code Aesthetics. Code must be clean (no commented code fragments, unused variables etc), tidy (4 space indents) and well commented. Use of Contest/Challenge names in comments instead of developer names. Utilising good clear and purposeful naming for variables, classes etc. Employ the use of Constants or enumerations where ever required. API methods should reside in the Service layer and not in the controller.

  • Scalability. For this challenge only a single target Profile is needed. However provision for adapting the code to Batch Apex should be considered.

 

Submission Details / Guidelines

  • This Solution will need to be a Production  quality asset.

  • Your Submission should Include all Code elements for the Salesforce code and metadata elements. Please provide an unmanaged package of the same.

  • Demo should present the application functionality end to end and overview of the application codeblocks.

  • Demo the Submission with :

    • Featuring the Install and Config steps

    • Demonstrating all functionality

    • Organized Code walkthrough

    • Demonstrating the functionality using Salesforce1 app.

    • Demonstrating the Test execution (positive and negative tests)

  • A Final Documentation that Covers Deploy/Install, Configure for the solution.

Your submission will be judged by a Community review board.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

Challenge links

ID: 30044041