Migrating SSSP to Tizen

This topic describes the differences between the SSSP APIs and the Tizen Samsung Product APIs introduced in Tizen 6.5, and how to convert your SSSP Web applications to Tizen Web applications.


Related Info


Starting with Tizen 6.5, Samsung is not releasing any further enhancements to the Samsung Smart Signage Platform (SSSP), and the SSSP is going to be deprecated starting with Tizen 8.0. To fulfill the needs of Samsung signage partners and to replace the SSSP, Samsung has launched new Tizen Samsung Product APIs in Tizen 6.5. These new Tizen APIs are extensions of the Tizen Web Device API.

This guide describes the differences between the SSSP APIs and the Tizen Samsung Product APIs in the followig sections.

New Samsung Product APIs

Tizen 6.5 includes the following new APIs:

These APIs provide similar features as the SSSP except for functionalities not supported in Samsung devices based on Tizen 6.5. Some features, especially getting network information, are performed via the already existing Tizen Samsung Product APIs. For more details, see SSSP API vs. Tizen Samsung Product API and the API references.

Privileges

To use security-sensitive APIs, you must declare the required privileges and sign your application with a certificate for the appropriate privilege level. The new Tizen Samsung Product APIs are all partner-privileged APIs and you need to add their privileges to the "config.xml" file when developing applications. For the detailed privilege information and information on how to add privileges, see Configuring Web Applications.

Samsung Product API JavaScript File

The SSSP Web APIs are packaged as a JavaScript file separated from the Samsung Product APIs. The package file is called "b2bapis.js". The new APIs, on the other hand, are provided as a single JavaScript package file, called "webapis.js", with other Samsung Product APIs.

  • To use the SSSP APIs, "b2bapis.js" must be loaded in the "index.html" file:

    <script type="text/javascript" src="$B2BAPIS/b2bapis/b2bapis.js"></script>
    
  • To use the Samsung Product API, "webapis.js" needs to be loaded in "index.html" file:

    <script type="text/javascript" src="$WEBAPIS/webapis/webapis.js"></script>
    

API Differences

The following table shows the interface mapping between the SSSP API interfaces and the Tizen Web API interfaces.

Table 1. The SSSP API vs. the Tizen Web API
SSSP API Tizen API Since
B2BDoc API Document API

6.5
B2BControl API AvInfo API

2.3
Network API

2.3
ProductInfo API

2.3
RemotePower API

2.3
SystemControl API

6.5
Timer API

6.5
B2BSyncplay API Syncplay API

6.5
Table 1. SSSP APIs and corresponding Tizen Web APIs

B2BDoc API and Document API

The following table shows the methods mapping between the SSSP B2BDoc API and the Tizen Samsung Product Document API .

SSSP API Tizen API
b2bapis.b2bdoc.openDoc()

webapis.document.open()

b2bapis.b2bdoc.closeDoc()

webapis.document.close()

b2bapis.b2bdoc.playDoc()

webapis.document.play()

b2bapis.b2bdoc.stopDoc()

webapis.document.stop()

b2bapis.b2bdoc.prevPageDoc()

webapis.document.prevPage()

b2bapis.b2bdoc.nextPageDoc()

webapis.document.nextPage()

b2bapis.b2bdoc.gotoPageDoc()

webapis.document.gotoPage()

b2bapis.b2bdoc.pauseDoc()

webapis.document.pause()

b2bapis.b2bdoc.resumeDoc()

webapis.document.resume()

b2bapis.b2bdoc.setVerticalDoc()

webapis.document.setDocumentOrientation()

b2bapis.b2bdoc.gotoPageDoc()

webapis.document.gotoPage()

Table 2. B2BDoc API methods and corresponding Document API methods

B2BControl API and Tizen APIs

The following tabled shows the methods mapping between the SSSP B2BControl API and the Samsung Product AvInfo API, the Network API, the ProductInfo API, the RemotePower API, the SystemControl API, and the Timer API.

The new Tizen APIs corresponding to the SSSP B2BControl API provide following features:

  • Network control
  • Remote management
  • Power control
  • Firmware management
  • Time management

Network Control

SSSP API Tizen API
b2bapis.b2bcontrol.getMACAddress()

webapis.network.getMac()

b2bapis.b2bcontrol.getIPConfigType()

webapis.nework.getIpMode()

b2bapis.b2bcontrol.setIPConfigType()

webapis.nework.setIpMode()

b2bapis.b2bcontrol.getIPAddress()

webapis.network.getIp()

b2bapis.b2bcontrol.setIPAddress()

webapis.network.setIp()

b2bapis.b2bcontrol.getSubNetMask()

webapis.network.getSubnet()

b2bapis.b2bcontrol.setSubnetMask()

webapis.network.setSubnet()

b2bapis.b2bcontrol.getGatewayAddress()

webapis.network.getGateway()

b2bapis.b2bcontrol.setGatewayAddress()

webapis.network.setGateway()

b2bapis.b2bcontrol.getDNSServer()

webapis.network.getDns()

