Widgets: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
==About Widgets==
<div style="float:right">[[File:Widgets (information board - news).jpg|600px|thumb|right|Information Board Widget]]</div>
Widgets was introduced in PS3 firmware 2.00 as a way to display dynamic information from web servers in [[XMB]], are very dependant and managed by the [[Web Browser]]
==Description==
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'''


The only official widget (included between firmwares 2.00 and 3.00) was called '''Information Board'''.
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]])
 
In firmware 3.00 widgets was removed because his initial purpose of displaying dynamic content was superceeded by [[Life_with_PlayStation|Life with PlayStation]] (in firmware 2.40) and later by the "what's news" display mode (in firmware 3.00)


*Notes
*Notes
**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). See: http://blog.us.playstation.com/2009/04/20/psp-firmware-v550-update/
**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===
===Information Board===
It was posible to enable or disable '''Information board''' by pressing triangle over his icon in network column. The way is built allowed them to add more widgets in case was needed (but never happened, they removed it instead of adding more). For an overview of how was working originally see:
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 [http://manuals.playstation.net/document/en/ps3/current/informationboard/informationboard.html official user manual]
*http://manuals.playstation.net/document/en/ps3/current/informationboard/informationboard.html
*http://ps3explained.com/beginner/using-the-information-board/
 
The removal of this widget was made only partially! (are still supported by loading the widget from external devices), so it should be possible to (re)create it, if not create even more widgets to add to the XMB experience of the user.
 
The widget management was well integrated in the firmware, so there is a list of files/functions/calls related with them:
 


Other settings related with widgets:
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''' (see: [[QA_Flagging]]). 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
* 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]]


<GALLERY>
<GALLERY>
File:Widgets (information board - use).jpg|Widgets (information board - use)
File:Widgets (information board - use).jpg|Information Board Widget<br>ON/OFF
File:Widgets (information board - tab).jpg|Widgets (information board - tab)
File:Widgets (information board - tab).jpg|Information Board Widget<br>Tab
File:Widgets (information board - news).jpg|Widgets (information board - news)
File:Widgets (information board - news).jpg|Information Board Widget<br>News
</GALLERY>
</GALLERY>


====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==
==Widgets related files==
===In dev_flash===
===dev_flash/vsh/module===
====xai_plugin.sprx====
This file was removed, see: [[xai_plugin]] <!-- and xai_plugin.rco was removed too ? -->
 
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''
{{keyboard|content=scetool.exe -d xai_plugin.sprx xai_plugin_dec.prx}}
''Encrypt''
{{keyboard|content=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====
===dev_flash/vsh/resource===
=====explore_category_network.rco=====
====explore_category_network.rco====
There is a widget entry missing in the xml
There is a widget entry missing in the [[RCOXML Objects|rcoxml]] ? (most probably a MList to create a side-menu). And the squared icon in [http://www.psdevwiki.com/ps3/File:Widgets_(information_board_-_use).jpg this screenshot] ?. And the text strings translated to all system [[Languages]] "Use" and "Do Not Display" in [http://www.psdevwiki.com/ps3/File:Widgets_(information_board_-_use).jpg this screenshot] ?
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<!-- Example needed -->
<!-- Example needed -->
</syntaxhighlight>}}
</syntaxhighlight>}}


====dev_flash/vsh/resource/explore/xmb====
===dev_flash/vsh/resource/explore/xmb===
=====category_widget.xml=====
====category_network.xml====
Widgets XMB configuration file, this file exists in all firmwares with some segments disabled
Widget icons loaded by [[XMBML Files|XMBML]] in Network column, widgets related segments was removed in firmware 3.00 by removing his <View id> and his attr
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<!-- Example needed -->
<!-- Example needed -->
</syntaxhighlight>}}
</syntaxhighlight>}}


=====category_network.xml=====
====category_widget.xml====
Widget icons loaded by XMB in Network column, widgets related segments was removed in firmware 3.00 by removing his <View id> and his attr
Widgets [[XMBML Files|XMBML]] configuration file, this file exists in all firmwares with some segments disabled
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<!-- Example needed -->
<!-- Example needed -->
</syntaxhighlight>}}
</syntaxhighlight>}}


