Widgets: Difference between revisions
m (→In dev_flash) |
mNo edit summary |
||
Line 1: | Line 1: | ||
== | ==Description== | ||
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]] | 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]] | ||
Line 30: | Line 30: | ||
==Widgets related files | ==Widgets related files in dev_flash== | ||
===dev_flash/vsh/module=== | |||
====xai_plugin.sprx==== | |||
This file was removed, see: [[xai_plugin]] | This file was removed, see: [[xai_plugin]] | ||
<!-- and xai_plugin.rco existed but was too ? --> | <!-- and xai_plugin.rco existed but was too ? --> | ||
===dev_flash/vsh/resource=== | |||
====explore_category_network.rco==== | |||
There is a widget entry missing in the xml | There is a widget entry missing in the xml | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
Line 45: | Line 44: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/explore/xmb=== | |||
====category_widget.xml==== | |||
Widgets XMB configuration file, this file exists in all firmwares with some segments disabled | Widgets XMB configuration file, this file exists in all firmwares with some segments disabled | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
Line 52: | Line 51: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====category_network.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 | 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 | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
Line 58: | Line 57: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/explore/icon=== | |||
====widget.png==== | |||
widget configuration icon, this file exists in all firmwares | widget configuration icon, this file exists in all firmwares | ||
===dev_flash/vsh/resource/xai=== | |||
====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 69: | Line 68: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====widgets.xml==== | |||
Contains: xai.widget.url=/dev_hdd0/widget/npdrm/informationboard | Contains: xai.widget.url=/dev_hdd0/widget/npdrm/informationboard | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
Line 75: | Line 74: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/silk/etc=== | |||
====fontinfo-Xai.xml==== | |||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<!-- Example needed --> | <!-- Example needed --> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/silk_nas/etc=== | |||
====fontinfo-Xai.xml==== | |||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<!-- Example needed --> | <!-- Example needed --> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/silk/xai/widgets/informationboard/=== | |||
Information board main executable and settings files, removed in 3.00 | Information board main executable and settings files, removed in 3.00 | ||
====rss.swf==== | |||
Main widget window, in shockwave flash format | 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 | 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 | widget icon identifyer | ||
====config.xml==== | |||
config for rss.swf | config for rss.swf | ||
Line 119: | Line 118: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====setting.xml==== | |||
RSS URL list by [[Target_ID]], for non QA flagged consoles | RSS URL list by [[Target_ID]], for non QA flagged consoles | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
Line 139: | Line 138: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====setting_qa.xml==== | |||
RSS URL list by [[Target_ID]], for QA flagged consoles | RSS URL list by [[Target_ID]], for QA flagged consoles | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
Line 159: | Line 158: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====strings folder==== | |||
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 | 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 | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
Line 170: | Line 169: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====language.lproj folders==== | |||
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: | 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: | ||
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ||
Line 179: | Line 178: | ||
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. | 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. | ||
== | ==Widgets related files in dev_hdd0== | ||
===dev_hdd0/widget/npdrm/informationboard=== | |||
* 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") | * 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") | ||
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> | {{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> |
Revision as of 07:15, 25 October 2018
Description
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
The only official widget (included between firmwares 2.00 and 3.00) was called Information Board.
In firmware 3.00 widgets was removed because his initial purpose of displaying dynamic content was superceeded by Life with PlayStation (in firmware 2.40) and later by the "what's news" display mode (in firmware 3.00)
- 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/
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:
- 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:
- 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
dev_flash/vsh/module
xai_plugin.sprx
This file was removed, see: xai_plugin
dev_flash/vsh/resource
explore_category_network.rco
There is a widget entry missing in the xml
Code Sample
dev_flash/vsh/resource/explore/xmb
category_widget.xml
Widgets XMB configuration file, this file exists in all firmwares with some segments disabled
Code Sample
category_network.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
Code Sample
dev_flash/vsh/resource/explore/icon
widget.png
widget configuration icon, this file exists in all firmwares
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/etc
fontinfo-Xai.xml
Code Sample
dev_flash/vsh/resource/silk_nas/etc
fontinfo-Xai.xml
Code Sample
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
Code Sample
setting.xml
RSS URL list by Target_ID, for non QA flagged consoles
Code Sample
setting_qa.xml
RSS URL list by Target_ID, for QA flagged consoles
Code Sample
strings folder
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
Code Sample
language.lproj folders
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:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 43 46 42 75 6E 64 6C 65 44 69 73 70 6C 61 79 4E CFBundleDisplayN 00000010 61 6D 65 20 3D 20 22 49 6E 66 6F 72 6D 61 74 69 ame = "Informati 00000020 6F 6E 20 42 6F 61 72 64 22 3B on Board";
mac widgets also use .lproj localization so maybe can use custom language files.
dev_hdd0/widget/npdrm/informationboard
- 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")