b2bapis.b2bcontrol.setDNSServer()

webapis.network.setDns()

b2bapis.b2bcontrol.getProxyserverInfo()

webapis.network.getProxyserverInfo()

b2bapis.b2bcontrol.setProxyserverInfo()

webapis.network.setProxyserverInfo()

Table 3. SSSP B2BControl API and Tizen API - Network control

Remote Management

SSSP API Tizen API
b2bapis.b2bcontrol.getSerialNumber()

webapis.systemcontrol.getSerialNumber()

b2bapis.b2bcontrol.getProductType()

Not supported
b2bapis.b2bcontrol.getLampSchedule()

webapis.systemcontrol.getScreenLampSchedule()

b2bapis.b2bcontrol.setLampSchedule()

webapis.systemcontrol.setScreenLampSchedule()

b2bapis.b2bcontrol.getIRLockStatus()

webapis.systemcontrol.getIRLock()

b2bapis.b2bcontrol.setIRLockOnOff()

webapis.systemcontrol.setIRLock()

b2bapis.b2bcontrol.getButtonLockStatus()

webapis.systemcontrol.getButtonLock()

b2bapis.b2bcontrol.setButtonLock()

webapis.systemcontrol.setButtonLock()

b2bapis.b2bcontrol.getPanelMuteStatus()

webapis.systemcontrol.getPanelMute()

b2bapis.b2bcontrol.setPanelMute()

webapis.systemcontrol.setPanelMute()

b2bapis.b2bcontrol.getSafetyLock()

webapis.systemcontrol.getSafetyLock()

b2bapis.b2bcontrol.setSafetyLock()

webapis.systemcontrol.setSafetyLock()

b2bapis.b2bcontrol.getMenuOrientation()

webapis.systemcontrol.getOnScreenMenuOrientation()

b2bapis.b2bcontrol.setMenuOrientation()

Not supported
b2bapis.b2bcontrol.getSourceOrientation()

webapis.systemcontrol.getSourceOrientation()

b2bapis.b2bcontrol.setSourceOrientation()

Not supported
b2bapis.b2bcontrol.getSafetyScreen()

b2bapis.b2bcontrol.setSafetyScreen()

b2bapis.b2bcontrol.getOsdMute()

webapis.systemcontrol.getMessageDisplay()

b2bapis.b2bcontrol.setOsdMute()

webapis.systemcontrol.setMessageDisplay()

b2bapis.b2bcontrol.getPCConnection()

webapis.systemcontrol.getPCConnection()

b2bapis.b2bcontrol.setPCConnection()

webapis.systemcontrol.setPCConnection()

b2bapis.b2bcontrol.getAlarmTemperature()

Not supported
b2bapis.b2bcontrol.setAlarmTemperature()

b2bapis.b2bcontrol.getSpeakerType()

webapis.avinfo.getSpeakerSelection()

b2bapis.b2bcontrol.setSpeakerType()

webapis.avinfo.setSpeakerSelection()

b2bapis.b2bcontrol.getCurrentTemperature()

webapis.tvinfo.getTvInfoValue("BOARD_TEMPERATURE")

b2bapis.b2bcontrol.startNodeServer()

Not supported
b2bapis.b2bcontrol.stopNodeServer()

b2bapis.b2bcontrol.collectLogs()

b2bapis.b2bcontrol.getSystemUpTime()

b2bapis.b2bcontrol.getNetPIP()

tizen.tvwindow.getSource()

b2bapis.b2bcontrol.setNetPIP()

Not supported
b2bapis.b2bcontrol.getURLLauncherAddress()

b2bapis.b2bcontrol.setURLLauncherAddress()

b2bapis.b2bcontrol.getURLLauncherTimeOut()

b2bapis.b2bcontrol.setURLLauncherTimeOut()

b2bapis.b2bcontrol.getMagicInfoServerUrl()

webapis.systemcontrol.getMagicinfoServerInfo()

b2bapis.b2bcontrol.setMagicInfoServerUrl()

webapis.systemcontrol.setMagicinfoServerInfo()

Table 4. SSSP B2BControl API and Tizen API - Remote management

Power Control

SSSP API Tizen API
b2bapis.b2bcontrol.setPowerOff()

webapis.remotepower.powerOff()

b2bapis.b2bcontrol.rebootDevice()

webapis.systemcontrol.rebootDevice()

b2bapis.b2bcontrol.getAutoPowerOn()

webapis.systemcontrol.getAutoPowerOn()

b2bapis.b2bcontrol.setAutoPowerOn()

webapis.systemcontrol.setAutoPowerOn()

b2bapis.b2bcontrol.getMaxPowerSaving()

Not supported
b2bapis.b2bcontrol.setMaxPowerSaving()

b2bapis.b2bcontrol.getEcoSensor()

webapis.avinfo.getEcoSensor()

b2bapis.b2bcontrol.setEcoSensor()

webapis.avinfo.setEcoSensor()

b2bapis.b2bcontrol.getEnergySavingMode()

webapis.avinfo.getEnergySaving()

b2bapis.b2bcontrol.setEnergySavingMode()

webapis.avinfo.setEnergySaving()

b2bapis.b2bcontrol.getNoSignalPowerOff()

Not supported
b2bapis.b2bcontrol.setNoSignalPowerOff()

b2bapis.b2bcontrol.getStandby()

b2bapis.b2bcontrol.setStandby()

b2bapis.b2bcontrol.getNetworkStandby()

webapis.systemcontrol.getRemoteConfiguration()

b2bapis.b2bcontrol.setNetworkStandby()

webapis.systemcontrol.setRemoteConfiguration()

Table 5. SSSP B2BControl API and Tizen API - Power control

Firmware Management

SSSP API Tizen API
b2bapis.b2bcontrol.getFirmwareVersion()

webapis.productinfo.getFirmware()

b2bapis.b2bcontrol.updateFirmware()

webapis.systemcontrol.updateFirmware()

b2bapis.b2bcontrol.setUpdateFirmwareProgressChangeListener()

webapis.systemcontrol.setUpdateFirmwareListener()

b2bapis.b2bcontrol.unsetUpdateFirmwareProgressChangeListener()

webapis.systemcontrol.unsetUpdateFirmwareListener()

Table 6. SSSP B2BControl API and Tizen API - Firmware management

Time Management

SSSP API Tizen API
b2bapis.b2bcontrol.getCurrentTime()

webapis.timer.getCurrentTime()

b2bapis.b2bcontrol.setCurrentTime()

webapis.timer.setCurrentTime()

b2bcontrol.getOnTimer()

webapis.timer.getOnTimer()

b2bapis.b2bcontrol.getOnTimerVolume()

b2bapis.b2bcontrol.getOnTimerRepeat()

b2bapis.b2bcontrol.setOnTimer()

webapis.timer.setOnTimer()

b2bapis.b2bcontrol.setOnTimerVolume()

b2bapis.b2bcontrol.setOnTimerRepeat()

b2bcontrol.getOffTimer()

webapis.timer.getOffTimer()

b2bapis.b2bcontrol.getOffTimerRepeat()

b2bapis.b2bcontrol.setOffTimer()

webapis.timer.setOffTimer()

b2bapis.b2bcontrol.setOffTimerRepeat()

b2bapis.b2bcontrol.getHolidayList()

webapis.timer.getTimerHoliday()

b2bapis.b2bcontrol.getHolidayToTimer()

b2bapis.b2bcontrol.setHolidayList()

webapis.timer.addHoliday()
webapis.timer.deleteHoliday()
webapis.imer.applyTimerHoliday()

b2bapis.b2bcontrol.setHolidayToTimer()

b2bapis.b2bcontrol.getDSTMode()

webapis.timer.getDST()

b2bapis.b2bcontrol.getDSTTimeOffset()

b2bapis.b2bcontrol.setDSTMode()

webapis.timer.setDST()

b2bapis.b2bcontrol.setDSTTimeOffset()

b2bapis.b2bcontrol.getNTPUse()

webapis.timer.getNTP()

b2bapis.b2bcontrol.getNTPServerAddress()

b2bapis.b2bcontrol.getCurrentTimeZone()

b2bapis.b2bcontrol.setNTPUse()

webapis.timer.setNTP()

b2bapis.b2bcontrol.setNTPServerAddress()

b2bapis.b2bcontrol.setCurrentTimeZone()

b2bapis.b2bcontrol.getSystemTimeSyncTimeout()

webapis.timer.getSystemTimeSyncTimeout()

b2bapis.b2bcontrol.setSystemTimeSyncTimeout()

webapis.timer.setSystemTimeSyncTimeout()

Table 7. SSSP B2BControl API and Tizen API - Time management

B2BSyncplay API and Syncplay API

The following table shows the methods mapping between the SSSP B2BSync API and the Samsung Product Syncplay API .

SSSP API Tizen API
b2bapis.b2bsyncplay.startSyncPlay()

webapis.syncplay.start()

b2bapis.b2bsyncplay.stopSyncPlay()

webapis.syncplay.stop()

b2bapis.b2bsyncplay.makeSyncPlayList()

webapis.syncplay.createPlaylist()

b2bapis.b2bsyncplay.clearSyncPlayList()

webapis.syncplay.removePlaylist()

Table 8. B2BSync API methods and corresponding Syncplay API methods

Prerequisites for Migration

  • To use the new Samune Product APIs, partner level certificate is required.
  • In "config.xml", set required_version to "6.5".
  • The "tv-samsung 6.5" profile is supported since Tizen Studio 4.5.1.
  • Add <script type='text/javascript' language='javascript' src='$WEBAPIS/webapis/webapis.js'></script> to "index.html" file.
  • Remove <script type="text/javascript" src="$B2BAPIS/b2bapis/b2bapis.js"> </script> from "index.html" file.
  • Replace the SSSP privileges with corresponding to new Samsung Product APIs in "config.xml".