Parent-Child Google Chrome Extension Framework Assembly

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

We previously launched a contest to create a Gmail chrome extension to gather email ids (http://community.topcoder.com/tc?module=ProjectDetail&pj=30044339). 

Functionality that we wish to keep from previous challenges:

  • Parent / Child extensions, where the parent extension would be in the tool bar and the child extensions would be selectable in the same drop down format that the prior challenges created.

  • This works as before where the parent looks for installed extensions that are meant for this framework and includes them as options in the dropdown. (The original solution uses DOM events, we should use chrome messaging API here) 

  • Link to Chrome store at the bottom->this should be a child extension that simply adds the link to the button.

  • Should leverage same or similar web service that was implemented in prior challenges.  Other web services would be acceptable if they are open source and as easy to implement and test. (The webservice should be implemented with NodeJS). 

New Functionality:

  • Some contextual awareness where some options would be available always, some when in GMail some in Calendar.  

Child Extension (in parent extension menu with expected functionality 1st phase):

  • Archive Emails (By Label)

    • Extension creates two labels when installed

      • Demo Label

      • Demo Label-Complete

    • When button is clicked it opens a new tab to a specified URL and archives all messages with the Demo Label and applies Demo Label-Complete

    • Should only be active if current tab is GMail AND there are items that have the label “Demo Label”, grayed out otherwise.

  • Send Email Ids to Web Service (By Label)

    • Extension creates two labels when installed

      • Demo Label ToSend

      • Demo Label ToSend-Complete

    • When button is clicked it sends all messages Id or thread ids with the Demo Label to a web service  and applies Demo Label-Complete.  Whether it is thread id or message id should be a configurable setting.

    • Should only be active if current tab is GMail, grayed out otherwise.

  • Create link

    • This extension simply creates a link to a page

    • Label for link should be: “Chrome Store”

    • Link should send user to Chrome Store

 

Something that even shows very basic 2 way communication between client and web service.  

  • In the send email example above the the child extension would send message ids to the web service and wait for response from the web service before removing the Demo Label and adding the Demo Label-Complete



Final Submission Guidelines

Submission Deliverable:

* Source code

* Detailed deployment guide

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30044664