====dev_flash/vsh/resource/explore/icon====
===dev_flash/vsh/resource/explore/icon===
=====widget.png=====
<div style="float:right">[[File:Widget.png|64px|thumb|right|widget.png]]</div>
widget configuration icon, this file exists in all firmwares
====widget.png====
This file exists in firmwares since [[2.00 CEX|2.00]] up to [[4.83 CEX|4.83]]. size 17205 bytes. MD5:5ed81a2c29a6514a4c3b9b72efc5b9f2


====dev_flash/vsh/resource/silk/xai====
===dev_flash/vsh/resource/xai===
=====extensions.xml=====
====extensions.xml====
Contains: extensions.entry.module=Widget and extensions.entry.plugin=xai_plugin
Contains: extensions.entry.module=Widget and extensions.entry.plugin=xai_plugin
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
Line 64: Line 67:
</syntaxhighlight>}}
</syntaxhighlight>}}


====dev_flash/vsh/resource/silk/etc====
====widgets.xml====
=====fontinfo-Xai.xml=====
Contains: xai.widget.url=/dev_hdd0/widget/npdrm/informationboard
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<!-- Example needed -->
<!-- Example needed -->
</syntaxhighlight>}}
</syntaxhighlight>}}


====dev_flash/vsh/resource/silk_nas/etc====
===dev_flash/vsh/resource/silk/bin/===
=====fontinfo-Xai.xml=====
 
====CEHtmlBrowserAppXaiWidget.xmi====
Since firmware [[1.00 CEX|1.00]] up to [[2.17 CEX|2.17]] and removed in [[2.20 CEX|2.20]]
{| class="wikitable" style="font-size:x-small;"
|+CEHtmlBrowserAppXaiWidget.xmi versions
! Version !! Size !! MD5 !! Remarks
|-
| [[1.02 CEX|1.02]]~[[2.17 CEX|2.17]] || style="text-align:right;" | 1.356 || style="font-family:monospace;" | C7C2EF2CB10426754651B478C6BE94EC || removed in [[2.20 CEX|2.20]]
|}
 
*Example: CEHtmlBrowserAppXaiWidget.xmi [[1.02 CEX|1.02]]~[[2.17 CEX|2.17]]
<div style="height:500px; margin:auto; overflow:auto">
{{Boxcode|content=<syntaxhighlight lang="xml">
<MicroBrowser>
 
<key>WindowSystemPeerLibraryName</key>
<string>wsysLibX</string>
 
<key>FontPeerLibraryName</key>
<string>cepffreetype</string>
 
<key>BtX2Mode</key>
<boolean>false</boolean>
 
<key>DisabledJavascript</key>
<boolean>false</boolean>
 
<key>NowrapEnabledFlag</key>
<boolean>true</boolean>
 
<key>TVEnabledFlag</key>
<boolean>false</boolean>
 
<key>HomepageURL</key>
<string>file:///app_home/flash0/vsh/resource/silk/site/index.html</string>
 
<key>NoAnimatedGifFlag</key>
<boolean>false</boolean>
 
<key>Focus2DNavigationFlag</key>
<boolean>true</boolean>
 
<key>SoftKeyboardFlag</key>
<boolean>false</boolean>
 
<key>SoftKeyboardType</key>
<integer>0</integer>
 
<key>XP1BitRendering</key>
<boolean>false</boolean>
 
<key>EnabledSSLv2</key>
<boolean>true</boolean>
 
<key>EnabledSSLv3</key>
<boolean>true</boolean>
 
<key>EnabledTLSv1</key>
<boolean>true</boolean>
 
<key>FocusRectWidth</key>
<integer>2</integer>
 
<key>FocusRectColor</key>
<string>255,0,0</string>
 
<key>FocusRectStyle</key>
<integer>128</integer>
 
<key>ScrollbarWidth</key>
<integer>16</integer>
 
<key>UseProxy</key>
<boolean>false</boolean>
                                                                                                   
<key>ProxyHost</key>
<string>43.22.253.65</string>
                         
<key>ProxyPort</key>
<integer>10080</integer>
 
</MicroBrowser>
</syntaxhighlight>}}
</div>
 
===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====
Since firmware [[1.00 CEX|1.00]] up to [[2.17 CEX|2.17]] and removed in [[2.20 CEX|2.20]]. See: [[SILKPADD]]
{| class="wikitable" style="font-size:x-small;"
|+CEHtmlBrowserApp.bin versions
! Version !! Size !! MD5 !! Remarks
|-
| [[1.02 CEX|1.02]]~[[2.17 CEX|2.17]] || style="text-align:right;" | 54.013 || style="font-family:monospace;" | 2BC8ACF9A9952AEB6F1A181357E6648F || Removed in [[2.20 CEX|2.20]]
|}
 
====CEHtmlBrowserAppXaiWidget.bin====
Since firmware [[1.00 CEX|1.00]] up to [[2.17 CEX|2.17]] and removed in [[2.20 CEX|2.20]]. See: [[SILKPADD]]
{| class="wikitable" style="font-size:x-small;"
|+CEHtmlBrowserAppXaiWidget.bin versions
! Version !! Size !! MD5 !! Remarks
|-
| [[1.02 CEX|1.02]]~[[2.17 CEX|2.17]] || style="text-align:right;" | 53.985 || style="font-family:monospace;" | 493DD038DE219DAAA543A014410DB0A6 || Removed in [[2.20 CEX|2.20]]
|}
 
===dev_flash/vsh/resource/silk/etc===
====fontinfo-Xai.xml====
There are 3 versions of this file used by the original '''silk''' web browser (introduced since firmware [[1.00 CEX|1.00]]), the next web browsers '''silk_nas''' (introduced in firmware [[2.20 CEX|2.20]]) and '''silk_webkit''' (introduced at firmware [[4.10 CEX|4.10]]) uses a copy of the fontinfo-Xai.xml from the original '''silk'''
 
{| class="wikitable" style="font-size:x-small;"
|+fontinfo-Xai.xml versions
! Version !! Size !! MD5 !! Notes
|-
| [[1.02 CEX|1.02]] || style="text-align:right;" | 2.941 || style="font-family:monospace;" | 7B818169AFF8E9426D3C57C52BC8E766 ||
|-
| [[1.10 CEX|1.10]]~[[2.60 CEX|2.60]] || style="text-align:right;" | 3.063 || style="font-family:monospace;" | 8C1102561C72A21B7866CC4D17D6EFBF || Used also by '''silk_nas''' [[2.20 CEX|2.20]]~[[4.83 CEX|4.83]]
|-
| [[2.70 CEX|2.70]]~[[4.83 CEX|4.83]] || style="text-align:right;" | 3.135 || style="font-family:monospace;" | 4B1566F692B8348F89E9132B56C40EBD || Used also by '''silk_webkit''' [[4.10 CEX|4.10]]~[[4.83 CEX|4.83]]
|}
 
Example: fontinfo-Xai.xml [[1.02 CEX|1.02]]
<div style="height:500px; margin:auto; overflow:auto">
{{Boxcode|content=<syntaxhighlight lang="xml">
<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>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>
 
        <!-- KOREAN -->
<key>ko</key>
<dict>
 
  <key>default</key>
  <array>
<string>SCE-PS3 YD gd Medium</string>
  </array>
</dict>
 
  </dict>
</MicroBrowser>
</syntaxhighlight>}}
</div>
 
Example: fontinfo-Xai.xml [[1.10 CEX|1.10]]~[[2.60 CEX|2.60]] (added new language '''zh''' with .ttf font '''DFHEIW5-A''')
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<!-- Example needed -->
<MicroBrowser>
  <key>FontInfoLanguageList</key>
  <array>
<string>zh</string>
  </array>
  <dict>
<key>zh</key>
<dict>
  <key>default</key>
  <array>
<string>DFHEIW5-A</string>
  </array>
</dict>
  </dict>
</MicroBrowser>
</syntaxhighlight>}}
</syntaxhighlight>}}


=====widgets.xml=====
Example: fontinfo-Xai.xml [[2.70 CEX|2.70]]~[[4.83 CEX|4.83]] (added new .ttf font '''SCE-PS3 Rodin LATIN2''' for english and japanese defaults)
contains: xai.widget.url=/dev_hdd0/widget/npdrm/informationboard)
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<!-- Example needed -->
<MicroBrowser>
  <key>DefaultGenericFontInfoList</key>
  <dict>
<key>en</key>
<dict>
  <key>default</key>
  <array>
<string>SCE-PS3 Rodin LATIN2</string>
  </array>
</dict>
<key>ja</key>
<dict>
  <key>default</key>
  <array>
<string>SCE-PS3 Rodin LATIN2</string>
  </array>
</dict>
  </dict>
</MicroBrowser>
</syntaxhighlight>}}
</syntaxhighlight>}}


====dev_flash/vsh/resource/silk/xai/widgets/informationboard/====
===dev_flash/vsh/resource/silk/xai/widgets/informationboard/===
Information board main executable and settings files, removed in 3.00


=====rss.swf=====
====Icon.png====
Main widget window, in shockwave flash format
<div style="float:right">[[File:Widget Icon.png|100px|thumb|right|Icon.png]]</div>
widget [[XMB]] icon


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
{| class="wikitable" style="font-size:x-small;"
|+Icon.png versions
! Version !! Size !! MD5 !! Notes
|-
| [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 16.506 || style="font-family:monospace;" | 4A7865D6E3C95C2098214C52A20C73CF || added in [[2.00 CEX|2.00]], removed in [[3.40 CEX|3.40]]
|}


=====Icon.png=====
====config.xml====
widget icon identifyer


=====config.xml=====
{| class="wikitable" style="font-size:x-small;"
config for rss.swf
|+config.xml versions
! Version !! Size !! MD5 !! Notes
|-
| [[2.00 CEX|2.00]]~[[2.17 CEX|2.17]] || style="text-align:right;" | 447 || style="font-family:monospace;" | F47704B937E193BF093D14A1EB1BE2F2 || added in [[2.00 CEX|2.00]]
|-
| [[2.20 CEX|2.20]]~[[2.36 CEX|2.36]] || style="text-align:right;" | 447 || style="font-family:monospace;" | D07FF7832F6860F4836FC48D84BC3C11 ||
|-
| [[2.40 CEX|2.40]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 446 || style="font-family:monospace;" | 7B9689660000FD291E80B1B37233D0AF || removed in [[3.40 CEX|3.40]]
|}


Example: config.xml [[2.00 CEX|2.00]]~[[2.17 CEX|2.17]]
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
Line 114: Line 454:
</syntaxhighlight>}}
</syntaxhighlight>}}


=====setting.xml=====
Example: config.xml [[2.20 CEX|2.20]]~[[2.36 CEX|2.36]] (the example below only shows the changes)
RSS URL list by [[Target_ID]], for non QA flagged consoles
{{Boxcode|content=<syntaxhighlight lang="xml">
<version>1.0.18</version>
</syntaxhighlight>}}
 
Example: config.xml [[2.40 CEX|2.40]]~[[3.30 CEX|3.30]] (the example below only shows the changes)
{{Boxcode|content=<syntaxhighlight lang="xml">
<initialy>70</initialy>
</syntaxhighlight>}}
 
====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. There are 4 versions of this file:
 
{| class="wikitable" style="font-size:x-small;"
|+rss.swf versions
! Version !! Size !! MD5 !! Notes
|-
| [[2.00 CEX|2.00]] || style="text-align:right;" | 26.696 || style="font-family:monospace;" | 02C716D84790374294AB11AD5CEBF3DD || added in [[2.00 CEX|2.00]]
|-
| [[2.01 CEX|2.01]] || style="text-align:right;" | 26.707 || style="font-family:monospace;" | 50963C30BBAA23449B1CB120699EDD20 ||
|-
| [[2.10 CEX|2.10]]~[[2.17 CEX|2.17]] || style="text-align:right;" | 26.741 || style="font-family:monospace;" | B4A8EB9960DAB44F654B370D8B97083B ||
|-
| [[2.20 CEX|2.20]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 28.749 || style="font-family:monospace;" | F36212A8B66226655ACD64CF9E462186 || removed in [[3.40 CEX|3.40]]
|}
 
====setting.xml====
RSS URL list by [[Target_ID]], for non QA
 
{| class="wikitable" style="font-size:x-small;"
|+setting.xml versions
! Version !! Size !! MD5 !! Notes
|-
| [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 1.344 || style="font-family:monospace;" | ACAEE5D6C9B174FE558B721A03022F94 || added in [[2.00 CEX|2.00]], removed in [[3.40 CEX|3.40]]
|}
 
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>  
<?xml version="1.0" encoding="UTF-8"?>  
Line 134: Line 508:
</syntaxhighlight>}}
</syntaxhighlight>}}


=====setting_qa.xml=====
====setting_qa.xml====
RSS URL list by [[Target_ID]], for QA flagged consoles
RSS URL list by [[Target_ID]], for QA
 
{| class="wikitable" style="font-size:x-small;"
|+setting_qa.xml versions
! Version !! Size !! MD5 !! Notes
|-
| [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 1.380 || style="font-family:monospace;" | B49C94FDE6385E5CA03D9CFDAFA53F47 || added in [[2.00 CEX|2.00]], removed in [[3.40 CEX|3.40]]
|}
 
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>  
<?xml version="1.0" encoding="UTF-8"?>  
Line 154: Line 536:
</syntaxhighlight>}}
</syntaxhighlight>}}


=====strings folder=====
===dev_flash/vsh/resource/silk/xai/widgets/informationboard/<language>.lproj/===
1 folder named '''strings''' containing 16 files for languages named: informationboard_<language>.xml (e.g: informationboard_german.xml, informationboard_french.xml, etc...). Example from informationboard_english.xml
15 folders named '''<language>.lproj''' for different languages (e.g: da.lproj, Dutch.lproj, etc...), and every folder contains a text file named '''InfoPlist.strings'''
 
See: [https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/Articles/Localization.html .lproj localization] in Mac widgets
 
====InfoPlist.strings====
The file contains the name of the widget in a single text line, is the same file for all languages except: japanese, korean, and russian
 
{| class="wikitable" style="font-size:x-small;"
|+ dev_flash\vsh\resource\silk\xai\widgets\informationboard\
! Folder || File !! Version !! Size !! MD5 !! Example
|-
| da.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]] || style="text-align:right;" rowspan="12" | 42 || style="font-family:monospace;" rowspan="12" | 5BEB6E9B277784341D1C0722432CF248 || rowspan="12" | <div style="float:left; width:100%; background:#e5e5ff; border:3px ridge #8888ff;"><div style="margin:10px;"><syntaxhighlight lang="c">CFBundleDisplayName = "Information Board";</syntaxhighlight></div></div>
|-
| Dutch.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| fi.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| French.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| German.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| Italian.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| nb.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| pt.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| Spanish.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| sv.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| zh_CN.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| zh_TW.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]]
|-
| Japanese.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 61 || style="font-family:monospace;" | 353290330A59BCD35A0CDD579A5F883E || <div style="float:left; width:100%; background:#e5e5ff; border:3px ridge #8888ff;"><div style="margin:10px;"><syntaxhighlight lang="c">CFBundleDisplayName = "インフォメーションボード";</syntaxhighlight></div></div>
|-
| ko.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 47 || style="font-family:monospace;" | 2752CF3440FB92C82EE71C780605C664 || <div style="float:left; width:100%; background:#e5e5ff; border:3px ridge #8888ff;"><div style="margin:10px;"><syntaxhighlight lang="c">CFBundleDisplayName = "인포메이션 보드";</syntaxhighlight></div></div>
|-
| ru.lproj\ || InfoPlist.strings || [[2.00 CEX|2.00]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 56 || style="font-family:monospace;" | 36BCD9EC73A01A85C7745735D47FAB78 || <div style="float:left; width:100%; background:#e5e5ff; border:3px ridge #8888ff;"><div style="margin:10px;"><syntaxhighlight lang="c">CFBundleDisplayName = "Доска объявлений";</syntaxhighlight></div></div>
|}
 
