Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: EE-4.0.0.GA
    • Component/s: None
    • Labels:
      None
    • Environment:
      ICEpush, SMS
    • Assignee Priority:
      P1
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial

      Description

      It should be possible for Cloud Push to use SMS as a notification mechanism.

        Activity

        Ted Goddard created issue -
        Ted Goddard made changes -
        Field Original Value New Value
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Ken Fyten made changes -
        Issue Type Bug [ 1 ] New Feature [ 2 ]
        Deryk Sinotte made changes -
        Assignee Priority P1 [ 10010 ]
        Ken Fyten made changes -
        Affects Documentation (User Guide, Ref. Guide, etc.),Sample App./Tutorial [ 10003, 10001 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33773 Tue Mar 05 14:14:02 MST 2013 deryk.sinotte PUSH-221: adding SMS registration page to mediacast demo
        Files Changed
        Commit graph ADD /icemobile/trunk/icemobile/samples/mediacast/src/main/webapp/smsnotify.xhtml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33778 Tue Mar 05 15:59:44 MST 2013 deryk.sinotte PUSH-221: adjust build so that -Daws="true" property will add Amazon library and dependencies to the sample application
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/samples/build/common-jsf.xml
        Hide
        Deryk Sinotte added a comment -

        I've committed the changes for the AmazonSNSNotificationProvider class (including libraries and build changes) and documented it here:

        http://wiki.icesoft.com/display/notify/Amazon+SNS

        Not moving on to looking at a pure SMS Gateway provider (likely Twilio).

        Show
        Deryk Sinotte added a comment - I've committed the changes for the AmazonSNSNotificationProvider class (including libraries and build changes) and documented it here: http://wiki.icesoft.com/display/notify/Amazon+SNS Not moving on to looking at a pure SMS Gateway provider (likely Twilio).
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33808 Wed Mar 06 16:08:06 MST 2013 deryk.sinotte PUSH-221: improve build logic for conveniently adding 3rd party libraries in EE version
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/samples/build/common.xml
        Commit graph MODIFY /icemobile/trunk/icemobile/samples/build/common-jsf.xml
        Commit graph DEL /icemobile/trunk/icemobile/lib/aws
        Hide
        Ted Goddard added a comment -

        Steve mentioned that the SMS message should be able to launch the browser, such as by containing a URL. Launching the browser is implicit with the other notification types, so it is possible that this URL should be included in the SMS message by default.

        Show
        Ted Goddard added a comment - Steve mentioned that the SMS message should be able to launch the browser, such as by containing a URL. Launching the browser is implicit with the other notification types, so it is possible that this URL should be included in the SMS message by default.
        Hide
        Deryk Sinotte added a comment -

        Are you saying we have a single "static" URL that should be included in all SMS message by default? Or that cloud notification messages will contain a URL? Trying to determine where the work should be done:

        • During construction of the actual message? This is generally outside the responsibility of the NotificationProvider as it is just passing on the message it received.
        • Appended to the message by the NotificationProvider. This would imply that the URL is either known or can be retrieved/assembled somehow.
        Show
        Deryk Sinotte added a comment - Are you saying we have a single "static" URL that should be included in all SMS message by default? Or that cloud notification messages will contain a URL? Trying to determine where the work should be done: During construction of the actual message? This is generally outside the responsibility of the NotificationProvider as it is just passing on the message it received. Appended to the message by the NotificationProvider. This would imply that the URL is either known or can be retrieved/assembled somehow.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33828 Thu Mar 07 11:56:43 MST 2013 deryk.sinotte PUSH-221: remove use of mappedResources as they require Ant 1.8
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/samples/build/common.xml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33829 Thu Mar 07 12:20:08 MST 2013 deryk.sinotte PUSH-221: add back the mappedResources technique as mobile builds can now use Ant 1.8
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/samples/build/common.xml
        Hide
        Ted Goddard added a comment -

        The URL in the SMS message will need to launch the on-device browser to the page appropriate for the notification. We will need to look at the mechanism to capture this state. Options:

        • provide URL during push request (does not entirely make sense since a given push request does not necessarily apply to a particular page)
        • captured during listen.icepush (store the referrer for the listen.icepush or provide a parameter for this)

        If the URL is included in the SMS it must be short, so in keeping with NAAS (Notification as a service) we may need our own URL shortening service).

        Show
        Ted Goddard added a comment - The URL in the SMS message will need to launch the on-device browser to the page appropriate for the notification. We will need to look at the mechanism to capture this state. Options: provide URL during push request (does not entirely make sense since a given push request does not necessarily apply to a particular page) captured during listen.icepush (store the referrer for the listen.icepush or provide a parameter for this) If the URL is included in the SMS it must be short, so in keeping with NAAS (Notification as a service) we may need our own URL shortening service).
        Hide
        Deryk Sinotte added a comment -

        I've checked in the Twilio provider code and libraries as well as updated the two Wiki pages with information:

        http://wiki.icesoft.com/display/ICEmobileEE/Cloud+Push+web.xml+Configuration
        http://wiki.icesoft.com/display/notify/Twilio+SMS

        As a short-term "primitive" feature, Twilio will look for a context parameter that can be set as a return link. This link will be included in the message so that clicking on it can return you to some part of the application. This is obviously not the final way we want to do it but it makes it easy to play around with.

        Show
        Deryk Sinotte added a comment - I've checked in the Twilio provider code and libraries as well as updated the two Wiki pages with information: http://wiki.icesoft.com/display/ICEmobileEE/Cloud+Push+web.xml+Configuration http://wiki.icesoft.com/display/notify/Twilio+SMS As a short-term "primitive" feature, Twilio will look for a context parameter that can be set as a return link. This link will be included in the message so that clicking on it can return you to some part of the application. This is obviously not the final way we want to do it but it makes it easy to play around with.
        Hide
        Deryk Sinotte added a comment -

        So we've gone with a REST-style approach to using Twilio rather than use the client. I've also copied over our existing Base64 utility for doing the encoding. This eliminates the 3rd party libraries we need to depend on/include as well as making it JDK 1.5 compatible so that the builds won't complain.

        Show
        Deryk Sinotte added a comment - So we've gone with a REST-style approach to using Twilio rather than use the client. I've also copied over our existing Base64 utility for doing the encoding. This eliminates the 3rd party libraries we need to depend on/include as well as making it JDK 1.5 compatible so that the builds won't complain.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #34014 Thu Mar 21 17:15:34 MDT 2013 ted.goddard SMS capability for ICEmobile-SX/Container (PUSH-221)
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/ICEmobile-SX/ViewController.m
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/Shared/NativeInterface.m
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/ICEmobile-SX.xcodeproj/project.pbxproj
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/Shared/NativeInterface.h
        Hide
        Ted Goddard added a comment -

        Button code to exercise ICEmobile-SX SMS feature (modify n and body parameters, data-id and data-jsessionid are likely not necessary):

        <button name="sms_button" type="button" data-id="mess" data-jsessionid="909AD4EED5633CEB702823D225BC7387"
        data-params="n=5551212&body=Test%20sms."
        class="mobi-button" data-command="sms" onclick="ice.mobi.sx(this)" >Send SMS</button>

        Show
        Ted Goddard added a comment - Button code to exercise ICEmobile-SX SMS feature (modify n and body parameters, data-id and data-jsessionid are likely not necessary): <button name="sms_button" type="button" data-id="mess" data-jsessionid="909AD4EED5633CEB702823D225BC7387" data-params="n=5551212&body=Test%20sms." class="mobi-button" data-command="sms" onclick="ice.mobi.sx(this)" >Send SMS</button>
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #34037 Fri Mar 22 11:34:09 MDT 2013 ted.goddard SMS capability for ICEmobile-SX/Container (PUSH-221)
        Files Changed
        Commit graph MODIFY /icemobile/trunk/icemobile/client/ios/icemobile/ICEmobile.xcodeproj/project.pbxproj
        Ted Goddard made changes -
        Fix Version/s 3.4 [ 10971 ]
        Fix Version/s 3.3 [ 10374 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #34550 Thu Apr 25 17:34:44 MDT 2013 deryk.sinotte PUSH-221: some tweaks to allow server side registration of notification providers to work
        Files Changed
        Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/PushGroupManager.java
        Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java
        Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/NoopPushGroupManager.java
        Commit graph MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/BlockingConnectionServer.java
        Hide
        Deryk Sinotte added a comment -

        I've checked in the chat-sms sample application. I also created a separate JIRA (PUSH-233) for the server-side API we would like to replace the logic we have in there now.

        Show
        Deryk Sinotte added a comment - I've checked in the chat-sms sample application. I also created a separate JIRA ( PUSH-233 ) for the server-side API we would like to replace the logic we have in there now.
        Ken Fyten made changes -
        Fix Version/s EE-4.0.0.GA [ 11170 ]
        Fix Version/s 4.0.BETA [ 10971 ]
        Hide
        Deryk Sinotte added a comment -

        Resolving as completed. May still need verification as per PUSH-233.

        Show
        Deryk Sinotte added a comment - Resolving as completed. May still need verification as per PUSH-233 .
        Deryk Sinotte made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Deryk Sinotte
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: