none
launch a chat window from Office Communicator Custom Tab?

    Question

  • I have created a custom tab which displays information about media library content on the network.  On occasion, this media content may have a user associated with it.  I'd like to make that user's name a link which, when clicked, could launch a chat session using the Office Communicator application (in which the web tab is embedded).

    I see that OC can communicate to the tab via the "OnSelectionChange" javascript function call.  Is there any way that web content embedded in the tab can communicate to OC and have it launch a chat window?
    Tuesday, November 24, 2009 7:58 PM

Answers

  • Despite the tab displaying a web page it's not really a full browser window.  Most likely the function of interpreting the "SIP:" form of a link is not implemented in the control.

    One option you might try is to have the link in the tab be something like "http://launcher.domain.com?user=sip:user@domain.com" and have the page at "launcher.domain.com" use the IMessenger.InstantMessage() interface (Doc says that it is scriptable) from javascript on the page to launch the conversation.  
    Oscar Newkerk Consultant
    • Proposed as answer by Oscarn Thursday, November 26, 2009 1:37 AM
    • Marked as answer by SDRack Monday, November 30, 2009 8:43 PM
    Thursday, November 26, 2009 1:37 AM
  • I think that what you describe is going to do the trick.  It seems a little bit round-about but I unless another solution presents itself then it ought to work.

    I'm launching another page like you described and passing in the SIP address via query string.  Once the page is open in a full blown IE instance then a SIP:user@domain.com seems to work perfectly fine.  I have the launched page run a javascript on launch which does a window.open to the SIP address... that seems to function in my dev environment.  After a few seconds the window closes itself via a javascript timer.

    I would have used the IMessenger.InstantMessage() but I noticed that MS had posted that it is no longer supported in Vista.

    So, despite being an odd way to do it, I've achieved the functionality I'm looking for.

    I've also noticed that even if IE is not your default browser my Office Communicator seems to launch IE anyway.  This works in my favor as it cuts down anything weird happening with another browser.

    Thanks again for the help, it is greatly appreciated!
    • Marked as answer by SDRack Monday, November 30, 2009 8:43 PM
    Monday, November 30, 2009 8:42 PM

All replies

  • OnSelectionChange is pretty useless in OC 2007 R2 since that was disabled.  There was supposed to be a QFE to fix that, but I don't know if it has released yet.

    As far as launching an IM conversation from the tab, try using a link URI of the form: im:user@dominan.com  in the tab.



    Oscar Newkerk Consultant
    • Proposed as answer by Oscarn Tuesday, November 24, 2009 9:49 PM
    Tuesday, November 24, 2009 9:49 PM
  • Thanks for the tip Oscarn,

    I've tried using im:user@domain.com and that didn't seem to work, however I also tried sip:user@domain.com and that will actually launch a chat window when executed from a true IE browser.  When I click the link in the tab though nothing happens.  I'm curious if there is a security or registry setting to make that function.  The site is already part of the trusted sites list.  Any further hints?
    Tuesday, November 24, 2009 10:11 PM
  • Despite the tab displaying a web page it's not really a full browser window.  Most likely the function of interpreting the "SIP:" form of a link is not implemented in the control.

    One option you might try is to have the link in the tab be something like "http://launcher.domain.com?user=sip:user@domain.com" and have the page at "launcher.domain.com" use the IMessenger.InstantMessage() interface (Doc says that it is scriptable) from javascript on the page to launch the conversation.  
    Oscar Newkerk Consultant
    • Proposed as answer by Oscarn Thursday, November 26, 2009 1:37 AM
    • Marked as answer by SDRack Monday, November 30, 2009 8:43 PM
    Thursday, November 26, 2009 1:37 AM
  • I think that what you describe is going to do the trick.  It seems a little bit round-about but I unless another solution presents itself then it ought to work.

    I'm launching another page like you described and passing in the SIP address via query string.  Once the page is open in a full blown IE instance then a SIP:user@domain.com seems to work perfectly fine.  I have the launched page run a javascript on launch which does a window.open to the SIP address... that seems to function in my dev environment.  After a few seconds the window closes itself via a javascript timer.

    I would have used the IMessenger.InstantMessage() but I noticed that MS had posted that it is no longer supported in Vista.

    So, despite being an odd way to do it, I've achieved the functionality I'm looking for.

    I've also noticed that even if IE is not your default browser my Office Communicator seems to launch IE anyway.  This works in my favor as it cuts down anything weird happening with another browser.

    Thanks again for the help, it is greatly appreciated!
    • Marked as answer by SDRack Monday, November 30, 2009 8:43 PM
    Monday, November 30, 2009 8:42 PM
  • Just to add to this, I've found another way which provides the full functionality of "Call, Chat" etc.  It also displays presence information in the form of the typical green or red dot.  It will make your tab look more like a normal OC interface. 

    There is a dll on the client side which can be accessed in an IE browser to launch a chat. This works in an OC tab as well. Here is a link to the MS site describing the "NameCtrl Control":

    http://msdn.microsoft.com/en-us/library/ms455335.aspx

    Here is a link to a blog displaying some sample implementation code:

    http://programmerramblings.blogspot.com/2008/03/add-messenger-presence-to-web-pages.html

    Looks like they expect you to use it with a mouseover function as it seems to disappear after you use it.

    Like I said, it is IE only, but if you are stuck working in an OC tab then IE (or whatever subset of IE the tab is) is what you have already.

    Tuesday, December 01, 2009 9:54 PM