===dev_flash/vsh/resource/silk/xai/widgets/informationboard/strings/===
One folder named '''strings''' containing 16 files for languages. This files was renamed 1 time (in [[2.10 CEX|2.10]]), and updated 2 more times (in [[2.20 CEX|2.20]] and [[2.50 CEX|2.50]])
 
====infob_<language>.xml====
The examples below are for english versions only as reference, for a complete list of languages see: [[Template:Dev_flash\vsh\resource\silk]]
 
{| class="wikitable" style="font-size:x-small;"
|+dev_flash/vsh/resource/silk/xai/widgets/informationboard/strings/
! File !! Version !! Size !! MD5 !! Notes
|-
| informationboard_english.xml || [[2.00 CEX|2.00]]~[[2.01 CEX|2.01]] || rowspan="2" style="text-align:right;" | 699 || rowspan="2" style="font-family:monospace;" | BFDEFDEBFE2908766A2CA6A6A452CB4C ||
|-
| infob_english.xml || [[2.10 CEX|2.10]]~[[2.17 CEX|2.17]] || file renamed
|-
| infob_english.xml || [[2.20 CEX|2.20]]~[[2.43 CEX|2.43]] || style="text-align:right;" | 779 || style="font-family:monospace;" | 45FB0F73555CBB3D17C57A0D6A7E8F69 ||
|-
| infob_english.xml || [[2.50 CEX|2.50]]~[[3.30 CEX|3.30]] || style="text-align:right;" | 779 || style="font-family:monospace;" | C5FD80D50C8C84C1D8A1465A271C5B15 ||
|}
 
*Example: informationboard_english.xml [[2.00 CEX|2.00]]~[[2.01 CEX|2.01]] and infob_english.xml [[2.10 CEX|2.10]]~[[2.17 CEX|2.17]] (is the same file, renamed)
{{Boxcode|content=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
Line 165: Line 608:
</syntaxhighlight>}}
</syntaxhighlight>}}


=====language.lproj folders=====
*Example: infob_english.xml [[2.20 CEX|2.20]]~[[2.43 CEX|2.43]] (one line was added in first position for '''msg_error_server''')
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:
{{Boxcode|content=<syntaxhighlight lang="xml">
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
<?xml version="1.0" encoding="UTF-8"?>
00000000  43 46 42 75 6E 64 6C 65 44 69 73 70 6C 61 79 4E  CFBundleDisplayN
<!DOCTYPE locale SYSTEM "locale.dtd">
00000010  61 6D 65 20 3D 20 22 49 6E 66 6F 72 6D 61 74 69  ame = "Informati
<locale lang="en" encoding="utf16">
00000020  6F 6E 20 42 6F 61 72 64 22 3B                    on Board";
<str id="msg_error_server">A server error has occurred.</str><!--dtype="C"-->
<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>
</syntaxhighlight>}}


mac widgets also use [https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/Articles/Localization.html .lproj localization] so maybe can use custom language files.
*Example: infob_english.xml [[2.50 CEX|2.50]]~[[3.30 CEX|3.30]] (The two names '''PLAYSTATION''' previouslly in uppercase was replaced by '''PlayStation''')
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE locale SYSTEM "locale.dtd">
<locale lang="en" encoding="utf16">
<str id="msg_error_server">A server error has occurred.</str><!--dtype="C"-->
<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>
</syntaxhighlight>}}


