Protocols/MSNP/Tabs

From NINA Wiki
Revision as of 13:24, 11 May 2022 by Animadoria (talk | contribs)
Jump to navigation Jump to search
MSNP Protocol
IntroductionTermsClients
Reference
Error ListCommandsRelying Party SuiteSpotlife
Services
XMPPHTTP GatewayTabsActivities
Documentation
Development ToolsMSNP Grid
PolygamyURLs used by MSN
Documents
Protocol Versions
Version 21
Version 18
Version 16
Version 15
Version 14
Version 13
Version 12
Version 11
Version 9
Version 8
Version 2
MSNC
IntroductionP2PObject DescriptorDisplay PicturesFile Transfer
Scenarios
Microsoft Messenger for Mac
MSNP on WebTV (MSNTV)

Tabs are embedded websites on the Messenger client, set by the server.


2009

By WLM 2009, tabs are retrieved in a completely different manner compared to how it was performed on versions 8.5 and below.

In WLM 2009 MsgrConfig:

<LocalizedConfig Market="fr-FR">
   ...
   <TabConfig>
      <slots>
         <URL id="1">
            http://rad.msn.com/ADSAdClient31.dll?GetAd=&PG=IMFFTA
         </URL>
         <URL id="2">
            http://rad.msn.com/ADSAdClient31.dll?GetAd=&PG=IMFFTB
         </URL>
         <URL id="3">
            http://rad.msn.com/ADSAdClient31.dll?GetAd=&PG=IMFFTC
         </URL>
         <URL id="4">
            http://rad.msn.com/ADSAdClient31.dll?GetAd=&PG=IMFFTD
         </URL>
         <URL id="5">
            http://rad.msn.com/ADSAdClient31.dll?GetAd=&PG=IMFFTE
         </URL>
         ...
      </slots>
   </TabConfig>
   ...
</LocalizedConfig>

LocalizedConfig now carries its own TabConfig node, which carries a slots node defining all URLs WLM must load to retrieve each individual tab configuration.

Each URL defined is expected to return the following response, which has a similar format to the old MsgrConfig tab nodes:

<?xml version="1.0" encoding="UTF-8" ?> 
<ads>
    <tabad>
        <image>http://example.com/path/to/image.png</image>
        <name>name</name>
        <type>type</type>
        <tooltip>tooltip</tooltip> 
        <contenturl>http://example.com/path/to/content</contenturl> 
        <hiturl>http://example.com/hiturl</hiturl> 
        <siteid>0</siteid> 
        <notificationid>0</notificationid> 
    </tabad>
</ads>

Important nodes to note are image, name, tooltip, contenturl, and hiturl:

  • image - Icon the tab will display on Messenger
  • name - Name of the tab’s content (presumably for when the content is opened)
  • tooltip - Text the tab will display in its tooltip
  • contenturl - URL to load content from for the tab
  • hiturl - Assumed to aid in tracking how many people access the tab

8.5 and prior

In 8.5 and prior's MsgrConfig, it gets TabConfig from the MsgrConfig itself.

<TabConfig>
    <msntabdata>
        <tab>
            <type>page</type>
            <contenturl>https://escargot.chat/forums/</contenturl>
            <hiturl>https://escargot.chat/forums/</hiturl>
            <image>http://storage.levelleap.com/nina/clients/msnp/tabicon/escargot.png</image>
            <name>Escargot Forums</name>
            <tooltip>Escargot Forums</tooltip>
            <siteid>0</siteid>
            <notificationid>0</notificationid>
        </tab>
        <tab>
            <type>page</type>
            <contenturl>http://m.facebook.com</contenturl>
            <hiturl>http://m.facebook.com</hiturl>
            <image>http://storage.levelleap.com/nina/clients/msnp/tabicon/facebook.png</image>
            <name>Facebook</name>
            <tooltip>Facebook</tooltip>
            <siteid>0</siteid>
            <notificationid>0</notificationid>
        </tab>
        <tab>
            <type>page</type>
            <contenturl>http://m.youtube.com</contenturl>
            <hiturl>http://m.youtube.com</hiturl>
            <image>http://storage.levelleap.com/nina/clients/msnp/tabicon/youtube.png</image>
            <name>YouTube</name>
            <tooltip>YouTube</tooltip>
            <siteid>0</siteid>
            <notificationid>0</notificationid>
        </tab>
        <tab>
            <type>page</type>
            <contenturl>http://msn.com/weather</contenturl>
            <hiturl>http://msn.com/weather</hiturl>
            <image>http://storage.levelleap.com/nina/clients/msnp/tabicon/msn-weather.png</image>
            <name>MSN Weather</name>
            <tooltip>MSN Weather</tooltip>
            <siteid>0</siteid>
            <notificationid>0</notificationid>
        </tab>
    </msntabdata>
    <msntabsettings>
        <oemdisplaylimit>1</oemdisplaylimit>
        <oemtotallimit>1</oemtotallimit>
    </msntabsettings>
</TabConfig>