Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Hewlett Packard has developed a set of JSON-based REST API’s which enable “Big Data”-type processing capabilities allowing developers to process information embedded in unstructured text and images in previously inaccessible formats.  This platform is called IDOL OnDemand and at this point is in the Early Access release phase, open for all Innovators to use.   

http://www.idolondemand.com

New HP IDOL OnDemand challenges launched weekly! Check http://idolondemand.topcoder.com for a complete list of HP IDOL OnDemand topcoder challenges.

Requirements

These are the requirements:

  1. develop an Google Sheets Add-on (using Google Apps Script and the HP IDOL OnDemand API), by improving the Google Sheets Add-on provided in the forums

  2. the Add-on should use the HP IDOL OnDemand API to perform analysis on the text from the Google Sheets document

    1. a sample Excel document will be provided in the forums (hotel-reviews.xlsx)

    2. different Excel documents may be provided by the submitters, to show that their submission is working for the new requirements

  3. the add-on is added to the Add-ons menu from the Google Sheets web application, using the name "IDOL OnDemand"

  4. Easy Deployment requirement

    1. deploying the add-on is quite hard at this moment, especially since it has to be deployed for each document. Using Google Store is not possible.

    2. the add-on needs a simple approach to be deployed as a Bound Script

      1. the current structure of the files should be kept, in order to have easy and proper development

      2. there could be a transformation step, to generate a single Code.gs script that needs to be deployed

    3. a different approach is also acceptable, as long as it is at least as easy to be deployed as what we assume might be a solution at point #2 above

  5. the add-on should have 4 menu items: "Sentiment Analysis", "Entity Extraction", "Find Similar" and "IDOL OnDemand API Key", in this order

    1. the existing "Summarization" menu item should be removed, and its functionality should be moved to "Find Similar" side bar

  6. "IDOL OnDemand API Key" menu item changes

    1. the "Get API Key" link will open a Help dialog that presents the steps required to obtain the API Key. Modify the Help page functionality:

      1. when the user closes the Help page, the "Get API Key" dialog should remain open

      2. should prevent a blank API key from being saved

        1. It would be better if the error was displayed with the API key dialog open, so the user wouldn't have to go back to the Add-ons menu and reopen the API Key dialog to set the key. Currently the dialog is closed and then the error is displayed

      3. an error message displayed contains a typo: "An error occured during action". This has a typo "occured".

      4. the error message displays the API key. This should be masked, especially if the user selected not to display the key.

  7. for all IDOL OnDemand API calls, add support to handle Rate Limiting, Quotas, and Maximums (Data Expiry is not required):

    1. for each response, check at first if it contain an "error" field, and present custom message dialogs for the error codes from the page above: 2010, 503 and the error code for exceeding Text input to all APIs (1MB)

    2. direct users with quota errors to review their account information on the IDOL OnDemand site.

  8. "Sentiment Analysis" menu item changes:

    1. remove the white empty space from the Pie Chart, from the left and right side, so that the table behind it is visible

  9. "Entity Extraction" menu item will make use of the Entity Extraction API

    1. the Custom Side Bar task table header whould be like this: Task \n Name, Cell \n Range, Entity \n Type, Show \n Alternatives.

  10. "Find Similar" menu item changes 

    1. the Custom Side Bar task table header whould be like this: Task \n Name, Cell \n Range, Public \n Data Set, Max \n Results \n to Show.

    2. add the "Summarization" functionality to this section:

      1. there should be checkbox labelled "Add Summaries". If this is checked then the application should prompt the user for the type and number of summaries they want returned.

        1. a different approack could be to present a dropdown similar to what is available in the Try section of the Find Similar API. It can have 4 options: No summary / Context / Concept / Quick.

      2. only Find Similar API is used here. The Query Text Index API is not used at all (the previous "Summarization" functionality used this API)

      3. if the user selects the option to return a summary for each reference, the response from Find Similar API has a summary for each reference (link). Should display this summary in the resulted table next to the reference

  11. "Summarization" menu item should be removed, and its functionality should be moved to "Find Similar" side bar

  12. A few extra requirements:

    1. in the side bars from the other tasks, when the user tries to add a task, the user is alerted that the API Key is not set. Should alert the user only when the user tries to execute a task. Also, after the alert message, open the "Get API Key" dialog implicitly.

    2. If only one cell is selected and "Get Range" is clicked, you should format the range like "C2:C2", not leave it as "C2" which produces no results.

    3. the Get Range buttons should also set the sheet name: "Sheet1!C2:C5, in order for the task to be executable even when a different sheet is open

    4. move all CSS code into a dedicated CSS file rather than having so much inline styling in the HTML files. The color map definitions from Code.gs should also be moved to a CSS file

    5. var userProperties = PropertiesService.getUserProperties(); is being called multiple times. Use this once in an init function and then use the var everywhere. Same for var apiKey

Getting Started with HP IDOL OnDemand

Before you can use the API’s you’ll need to sign up for an IDOL OnDemand developer account:

http://www.idolondemand.com/signup.html

Please indicate that you heard about IDOL OnDemand through [topcoder] in the “How did you hear about IDOL OnDemand?” field:

Once your account has been verified you’ll be assigned a developer account and API Key that will allow you to make API calls.   Complete information about available IDOL OnDemand API’s can be found here: 

https://www.idolondemand.com/developer/apis

You’ll need to register for a developer account with HP in order to get access to additional Try functionality in the API console.  Use of the APIs is free and restricted to non-commercial use at this time. Commercial use and pricing will be announced in the near future.

Before you compete in an IDOL-related challenge on [topcoder] please create a topcoder-specific key in your IDOL OnDemand Account.  You can do this by Clicking on Account->API Keys from the developer home page.

Simply generate a new key and rename it to “topcoder” as shown above.   This should be the key that you use in [topcoder] challenge completion.  This will also give you visibility to Preview API’s which may not yet be in public release. 

You should be all set!



Final Submission Guidelines

  1. A video which describes the Google Sheets Add-on (a link to your video: Screenshare, Jing, or Youtube.com). Describe these aspects

    1. the source code

    2. the usage.

  2. A document which describes how to deploy your code.

  3. The source code as a development project

  4. Submit your code and the deployment guide files as a ZIP package.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30046084