===In dev_hdd0===
===dev_hdd0/widget/npdrm/informationboard===
====dev_hdd0/widget/npdrm/informationboard====
The existence of this path is a deduction because there is other file<!--that i dont remember rght now, either: dev_flash/vsh/resource/explore/xmb/category_widget.xml or dev_flash/vsh/resource/explore/xmb/category_network.xml or both--> 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 ?
* dev_hdd0/widget/npdrm/informationboard (loaded by Query "host_provider_flash" using src="host://localhost/q?path=/dev_hdd0/widget/npdrm&suffix=informationboard&subclass=x-host/widget")
*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 Coding|XMBML]] code in the line above means:
****'''host://localhost/q?''' (this is a [[XMBML Functions|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)


{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
{{Reverse engineering}}{{File Formats}}<noinclude>[[Category:Main]]</noinclude>

Revision as of 20:33, 5 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

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 ?

Code Sample

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

Code Sample

category_widget.xml

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

Code Sample

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

Code Sample

widgets.xml

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

Code Sample

dev_flash/vsh/resource/silk/bin/

CEHtmlBrowserAppXaiWidget.xmi

Since firmware 1.00 up to 2.17 and removed in 2.20

CEHtmlBrowserAppXaiWidget.xmi versions
Version Size MD5 Remarks
1.02~2.17 1.356 C7C2EF2CB10426754651B478C6BE94EC removed in 2.20
  • Example: CEHtmlBrowserAppXaiWidget.xmi 1.02~2.17
Code Sample

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

Since firmware 1.00 up to 2.17 and removed in 2.20. See: SILKPADD

CEHtmlBrowserApp.bin versions
Version Size MD5 Remarks
1.02~2.17 54.013 2BC8ACF9A9952AEB6F1A181357E6648F Removed in 2.20

CEHtmlBrowserAppXaiWidget.bin

Since firmware 1.00 up to 2.17 and removed in 2.20. See: SILKPADD

CEHtmlBrowserAppXaiWidget.bin versions
Version Size MD5 Remarks
1.02~2.17 53.985 493DD038DE219DAAA543A014410DB0A6 Removed in 2.20

dev_flash/vsh/resource/silk/etc

fontinfo-Xai.xml

There are 3 versions of this file used by the original silk web browser (introduced since firmware 1.00), the next web browsers silk_nas (introduced in firmware 2.20) and silk_webkit (introduced at firmware 4.10) uses a copy of the fontinfo-Xai.xml from the original silk

fontinfo-Xai.xml versions
Version Size MD5 Notes
1.02 2.941 7B818169AFF8E9426D3C57C52BC8E766
1.10~2.60 3.063 8C1102561C72A21B7866CC4D17D6EFBF Used also by silk_nas 2.20~4.83
2.70~4.83 3.135 4B1566F692B8348F89E9132B56C40EBD Used also by silk_webkit 4.10~4.83

Example: fontinfo-Xai.xml 1.02

Code Sample

Example: fontinfo-Xai.xml 1.10~2.60 (added new language zh with .ttf font DFHEIW5-A)

Code Sample

Example: fontinfo-Xai.xml 2.70~4.83 (added new .ttf font SCE-PS3 Rodin LATIN2 for english and japanese defaults)

Code Sample

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

Icon.png

Icon.png

widget XMB icon

Icon.png versions
Version Size MD5 Notes
2.00~3.30 16.506 4A7865D6E3C95C2098214C52A20C73CF added in 2.00, removed in 3.40

config.xml

config.xml versions
Version Size MD5 Notes
2.00~2.17 447 F47704B937E193BF093D14A1EB1BE2F2 added in 2.00
2.20~2.36 447 D07FF7832F6860F4836FC48D84BC3C11
2.40~3.30 446 7B9689660000FD291E80B1B37233D0AF removed in 3.40

Example: config.xml 2.00~2.17

Code Sample

Example: config.xml 2.20~2.36 (the example below only shows the changes)

Code Sample

Example: config.xml 2.40~3.30 (the example below only shows the changes)

Code Sample

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. There are 4 versions of this file:

rss.swf versions
Version Size MD5 Notes
2.00 26.696 02C716D84790374294AB11AD5CEBF3DD added in 2.00
2.01 26.707 50963C30BBAA23449B1CB120699EDD20
2.10~2.17 26.741 B4A8EB9960DAB44F654B370D8B97083B
2.20~3.30 28.749 F36212A8B66226655ACD64CF9E462186 removed in 3.40

setting.xml

RSS URL list by Target_ID, for non QA

setting.xml versions
Version Size MD5 Notes
2.00~3.30 1.344 ACAEE5D6C9B174FE558B721A03022F94 added in 2.00, removed in 3.40
Code Sample

setting_qa.xml

RSS URL list by Target_ID, for QA

setting_qa.xml versions
Version Size MD5 Notes
2.00~3.30 1.380 B49C94FDE6385E5CA03D9CFDAFA53F47 added in 2.00, removed in 3.40
Code Sample

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

15 folders named <language>.lproj for different languages (e.g: da.lproj, Dutch.lproj, etc...), and every folder contains a text file named InfoPlist.strings

See: .lproj localization in Mac widgets

InfoPlist.strings

The file contains the name of the widget in a single text line, is the same file for all languages except: japanese, korean, and russian

dev_flash\vsh\resource\silk\xai\widgets\informationboard\
Folder File Version Size MD5 Example
da.lproj\ InfoPlist.strings 2.00~3.30 42 5BEB6E9B277784341D1C0722432CF248
CFBundleDisplayName = "Information Board";
Dutch.lproj\ InfoPlist.strings 2.00~3.30
fi.lproj\ InfoPlist.strings 2.00~3.30
French.lproj\ InfoPlist.strings 2.00~3.30
German.lproj\ InfoPlist.strings 2.00~3.30
Italian.lproj\ InfoPlist.strings 2.00~3.30
nb.lproj\ InfoPlist.strings 2.00~3.30
pt.lproj\ InfoPlist.strings 2.00~3.30
Spanish.lproj\ InfoPlist.strings 2.00~3.30
sv.lproj\ InfoPlist.strings 2.00~3.30
zh_CN.lproj\ InfoPlist.strings 2.00~3.30
zh_TW.lproj\ InfoPlist.strings 2.00~3.30
Japanese.lproj\ InfoPlist.strings 2.00~3.30 61 353290330A59BCD35A0CDD579A5F883E
CFBundleDisplayName = "インフォメーションボード";
ko.lproj\ InfoPlist.strings 2.00~3.30 47 2752CF3440FB92C82EE71C780605C664
CFBundleDisplayName = "인포메이션 보드";
ru.lproj\ InfoPlist.strings 2.00~3.30 56 36BCD9EC73A01A85C7745735D47FAB78
CFBundleDisplayName = "Доска объявлений";

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

One folder named strings containing 16 files for languages. This files was renamed 1 time (in 2.10), and updated 2 more times (in 2.20 and 2.50)

infob_<language>.xml

The examples below are for english versions only as reference, for a complete list of languages see: Template:Dev_flash\vsh\resource\silk

dev_flash/vsh/resource/silk/xai/widgets/informationboard/strings/
File Version Size MD5 Notes
informationboard_english.xml 2.00~2.01 699 BFDEFDEBFE2908766A2CA6A6A452CB4C
infob_english.xml 2.10~2.17 file renamed
infob_english.xml 2.20~2.43 779 45FB0F73555CBB3D17C57A0D6A7E8F69
infob_english.xml 2.50~3.30 779 C5FD80D50C8C84C1D8A1465A271C5B15
  • Example: informationboard_english.xml 2.00~2.01 and infob_english.xml 2.10~2.17 (is the same file, renamed)
Code Sample
  • Example: infob_english.xml 2.20~2.43 (one line was added in first position for msg_error_server)
Code Sample
  • Example: infob_english.xml 2.50~3.30 (The two names PLAYSTATION previouslly in uppercase was replaced by PlayStation)
Code Sample

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)