Key Information

Register
Submit
The challenge is finished.

Challenge Overview

1.     Project Overview

1.1     System Description

When a user is created in a Google Apps domain with Gmail enabled for the first time or moved into an organizational unit with Gmail enabled several messages are automatically generated in the user's mailbox. The Welcome Message Removal Tool (WMR Tool) will permanently delete these messages as soon as possible from the user's Gmail inbox and insert one or more messages.

1.2     Competition Task Overview

A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:

http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials

Note: Please read the whole Application Design Specification first. All the details not mentioned in this specification are provided in that document.

This challenge should allow the management of onee or more messages that will be sent when users are added to Google Apps Domain or moved to an OU within the Google Apps Domain.

UI:

Add an new section in the left side panel for "welcome message insertion tool".

The UI design is up to developers but should keep consistent with current UI.

Function:

It should allow user to create/edit/delete welcome messages and configure the related OUs. It's many-to-many mappings, one message can be sent to multi OUs and one OU could have multi welcome messages.

The sender, subject and message body should be configurable and this challenge just need to support plain text message.  

It should have same logging/exporting function as the welcome message removal tool and user should be able to search and view the insertion log, it should show which emails (only show the subject) sent to which OUs/Users and when.

Performance:

Please keep the performance in mind and the removal tool works well on a domain with ~50k users now.

The submission must meet following requirements, the develop domain provided to developers don't have so many users but we would consider the performance in review phase and the winner will get an account of another domain which have many users to make sure the final winning submission could meet following requirements:

  • Newly created users that need messages to be deleted at one time may include as many as 5000-8000 users.  Currently in these challenges, users have been creating or moving hundreds at a time.  This should be taken into consideration for timing when larger number of users are being moved.
  • Users moved from various OUs at one time may include as many as 5000-8000 users
  • Current use case is to delete the 3 welcome emails and inserting x number of new emails meaning 8000*3 = 24000 + (8000 * x) calls to the Gmail APIs.  This should be taken into account when configuring the task queues that will be used for this process.
  • This application should be built and configured to run as quickly as possible.  It is not expected that developers run this application against thousands of users, but detail what performance should be if and when it is.  
  • Ideally if 16000 users need emails are to be deleted and inserted the tool would finish within a couple hours.

AJAX:

This application makes extensive use of AJAX technique to avoid full-page refreshes.

The following is a general guideline for working with AJAX in this application:

$.ajax({
   url : "/search/auditRecords",
   type : "GET",
   success : function() {
       // Perform logic after success
       ...
   },

    error : function(request, status, error) {
       ...
   }
});

AJAX operations in specific JSPs are only explained with the URL to request, HTTP method, request data and operations to do after successful AJAX request.

1.3     Technology overview



Final Submission Guidelines

  • Source code and configuration files.
  • Deployment guide to configure and verify the application.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30049406