Editing Widgets
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
==Description== | ==Description== | ||
Widgets was introduced in PS3 firmware | 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|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/ | |||
**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 | 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]] | |||
<GALLERY> | <GALLERY> | ||
File:Widgets (information board - use).jpg| | File:Widgets (information board - use).jpg|Widgets (information board - use) | ||
File:Widgets (information board - tab).jpg| | File:Widgets (information board - tab).jpg|Widgets (information board - tab) | ||
File:Widgets (information board - news).jpg| | File:Widgets (information board - news).jpg|Widgets (information board - news) | ||
</GALLERY> | </GALLERY> | ||
==Widgets related files== | ==Widgets related files== | ||
===dev_flash/vsh/module=== | ===dev_flash/vsh/module=== | ||
====xai_plugin.sprx==== | ====xai_plugin.sprx==== | ||
Line 31: | Line 39: | ||
''Decrypt'' | ''Decrypt'' | ||
{{keyboard|content= | {{keyboard|content=scetool.exe -d xai_plugin.sprx xai_plugin_dec.prx}} | ||
''Encrypt'' | ''Encrypt'' | ||
{{keyboard|content= | {{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 [[RCOXML Objects|rcoxml]] | There is a widget entry missing in the [[RCOXML Objects|rcoxml]] | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
< | <!-- Example needed --> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/explore/xmb=== | ===dev_flash/vsh/resource/explore/xmb=== | ||
====category_widget.xml==== | ====category_widget.xml==== | ||
Widgets [[XMBML Files|XMBML]] configuration file, this file exists in all firmwares with some segments disabled | Widgets [[XMBML Files|XMBML]] configuration file, this file exists in all firmwares with some segments disabled | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
< | <!-- Example needed --> | ||
</syntaxhighlight>}} | |||
====category_network.xml==== | |||
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"> | |||
<!-- Example needed --> | |||
-- | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/explore/icon=== | ===dev_flash/vsh/resource/explore/icon=== | ||
====widget.png==== | ====widget.png==== | ||
widget configuration icon, this file exists in all firmwares | |||
===dev_flash/vsh/resource/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| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
< | <!-- Example needed --> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====widgets.xml==== | ====widgets.xml==== | ||
Contains: xai.widget.url=/dev_hdd0/widget/npdrm/informationboard | Contains: xai.widget.url=/dev_hdd0/widget/npdrm/informationboard | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
< | <!-- Example needed --> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/silk/ | ===dev_flash/vsh/resource/silk/etc=== | ||
====fontinfo-Xai.xml==== | |||
==== | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<!-- Example needed --> | |||
{{Boxcode| | |||
< | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/ | ===dev_flash/vsh/resource/silk_nas/etc=== | ||
====fontinfo-Xai.xml==== | ====fontinfo-Xai.xml==== | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
<!-- Example needed --> | |||
{{Boxcode| | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===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==== | ====Icon.png==== | ||
widget icon identifyer | |||
widget | |||
====config.xml==== | ====config.xml==== | ||
config for rss.swf | |||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
{{Boxcode| | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<widget> | <widget> | ||
Line 766: | Line 123: | ||
</widget> | </widget> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
====setting.xml==== | ====setting.xml==== | ||
RSS URL list by [[ | RSS URL list by [[Target_ID]], for non QA | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
{{Boxcode| | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<items> | <items> | ||
Line 822: | Line 145: | ||
====setting_qa.xml==== | ====setting_qa.xml==== | ||
RSS URL list by [[ | RSS URL list by [[Target_ID]], for QA | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
{{Boxcode| | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<items> | <items> | ||
Line 848: | Line 163: | ||
</items> | </items> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===dev_flash/vsh/resource/silk/xai/widgets/informationboard/strings/=== | ===dev_flash/vsh/resource/silk/xai/widgets/informationboard/strings/=== | ||
1 folder named '''strings''' containing 16 files for languages named: informationboard_<language>.xml (e.g: informationboard_german.xml, informationboard_french.xml, etc...) | |||
====informationboard_<language>.xml==== | |||
Example from informationboard_english.xml | |||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
{{Boxcode| | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE locale SYSTEM "locale.dtd"> | <!DOCTYPE locale SYSTEM "locale.dtd"> | ||
Line 921: | Line 178: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
===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 | |||
====InfoPlist.strings==== | |||
Example: | |||
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"; | |||
* | *Notes | ||
**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. | |||
===dev_hdd0/widget/npdrm/informationboard=== | ===dev_hdd0/widget/npdrm/informationboard=== | ||
Line 955: | Line 201: | ||
****'''subclass=x-host/widget''' (indicates what to do with the files by his type) | ****'''subclass=x-host/widget''' (indicates what to do with the files by his type) | ||
{{Reverse engineering | {{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> |