Difference between revisions of "Widgets"

From PS3 Developer wiki
Jump to: navigation, search
m (Description)
m (Description)
Line 3: Line 3:
 
Widgets was introduced in PS3 firmware [[2.00 CEX|2.00]] and was working officially up to [[2.80 CEX|2.80]] as a way to display dynamic web information in [[XMB]], are very dependant and managed by the [[Web Browser]]. The only official widget was named '''Information Board'''
 
Widgets was introduced in PS3 firmware [[2.00 CEX|2.00]] and was working officially up to [[2.80 CEX|2.80]] as a way to display dynamic web information in [[XMB]], are very dependant and managed by the [[Web Browser]]. The only official widget was named '''Information Board'''
  
In firmware [[3.00 CEX|3.00]] was disabled, and the files related with "Information Board" removed in [[3.40 CEX|3.40]] because his initial purpose of displaying dynamic web information was superceeded by [[Life_with_PlayStation|Life with PlayStation]] (in firmware [[2.40 CEX|2.40]]) and later by the "what's news" display mode (in firmware [[3.00 CEX|3.00]])
+
In firmware [[3.00 CEX|3.00]] was disabled, and the files related with "Information Board" was removed in [[3.40 CEX|3.40]] because his initial purpose of displaying dynamic web information was superceeded by the "What's New" display mode (in firmware [[3.00 CEX|3.00]])
  
 
*Notes
 
*Notes

Revision as of 11:28, 4 November 2018

Information Board Widget

Description

Widgets was introduced in PS3 firmware 2.00 and was working officially up to 2.80 as a way to display dynamic web information in XMB, are very dependant and managed by the Web Browser. The only official widget was named Information Board

In firmware 3.00 was disabled, and the files related with "Information Board" was removed in 3.40 because his initial purpose of displaying dynamic web information was superceeded by the "What's New" display mode (in firmware 3.00)

  • Notes
    • XMB loads all available widgets by using the function host://localhost/q? and the subclass x-host/widget (see: XMBML Functions), and are displayed using the class x-xmb/xmliboard (but the class x-xmb/xmliboard is not used anymore and has been replaced by x-xmb/xmlnpsignup). See: XMBML Coding
    • PSP introduced widgets in firmware 5.50 (the same information board inherited from PS3). This firmware update for PSP also had some improvements related with the web browser (Internet search for games directly from the XMB, Trend Micro Web Security, and Trend Micro Kids' Safety)

Information Board

It was posible to enable or disable the "information board" widget by pressing triangle over his icon in network column. The way that are build allows to add more widgets in a modular way (but was removed instead of adding more). For an overview of how the "information board" widget was working originally see the official user manual and the introduction at ps3explained.com

It seems the removal of the widgets support was made only partially (are still supported by loading the widget from external devices), so it should be possible to (re)create it, or to create custom widgets

Information Board QA Server: Off/On

Debug XMB loads the widget by using the view ID "root_info" and Query "host_provider_flash". Same than retail XMB, but debug needs this setting enabled. See: QA Flagging

Widgets related files

dev_flash/vsh/module

xai_plugin.sprx

This file was removed, see: xai_plugin

To use xai_plugin.sprx in a different firmware version is needed to resign the file with the keys of the firmware where is going to be used. In this example is used scetool for the resigning with the "template" option and the file explore_plugin_full.sprx taken from the modern firmware

Decrypt

Type This
scetool.exe -d xai_plugin.sprx xai_plugin_dec.prx

Encrypt

Type This
scetool.exe --template explore_plugin_full.sprx --sce-type=SELF --skip-sections=FALSE --compress-data=TRUE --encrypt xai_plugin_dec.prx xai_plugin_new.sprx

dev_flash/vsh/resource

explore_category_network.rco

There is a widget entry missing in the rcoxml ? (most probably a MList to create a side-menu). And the squared icon in this screenshot ?. And the text strings translated to all system Languages "Use" and "Do Not Display" in this screenshot ?

Codecode
<!-- Example needed -->

dev_flash/vsh/resource/explore/xmb

category_network.xml

Widget icons loaded by XMBML in Network column, widgets related segments was removed in firmware 3.00 by removing his <View id> and his attr

Codecode
<!-- Example needed -->

category_widget.xml

Widgets XMBML configuration file, this file exists in all firmwares with some segments disabled

Codecode
<!-- Example needed -->

dev_flash/vsh/resource/explore/icon

widget.png

widget.png

This file exists in firmwares since 2.00 up to 4.83. size 17205 bytes. MD5:5ed81a2c29a6514a4c3b9b72efc5b9f2

dev_flash/vsh/resource/xai

extensions.xml

Contains: extensions.entry.module=Widget and extensions.entry.plugin=xai_plugin

Codecode
<!-- Example needed -->

widgets.xml

Contains: xai.widget.url=/dev_hdd0/widget/npdrm/informationboard

Codecode
<!-- Example needed -->

dev_flash/vsh/resource/silk/data/

This files was removed in firmware 2.20 at the same time it was implemented the "silk_nas" Web Browser

CEHtmlBrowserApp.bin

Up to firmware 2.17 (and removed in 2.20) See: SILKPADD

CEHtmlBrowserAppXaiWidget.bin

Up to firmware 2.17 (and removed in 2.20) See: SILKPADD

dev_flash/vsh/resource/silk/etc

fontinfo-Xai.xml

Codecode
<!-- Example needed -->

dev_flash/vsh/resource/silk_nas/etc

fontinfo-Xai.xml

In firmwares since 2.20 up to 4.83. Size 3063 bytes. MD5:8C1102561C72A21B7866CC4D17D6EFBF

Codecode
<MicroBrowser>
  <key>FileFormatVersion</key>
  <integer>4</integer>
  <key>FontAlias</key>
  <dict>
	<key>Generic SansSerif</key>
	<string>sans-serif</string>

	<key>Generic Serif</key>
	<string>serif</string>

	<key>Generic Monospace</key>
	<string>monospace</string>

	<key>Courier</key>
	<string>monospace</string>

	<key>Helvetica</key>
	<string>sans-serif</string>

	<key>Times</key>
	<string>sans-serif</string>

	<key>Arial</key>
	<string>sans-serif</string>

	<key>Courier New</key>
	<string>monospace</string>

	<key>Microsoft Sans Serif</key>
	<string>sans-serif</string>

	<key>Tahoma</key>
	<string>sans-serif</string>

	<key>Times New Roman</key>
	<string>serif</string>

	<key>Verdana</key>
	<string>sans-serif</string>

	<key>MSゴシック</key>
	<string>sans-serif</string>

	<key>MS ゴシック</key>
	<string>sans-serif</string>

	<key>MS ゴシック</key>
	<string>sans-serif</string>

	<key>MSゴシック</key>
	<string>sans-serif</string>

	<key>MS P ゴシック</key>
	<string>sans-serif</string>

	<key>MS Pゴシック</key>
	<string>sans-serif</string>

	<key>MS P ゴシック</key>
	<string>sans-serif</string>

	<key>MS Pゴシック</key>
	<string>sans-serif</string>

	<key>MS P Gothic</key>
	<string>sans-serif</string>

	<key>MS UI Gothic</key>
	<string>sans-serif</string>

	<key>MS 明朝</key>
	<string>serif</string>

	<key>MS明朝</key>
	<string>serif</string>

	<key>MS 明朝</key>
	<string>serif</string>

	<key>MS明朝</key>
	<string>serif</string>

	<key>MS P 明朝</key>
	<string>serif</string>

	<key>MS P明朝</key>
	<string>serif</string>

	<key>MS P 明朝</key>
	<string>serif</string>

	<key>MS P明朝</key>
	<string>serif</string>

	<key>MS P Mincho</key>
	<string>serif</string>

	<key>新細明體</key>
	<string>serif</string>
	  
	<key>mingliu</key>
	<string>serif</string>
  </dict>
  <key>FontInfoLanguageList</key>
  <array>
	<string>en</string><!-- DEFAULT -->
	<string>en</string>
	<string>ja</string>
	<string>zh</string>
	<string>ko</string>
  </array>

  <key>DefaultGenericFontInfoList</key>
  <dict>
        <!-- ENGLISH -->
	<key>en</key>
	<dict>
	  <key>serif</key>
	  <array>
		<string>SCE-PS3 Matisse LATIN</string>
	  </array>

	  <key>sans-serif</key>
	  <array>
		<string>SCE-PS3 Rodin LATIN</string>
	  </array>

	  <key>default</key>
	  <array>
		<string>SCE-PS3 Rodin LATIN</string>
	  </array>
	</dict>

        <!-- JAPANESE -->
	<key>ja</key>
	<dict>

	  <key>cursive</key>
	  <array>
		<string>SCE-PS3 SEURAT JPN</string>
	  </array>

	  <key>fantasy</key>
	  <array>
		<string>SCE-PS3 SEURAT JPN</string>
	  </array>

	  <key>default</key>
	  <array>
      <string>SCE-PS3 Rodin LATIN</string>
      <string>SCE-PS3 NewRodin JPN</string>
	  </array>
	</dict>

	<key>zh</key>
	<dict>
	  <key>default</key>
	  <array>
		<string>DFHEIW5-A</string>
	  </array>
	</dict>
	
	<!-- KOREAN -->
	<key>ko</key>
	<dict>
	  
	  <key>default</key>
	  <array>
		<string>SCE-PS3 YD gd Medium</string>
	  </array>
	</dict>

  </dict>
</MicroBrowser>

dev_flash/vsh/resource/silk/xai/widgets/informationboard/

Information board main executable and settings files, removed in 3.00

rss.swf

Main widget window, in shockwave flash format

For a preview of how it works you can drag-and-drop the file to your PC webbrowser... or use a shockwave flash editor/player

Icon.png

widget icon identifyer

config.xml

config for rss.swf

Codecode
<?xml version="1.0" encoding="UTF-8"?>
<widget>
	<displayname>Information Board</displayname>
	<identifier>com.playstation.widget.RSSreader</identifier>
	<name>Information Board</name>
	<version>1.0.17</version>
	<closeboxinsetx>0</closeboxinsetx>
	<closeboxinsety>0</closeboxinsety>
	<height>676</height>
	<initialx>640</initialx>
	<initialy>140</initialy>
	<mainhtml>rss.swf</mainhtml>
	<width>451</width>
	<widgetkey>0000</widgetkey>
</widget>

setting.xml

RSS URL list by Target_ID, for non QA

Codecode
<?xml version="1.0" encoding="UTF-8"?> 
<items>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/a/country-select-uc2.xml">uc2</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/a/country-select-mx2.xml">mx2</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/e/country-select-au3.xml">au3</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/e/country-select-cek.xml">cek</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/e/country-select-cel.xml">cel</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/e/country-select-ru3.xml">ru3</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/as/country-select-kr2.xml">kr2</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/as/country-select-e12.xml">e12</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/as/country-select-tw1.xml">tw1</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/as/country-select-hk5.xml">hk5</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/j/country-select-j1.xml">j1</item>
	<item url="http://infoboard.ww.dl.playstation.net/download/infoboard/j/country-select-j1.xml">tool</item>
</items>

setting_qa.xml

RSS URL list by Target_ID, for QA

Codecode
<?xml version="1.0" encoding="UTF-8"?> 
<items>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/a/country-select-uc2.xml">uc2</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/a/country-select-mx2.xml">mx2</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/e/country-select-au3.xml">au3</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/e/country-select-cek.xml">cek</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/e/country-select-cel.xml">cel</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/e/country-select-ru3.xml">ru3</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/as/country-select-kr2.xml">kr2</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/as/country-select-e12.xml">e12</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/as/country-select-tw1.xml">tw1</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/as/country-select-hk5.xml">hk5</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/j/country-select-j1.xml">j1</item>
	<item url="http://infoboard.xx.dl.playstation.net/download/infoboard-qa/j/country-select-j1.xml">tool</item>
</items>

dev_flash/vsh/resource/silk/xai/widgets/informationboard/strings/

One folder named strings containing 16 files for languages named: infob_<language>.xml (e.g: infob_german.xml, infob_french.xml, etc...)

infob_<language>.xml

dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_chinese_simplified.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_chinese_traditional.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_danish.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_dutch.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_english.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_finnish.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_french.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_german.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_italian.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_japanese.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_korean.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_norwegian.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_portuguese.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_russian.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_spanish.xml
dev_flash/vsh/resource/silk/xai/widgets/informationboard/string/infob_swedish.xml

Example from infob_english.xml

Codecode
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE locale SYSTEM "locale.dtd">
<locale lang="en" encoding="utf16">
	<str id="msg_information_board_no_network">Notifications about PLAYSTATION® related topics are displayed when connected to a network.                To set not to display, go to [Network] &gt; [Information Board] and select [Do Not Display] from the options menu.</str><!--dtype="C"-->
	<str id="msg_information_board_no_network_list">Notifications about PLAYSTATION® related topics are displayed when connected to a network.&#xa;To set not to display, go to [Network] &gt; [Information Board] and select [Do Not Display] from the options menu.</str><!--dtype="C"-->
</locale>

dev_flash/vsh/resource/silk/xai/widgets/informationboard/<language>.lproj/

15 folders for different languages named <language>.lproj (e.g: German.lproj, French.lproj, etc...), every folder contains a file named InfoPlist.strings with the same data

dev_flash/vsh/resource/silk/xai/widgets/informationboard/da.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/Dutch.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/fi.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/French.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/German.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/Italian.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/Japanese.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/ko.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/nb.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/pt.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/ru.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/Spanish.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/sv.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/zh_CN.lproj/InfoPlist.strings
dev_flash/vsh/resource/silk/xai/widgets/informationboard/zh_TW.lproj /InfoPlist.strings

InfoPlist.strings

This is the displayed name of the widget (same file for all languages, except japanese, korean, and russian, because uses different characters)

Example:

CFBundleDisplayName = "Information Board";

dev_hdd0/widget/npdrm/informationboard

The existence of this path is a deduction because there is other file where it can be seen this is an alternative path to load widgets. The file contents on this path is unknown but most probably are the same files used in the informationboard directory under dev_flash, so the only difference is the device (dev_hdd0 instead of dev_flash), and the npdrm signature ?

  • Notes
    • Loaded by Query "host_provider_flash" using src="host://localhost/q?path=/dev_hdd0/widget/npdrm&suffix=informationboard&subclass=x-host/widget"
      • The src XMBML code in the line above means:
        • host://localhost/q? (this is a XMBML Function)
        • path=/dev_hdd0/widget/npdrm (the path where are located the files that are going to be loaded)
        • suffix=informationboard (in this case seems to be part of the path, also the name of the widget)
        • subclass=x-host/widget (indicates what to do with the files by his type)