<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Egaudet</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Egaudet"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Egaudet"/>
	<updated>2026-04-21T08:56:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:FreeTether&amp;diff=12507</id>
		<title>Application:FreeTether</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:FreeTether&amp;diff=12507"/>
		<updated>2011-01-05T05:56:45Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=freeTether&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.99.6&lt;br /&gt;
|tag=Networking&lt;br /&gt;
|screenshot=FreeTether_ss1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
{{icon|Icon_FreeTether.png|float:right;}}&lt;br /&gt;
&lt;br /&gt;
Works with all current devices running webOS version 1.4.5 or later:&lt;br /&gt;
&lt;br /&gt;
1. Add the test feeds to preware (see [[Testing Feeds]])&lt;br /&gt;
&lt;br /&gt;
2. Load preware, refresh feeds, and install freeTether&lt;br /&gt;
&lt;br /&gt;
3. Enjoy Free Tethering&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Pre%27s_flash_disk&amp;diff=12277</id>
		<title>Pre's flash disk</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Pre%27s_flash_disk&amp;diff=12277"/>
		<updated>2010-12-08T03:55:02Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Pre's flash disk appears to the device as a MMC and uses the standard fdisk partition scheme, with a MBR-like structure in the first block. There are three partitions:&lt;br /&gt;
&lt;br /&gt;
# type 0xf0 start 0x00000400 size 0x00002000 [[NVRAM]] and [[Tokens]]&lt;br /&gt;
# type 0x83 start 0x00002400 size 0x00010000 /boot (ext3)&lt;br /&gt;
# type 0x8e start 0x00012400 size 0x00f3dc00 Logical Volumes&lt;br /&gt;
&lt;br /&gt;
The space between the MBR and the first partition are used to store the bootloader ([[Bootie]]). The /boot partition contains the linux kernel (in uImage format), a copy of the bootloader and the minimal userland required to start the LVM and to pivot the root to /dev/mapper/store-root and perform the &amp;quot;real&amp;quot; boot from there.&lt;br /&gt;
&lt;br /&gt;
== webos 1.4.5 Pre ==&lt;br /&gt;
The first 512K contains the MBR and Bootie.&lt;br /&gt;
&lt;br /&gt;
The Flash is set up as follows:&lt;br /&gt;
&lt;br /&gt;
* MBR - 512 Bytes&lt;br /&gt;
* Bootie Size - 4 Bytes&lt;br /&gt;
* Load Address - 4 Bytes&lt;br /&gt;
* Bootie - ~54K for Pre, ~105K for Pixi&lt;br /&gt;
* ??? - Rest of 512K space before first partition&lt;br /&gt;
* partition 1 (NVRM) - 4M&lt;br /&gt;
* partition 2 (/boot) - 32M&lt;br /&gt;
* partition 3 (LVM) - rest of Flash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Partitions:&lt;br /&gt;
# type 0xf0 start 0x00080000 size 0x00400000 [[NVRAM] and [[Tokens]]&lt;br /&gt;
# type 0x83 start 0x00480000 size 0x02000000 /boot (ext3)&lt;br /&gt;
# type 0x8e start 0x02480000 size 0x1e7b8000 Logical Volumes&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SuperTux&amp;diff=11274</id>
		<title>Application:SuperTux</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SuperTux&amp;diff=11274"/>
		<updated>2010-09-11T04:18:31Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=SuperTux&lt;br /&gt;
|version=1.0.2&lt;br /&gt;
|type=webOS&lt;br /&gt;
|tag=Games&lt;br /&gt;
|screenshot=Supertux_Screenshot_1.png&lt;br /&gt;
|description=Classic 2D jump'n run sidescroller game in a style similar to the original Super Mario games.  GPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Supertux_icon.png]]&lt;br /&gt;
&lt;br /&gt;
== '''Credit''' ==&lt;br /&gt;
Ported and Packaged by Eric J Gaudet Jan 2010&lt;br /&gt;
&lt;br /&gt;
== '''Controls''' ==&lt;br /&gt;
'''Screen controls''' &amp;lt;br&amp;gt;&lt;br /&gt;
Tilt for joystick directions &amp;lt;br&amp;gt;&lt;br /&gt;
Tilt up towards you to duck &amp;lt;br&amp;gt;&lt;br /&gt;
Tap gesture area to jump &amp;lt;br&amp;gt;&lt;br /&gt;
Tap and hold gesture area to high jump &amp;lt;br&amp;gt;&lt;br /&gt;
Tap screen to throw fireball &amp;lt;br&amp;gt;&lt;br /&gt;
Swipe down for Menu. (Note that Tux will jump before menu loads) &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Auto-Update_Patch_Technology&amp;diff=11147</id>
		<title>Talk:Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Auto-Update_Patch_Technology&amp;diff=11147"/>
		<updated>2010-09-01T23:52:54Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we can discuss the future of AUPT and where we should go from here.  Here are some ideas I've been thinking about for the next generation of AUPT as a C service using AUFS overlay.&lt;br /&gt;
&lt;br /&gt;
== Directory Structure ==&lt;br /&gt;
/media/internal/.patches&lt;br /&gt;
&lt;br /&gt;
* patch.db                                 - patch state database file (doesn't -have- to be database?)&lt;br /&gt;
* webos-$version/                          - version specific overlay&lt;br /&gt;
* webos-$version/&amp;lt;package&amp;gt;/                - palm package&lt;br /&gt;
* webos-$version/&amp;lt;package&amp;gt;/path/to/files   - patched files&lt;br /&gt;
* stock/path/to/files                      - Stock backup files&lt;br /&gt;
* work-area/path/to/files                  - A place to do the actual patching/testing, before copying files to in-use overlay.  This will make sure there are fewer chances to have partial-patch installations and other odd issues that may arise.  (Is this needed or overkill?)&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;package&amp;gt; would be an aufs branch. Or maybe the C-service/statefile would keep track of the hunk -&amp;gt; file -&amp;gt; package connection.  Today I've been pondering using the source code for GNU patch in the C service.  &lt;br /&gt;
&lt;br /&gt;
== NO overlay branches ==&lt;br /&gt;
These are branches that will need to not be modified by any custom overlay&lt;br /&gt;
* /boot&lt;br /&gt;
* /dev&lt;br /&gt;
* /proc&lt;br /&gt;
* /sys&lt;br /&gt;
* /usr/lib/ipkg&lt;br /&gt;
* /media/internal&lt;br /&gt;
* /lib&lt;br /&gt;
* /bin&lt;br /&gt;
* /sbin&lt;br /&gt;
* /mnt&lt;br /&gt;
&lt;br /&gt;
(Should we just use /usr and /etc as allowable patch branches?)&lt;br /&gt;
&lt;br /&gt;
== Statefile ==&lt;br /&gt;
A database state file with patch information may be needed.  &lt;br /&gt;
Possible things to store are the following:&lt;br /&gt;
* What palm packages and files each patch touches&lt;br /&gt;
* What order the patches were applied in. It may have to be on a per file basis.&lt;br /&gt;
* rw aupt branches (see directory structure) - cryptk brings up good point to make the aupt branches ro as well&lt;br /&gt;
* ro stock branches (see No overlay branches) marking the overlays as 'dirty' and re-starting the service may be needed for updates to patching service.  Possibly provide a way for faulty patches preventing Luna from starting to be detected.&lt;br /&gt;
* current webos version&lt;br /&gt;
&lt;br /&gt;
== Upstart ==&lt;br /&gt;
Upon booting, the upstart service needs to be started as early as possible to get the aufs overlay over before things like Luna start reading files.  The starting of the patch service should do at a bare minimum some sanity checks before mounting the overlay.  Some sort of flag for not booting cleanly the last time should be detected if possible.&lt;br /&gt;
&lt;br /&gt;
== OTA ==&lt;br /&gt;
Using &amp;quot;stop on started start_update&amp;quot; we can rip out the overlay during a Palm OTA update.  On the next boot the webos version will be different and the patch service -could- attempt to re-patch as many 'patches' as possible.  Since all the patch packages will change to new feed and require update all via preware anyway, we can just leave this to the user to hit update all instead (as it is now), and then all the patches will be installed to the new webos-version overlay.&lt;br /&gt;
&lt;br /&gt;
== Other random things to think about ==&lt;br /&gt;
* what to do with files that are written outside of aupt that will appear in aufs branches?&lt;br /&gt;
* Possibly track the version of the palm package that a patch is applied to, rather than assuming webos version means correct package version.  Would also allow forward compatibility if Palm ever started allowing package updates without webos version changes.  &lt;br /&gt;
* Would it be useful to use combinediff on a pacakge (or file) basis?&lt;br /&gt;
&lt;br /&gt;
=== --[[User:Egaudet|Egaudet]] 22:25, 25 August 2010 (UTC) ===&lt;br /&gt;
&lt;br /&gt;
=== Continued discussion ===&lt;br /&gt;
&lt;br /&gt;
*cryptk: &amp;quot;there could be a file that stores the currently selected patch profile, that way the correct aufs overlay is used, after aufs is loaded that file is cleared to be re-written when the upstart service is closed cleanly.  then it would double as our bad boot flag&amp;quot;&lt;br /&gt;
*multiple webos-version patches in single ipk vs. multiple webos-version feeds&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Icons&amp;diff=11091</id>
		<title>Icons</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Icons&amp;diff=11091"/>
		<updated>2010-08-30T03:36:37Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== This is a Thinking Page at the Moment ==&lt;br /&gt;
&lt;br /&gt;
Bringing the webOS-Internals ecosystem together through their icons. This is an ''optional'' suggestion being posed to those maintaining a org.webosinternals.* project. The &amp;quot;ice&amp;quot; platform will be the visual indication that an application or service is being maintained by a webOS-Internals member and is OSS.&lt;br /&gt;
&lt;br /&gt;
If you would like an icon created for an application add it to the list at the bottom of this page. Icon designs will go through a few phases of critiques before they will be finalized. During this process users will be able to see the changes on this page.&lt;br /&gt;
&lt;br /&gt;
== webOS-Internals Icons (more will be added shortly) ==&lt;br /&gt;
&lt;br /&gt;
{{icon|Icon_WebOSInternals_Base.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Base_Plugin.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Base_Service.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Base_Patch.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Base_Optware.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_WebOSInternals.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Box.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Box_Empty.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Box_Tux.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Terminal.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_TerminalService.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Keyboard.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Preware.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_PackageManager.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_AccelerometerService.png}}&lt;br /&gt;
{{icon|Icon_Service_LED.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Battery.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_BatteryService.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_StopLight.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_ProcessMonitor.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_ProcessService.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Upstart.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_UpstartService.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_DropBear.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_OpenSSH.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Nano.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Password.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_OpenSSL.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_ZLib.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_GNUReadlineLib.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_GnuPatchBinary.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC_Service.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC_Alert.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC_PM.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC_Invite.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC_Invite2.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC_Upload.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_wIRC_DCC.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Camera.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_PrecorderNew.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_CameraWIP.png}}&lt;br /&gt;
{{icon|Icon_Patch_Dangerous.png}}&lt;br /&gt;
{{icon|Icon_Patch_Deadly.png}}&lt;br /&gt;
{{icon|Icon_FreeTether.png}}&lt;br /&gt;
{{icon|Icon_MvApp.png}}&lt;br /&gt;
{{icon|Icon_Worm.png}}&lt;br /&gt;
{{icon|Icon_Tetris.png}}&lt;br /&gt;
{{icon|Icon_Asteroids.png}}&lt;br /&gt;
{{icon|Icon_SpaceInvaders.png}}&lt;br /&gt;
{{icon|Icon_PDK.png}}&lt;br /&gt;
{{icon|Icon_lighttpd.png}}&lt;br /&gt;
{{icon|Icon_OpenVPN.png}}&lt;br /&gt;
{{icon|Icon_Terminus.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_SaveRestore.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Kernel.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Kernel_mem.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Govnah.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Saver.png}}&lt;br /&gt;
{{icon|Govenericon.png}}&lt;br /&gt;
{{icon|Icon_NGiNX.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Lumberjack.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_KeyBoss.png}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Patch Icons ==&lt;br /&gt;
&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patch.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Actualpercent.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Amazonstore.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Applauncher.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Batteryandpercent.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Browser.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Calculator.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Calendar.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Camera.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Clock.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Contacts.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Devmodelauncher.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Email.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Findapps.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Luna.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Messaging.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Musicplayer.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Nascar.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Nfl.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Pandora.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Pdfviewer.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Percent.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Phone.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Phonepreferences.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Photos.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Screenlock.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Smile.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Soundsandalerts.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_SprintNav.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Sprinttv.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Tasks.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Videoplayer.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Wifi.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patches_Youtube.png}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other Icons ==&lt;br /&gt;
&lt;br /&gt;
{{icon|Icon_Box.png}}&lt;br /&gt;
{{icon|Icon_Box_Arrow.png}}&lt;br /&gt;
{{icon|Icon_Box_Cog.png}}&lt;br /&gt;
{{icon|Icon_Preware.png}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Alternatives ==&lt;br /&gt;
&lt;br /&gt;
{{icon|Icon_PrewareAlt.png}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Icons For other Applications (for reference only) ==&lt;br /&gt;
&lt;br /&gt;
{{icon|Icon_Reversi.png}}&lt;br /&gt;
{{icon|Icon_Airplane.png}}&lt;br /&gt;
{{icon|Icon_TheFingWeather.png}}&lt;br /&gt;
{{icon|Icon_Chat.png}}&lt;br /&gt;
{{icon|Icon_Chat_Small.png}}&lt;br /&gt;
{{icon|Icon_Chat_Individual.png}}&lt;br /&gt;
{{icon|Icon_Chat_Group.png}}&lt;br /&gt;
{{icon|Icon_Chat_Three.png}}&lt;br /&gt;
{{icon|Icon_Chat_Report.png}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Icons For other Services (for reference only) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Small Icons ==&lt;br /&gt;
&lt;br /&gt;
{{icon|Icon_WebOSInternals_Plugin_Small.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Installed_Small.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Updates_Small.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Service_Small.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Patch_Small.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Tools_Small.png}}&lt;br /&gt;
{{icon|Icon_WebOSInternals_Optware_Small.png}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebOS-Internals - Services and Applications that still need icons ==&lt;br /&gt;
&lt;br /&gt;
* GNU Patch Binary&lt;br /&gt;
&lt;br /&gt;
* JSTop&lt;br /&gt;
&lt;br /&gt;
* Upstart Manager&lt;br /&gt;
&lt;br /&gt;
== Just Talk Below ==&lt;br /&gt;
&lt;br /&gt;
Should this page and [http://www.webos-internals.org/wiki/Mojo_Design_Icons this page] be merged in some way?&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Icon_WebOSInternals_KeyBoss.png&amp;diff=11090</id>
		<title>File:Icon WebOSInternals KeyBoss.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Icon_WebOSInternals_KeyBoss.png&amp;diff=11090"/>
		<updated>2010-08-30T03:36:08Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=11067</id>
		<title>WhoIsWho</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=11067"/>
		<updated>2010-08-29T01:31:27Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the WebOS Internals developers, and the projects and activities for which each is responsible.  Names are listed in chronological order of officially joining the WebOS Internals team.&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rwhitby|realname=Rod Whitby|responsibility=Founder and Project Lead for WebOS Internals and Preware |aboutme=Homebrew Ecosystem Architect. Lead developer for Save/Restore. Co-Lead developer for Preware, Govnah and UberKernel.  Co-developer for a number of other packages. Oh, and a family and full-time day job too.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=ka6sox|realname=Tom King|responsibility=Chief Server Infrastructure Architect and Sys-Admin Team Lead(aka BOFH)|aboutme=FT:High Power RF, VHDL/Verilog Design, Play Time: Dabble with Kernel development.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rboatright|realname=Rick Boatright|responsibility=Chief Evangelist|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=destinal|realname=|responsibility=|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=PuffTheMagic|realname=Ryan Hope|responsibility=Play devil's advocate|aboutme=Research assistant / cognitive science grad student by day; webos developer by night }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=egaudet|realname=Eric Gaudet|responsibility=AUPT architect and randomness|aboutme=Busy debugging}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oil|realname=Brandon VanBelle|responsibility=Minister of Awesomeness|aboutme=It's not my fault!}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=dtzWill|realname=Will Dietz|responsibility=Various WebOS Internals games, X11, WIDK management|aboutme=CS grad student who spends entirely too much time on WebOS }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=zsoc|realname=|responsibility=Multimedia subsystem architect|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=uNiXpSyChO|realname=Marco Benton|responsibility=BOFH and Kernel hacker|aboutme=[[Full-time]]; SysAdmin, SAN Admin, Network Admin. [[Part-time]]; System integration and network design consulting. [[Free-time]]; programming - since that's what i used to do full-time 20 years ago. }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sbromwich|realname=Steve Bromwich|responsibility=Kernel developer|aboutme=Dilettante kernel programmer concentrating mostly on extending battery life.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=swisstomcat|realname=Markus Leutwyler|responsibility=Chief German Translator (ja, genau!) and Javascript Parts Donator to different Projects. Also European Propaganda Minister. |aboutme=Web and Mobile Developer}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=jhojho|realname=|responsibility=Warthog kernel developer|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=cryptk|realname=Chris Jowett|responsibility=Server administration and management|aboutme=I work as a full time linux systems administratior as my day job and lend that knowledge to keep the WebOS Internals servers running as well as they possibly can.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sconix|realname=Janne Julkunen|responsibility=Creating nice patches and developing Mode Switcher|aboutme=Involved with Linux way too much :)}}&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=11066</id>
		<title>WhoIsWho</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=11066"/>
		<updated>2010-08-29T01:24:25Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the WebOS Internals developers, and the projects and activities for which each is responsible.  Names are listed in chronological order of officially joining the WebOS Internals team.&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rwhitby|realname=Rod Whitby|responsibility=Founder and Project Lead for WebOS Internals and Preware |aboutme=Homebrew Ecosystem Architect. Lead developer for Save/Restore. Co-Lead developer for Preware, Govnah and UberKernel.  Co-developer for a number of other packages. Oh, and a family and full-time day job too.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=ka6sox|realname=Tom King|responsibility=Chief Server Infrastructure Architect and Sys-Admin Team Lead(aka BOFH)|aboutme=FT:High Power RF, VHDL/Verilog Design, Play Time: Dabble with Kernel development.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rboatright|realname=Rick Boatright|responsibility=Chief Evangelist|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=destinal|realname=|responsibility=|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=PuffTheMagic|realname=Ryan Hope|responsibility=Play devil's advocate|aboutme=Research assistant / cognitive science grad student by day; webos developer by night }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=egaudet|realname=Eric Gaudet|responsibility=AUPT architect and dibble dabbler|aboutme=Busy debugging}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oil|realname=Brandon VanBelle|responsibility=Minister of Awesomeness|aboutme=It's not my fault!}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=dtzWill|realname=Will Dietz|responsibility=Various WebOS Internals games, X11, WIDK management|aboutme=CS grad student who spends entirely too much time on WebOS }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=zsoc|realname=|responsibility=Multimedia subsystem architect|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=uNiXpSyChO|realname=Marco Benton|responsibility=BOFH and Kernel hacker|aboutme=[[Full-time]]; SysAdmin, SAN Admin, Network Admin. [[Part-time]]; System integration and network design consulting. [[Free-time]]; programming - since that's what i used to do full-time 20 years ago. }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sbromwich|realname=Steve Bromwich|responsibility=Kernel developer|aboutme=Dilettante kernel programmer concentrating mostly on extending battery life.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=swisstomcat|realname=Markus Leutwyler|responsibility=Chief German Translator (ja, genau!) and Javascript Parts Donator to different Projects. Also European Propaganda Minister. |aboutme=Web and Mobile Developer}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=jhojho|realname=|responsibility=Warthog kernel developer|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=cryptk|realname=Chris Jowett|responsibility=Server administration and management|aboutme=I work as a full time linux systems administratior as my day job and lend that knowledge to keep the WebOS Internals servers running as well as they possibly can.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sconix|realname=Janne Julkunen|responsibility=Creating nice patches and developing Mode Switcher|aboutme=Involved with Linux way too much :)}}&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Auto-Update_Patch_Technology&amp;diff=10972</id>
		<title>Talk:Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Auto-Update_Patch_Technology&amp;diff=10972"/>
		<updated>2010-08-25T22:37:02Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we can discuss the future of AUPT and where we should go from here.  Here are some ideas I've been thinking about for the next generation of AUPT as a C service using AUFS overlay.&lt;br /&gt;
&lt;br /&gt;
== Directory Structure ==&lt;br /&gt;
/media/internal/.patches&lt;br /&gt;
&lt;br /&gt;
* patch.db                                 - patch state database file (doesn't -have- to be database?)&lt;br /&gt;
* webos-$version/                          - version specific overlay&lt;br /&gt;
* webos-$version/&amp;lt;package&amp;gt;/                - palm package&lt;br /&gt;
* webos-$version/&amp;lt;package&amp;gt;/path/to/files   - patched files&lt;br /&gt;
* stock/path/to/files                      - Stock backup files&lt;br /&gt;
* work-area/path/to/files                  - A place to do the actual patching/testing, before copying files to in-use overlay.  This will make sure there are fewer chances to have partial-patch installations and other odd issues that may arise.  (Is this needed or overkill?)&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;package&amp;gt; would be an aufs branch. Or maybe the C-service/statefile would keep track of the hunk -&amp;gt; file -&amp;gt; package connection.  Today I've been pondering using the source code for GNU patch in the C service.  &lt;br /&gt;
&lt;br /&gt;
== NO overlay branches ==&lt;br /&gt;
These are branches that will need to not be modified by any custom overlay&lt;br /&gt;
* /boot&lt;br /&gt;
* /dev&lt;br /&gt;
* /proc&lt;br /&gt;
* /sys&lt;br /&gt;
* /usr/lib/ipkg&lt;br /&gt;
* /media/internal&lt;br /&gt;
* /lib&lt;br /&gt;
* /bin&lt;br /&gt;
* /sbin&lt;br /&gt;
* /mnt&lt;br /&gt;
&lt;br /&gt;
(Should we just use /usr and /etc as allowable patch branches?)&lt;br /&gt;
&lt;br /&gt;
== Statefile ==&lt;br /&gt;
A database state file with patch information may be needed.  &lt;br /&gt;
Possible things to store are the following:&lt;br /&gt;
* What palm packages and files each patch touches&lt;br /&gt;
* What order the patches were applied in. It may have to be on a per file basis.&lt;br /&gt;
* rw aupt branches (see directory structure) - cryptk brings up good point to make the aupt branches ro as well&lt;br /&gt;
* ro stock branches (see No overlay branches) marking the overlays as 'dirty' and re-starting the service may be needed for updates to patching service.  Possibly provide a way for faulty patches preventing Luna from starting to be detected.&lt;br /&gt;
* current webos version&lt;br /&gt;
&lt;br /&gt;
== Upstart ==&lt;br /&gt;
Upon booting, the upstart service needs to be started as early as possible to get the aufs overlay over before things like Luna start reading files.  The starting of the patch service should do at a bare minimum some sanity checks before mounting the overlay.  Some sort of flag for not booting cleanly the last time should be detected if possible.&lt;br /&gt;
&lt;br /&gt;
== OTA ==&lt;br /&gt;
Using &amp;quot;stop on started start_update&amp;quot; we can rip out the overlay during a Palm OTA update.  On the next boot the webos version will be different and the patch service -could- attempt to re-patch as many 'patches' as possible.  Since all the patch packages will change to new feed and require update all via preware anyway, we can just leave this to the user to hit update all instead (as it is now), and then all the patches will be installed to the new webos-version overlay.&lt;br /&gt;
&lt;br /&gt;
== Other random things to think about ==&lt;br /&gt;
* what to do with files that are written outside of aupt that will appear in aufs branches?&lt;br /&gt;
* Possibly track the version of the palm package that a patch is applied to, rather than assuming webos version means correct package version.  Would also allow forward compatibility if Palm ever started allowing package updates without webos version changes.  &lt;br /&gt;
* Would it be useful to use combinediff on a pacakge (or file) basis?&lt;br /&gt;
&lt;br /&gt;
=== --[[User:Egaudet|Egaudet]] 22:25, 25 August 2010 (UTC) ===&lt;br /&gt;
&lt;br /&gt;
=== Continued discussion ===&lt;br /&gt;
&lt;br /&gt;
cryptk: &amp;quot;there could be a file that stores the currently selected patch profile, that way the correct aufs overlay is used, after aufs is loaded that file is cleared to be re-written when the upstart service is closed cleanly.  then it would double as our bad boot flag&amp;quot;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Auto-Update_Patch_Technology&amp;diff=10971</id>
		<title>Talk:Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Auto-Update_Patch_Technology&amp;diff=10971"/>
		<updated>2010-08-25T22:25:01Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: New page: Here we can discuss the future of AUPT and where we should go from here.  Here are some ideas I've been thinking about for the next generation of AUPT as a C service using AUFS overlay.  =...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we can discuss the future of AUPT and where we should go from here.  Here are some ideas I've been thinking about for the next generation of AUPT as a C service using AUFS overlay.&lt;br /&gt;
&lt;br /&gt;
== Directory Structure ==&lt;br /&gt;
/media/internal/.patches&lt;br /&gt;
&lt;br /&gt;
* patch.db                                 - patch state database file (doesn't -have- to be database?)&lt;br /&gt;
* webos-$version/                          - version specific overlay&lt;br /&gt;
* webos-$version/&amp;lt;package&amp;gt;/                - palm package&lt;br /&gt;
* webos-$version/&amp;lt;package&amp;gt;/path/to/files   - patched files&lt;br /&gt;
* stock/path/to/files                      - Stock backup files&lt;br /&gt;
* work-area/path/to/files                  - A place to do the actual patching/testing, before copying files to in-use overlay.  This will make sure there are fewer chances to have partial-patch installations and other odd issues that may arise.  (Is this needed or overkill?)&lt;br /&gt;
&lt;br /&gt;
Each &amp;lt;package&amp;gt; would be an aufs branch. Or maybe the C-service/statefile would keep track of the hunk -&amp;gt; file -&amp;gt; package connection.  Today I've been pondering using the source code for GNU patch in the C service.  &lt;br /&gt;
&lt;br /&gt;
== NO overlay branches ==&lt;br /&gt;
These are branches that will need to not be modified by any custom overlay&lt;br /&gt;
* /boot&lt;br /&gt;
* /dev&lt;br /&gt;
* /proc&lt;br /&gt;
* /sys&lt;br /&gt;
* /usr/lib/ipkg&lt;br /&gt;
* /media/internal&lt;br /&gt;
* /lib&lt;br /&gt;
* /bin&lt;br /&gt;
* /sbin&lt;br /&gt;
* /mnt&lt;br /&gt;
&lt;br /&gt;
(Should we just use /usr and /etc as allowable patch branches?)&lt;br /&gt;
&lt;br /&gt;
== Statefile ==&lt;br /&gt;
A database state file with patch information may be needed.  &lt;br /&gt;
Possible things to store are the following:&lt;br /&gt;
* What palm packages and files each patch touches&lt;br /&gt;
* What order the patches were applied in. It may have to be on a per file basis.&lt;br /&gt;
* rw aupt branches (see directory structure) - cryptk brings up good point to make the aupt branches ro as well&lt;br /&gt;
* ro stock branches (see No overlay branches) marking the overlays as 'dirty' and re-starting the service may be needed for updates to patching service.  Possibly provide a way for faulty patches preventing Luna from starting to be detected.&lt;br /&gt;
* current webos version&lt;br /&gt;
&lt;br /&gt;
== Upstart ==&lt;br /&gt;
Upon booting, the upstart service needs to be started as early as possible to get the aufs overlay over before things like Luna start reading files.  The starting of the patch service should do at a bare minimum some sanity checks before mounting the overlay.  Some sort of flag for not booting cleanly the last time should be detected if possible.&lt;br /&gt;
&lt;br /&gt;
== OTA ==&lt;br /&gt;
Using &amp;quot;stop on started start_update&amp;quot; we can rip out the overlay during a Palm OTA update.  On the next boot the webos version will be different and the patch service -could- attempt to re-patch as many 'patches' as possible.  Since all the patch packages will change to new feed and require update all via preware anyway, we can just leave this to the user to hit update all instead (as it is now), and then all the patches will be installed to the new webos-version overlay.&lt;br /&gt;
&lt;br /&gt;
== Other random things to think about ==&lt;br /&gt;
* what to do with files that are written outside of aupt that will appear in aufs branches?&lt;br /&gt;
* Possibly track the version of the palm package that a patch is applied to, rather than assuming webos version means correct package version.  Would also allow forward compatibility if Palm ever started allowing package updates without webos version changes.  &lt;br /&gt;
* Would it be useful to use combinediff on a pacakge (or file) basis?&lt;br /&gt;
&lt;br /&gt;
=== --[[User:Egaudet|Egaudet]] 22:25, 25 August 2010 (UTC) ===&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Keyboss_ss1.png&amp;diff=10929</id>
		<title>File:Keyboss ss1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Keyboss_ss1.png&amp;diff=10929"/>
		<updated>2010-08-23T03:08:44Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: uploaded a new version of &amp;quot;Image:Keyboss ss1.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Lumberjack&amp;diff=10890</id>
		<title>Application:Lumberjack</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Lumberjack&amp;diff=10890"/>
		<updated>2010-08-19T03:43:54Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=Lumberjack&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=0.1.1 Beta&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=Lumberjack_ss1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
{{icon|Icon_WebOSInternals_Lumberjack.png|float:right;}}Lumberjack is an on-device logging tool. It allows you to view and follow the logs for specific applications from the /var/log/messages file.&lt;br /&gt;
&lt;br /&gt;
Its goal is to make debugging apps without a workstation better and easier.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=KeyBoss&amp;diff=10433</id>
		<title>KeyBoss</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=KeyBoss&amp;diff=10433"/>
		<updated>2010-07-03T01:51:58Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: New page: {{application |name=KeyBoss |type=webOS |version=Version: 0.1.0 &amp;lt;br /&amp;gt;(2 Jul 2010) |tag=System Utilities |screenshot=Keyboss_ss1.png |description=  == Summary ==  KeyBoss is an Application...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=KeyBoss&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.1.0 &amp;lt;br /&amp;gt;(2 Jul 2010)&lt;br /&gt;
|tag=System Utilities&lt;br /&gt;
|screenshot=Keyboss_ss1.png&lt;br /&gt;
|description=&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
KeyBoss is an Application + Service combination to give greater control over the keyboard and keyboard events.  It currently allows you to change the repeat rate of the hard keyboard events, emulate keyboard events (used by Virtual Keyboard), and also gives KeyCaps type functionality.  When enabled you can either hold a key for capital letter and/or doubletap a key for the key's symbol.  &lt;br /&gt;
&lt;br /&gt;
NOTE: You must install the Uinput Module package for the KeyCaps and emulation (for VKB) functionalities to work.&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
This is only the first attempt at it, but I hope to add more control and options.  For instance KeyCaps control on a key-by-key basis.  Also maybe keyboard &amp;quot;profiles&amp;quot; to allow quickly switching between languages for instance. &lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Keyboss_ss1.png&amp;diff=10432</id>
		<title>File:Keyboss ss1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Keyboss_ss1.png&amp;diff=10432"/>
		<updated>2010-07-03T01:46:32Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Keyboss_2010-30-06_215524.png&amp;diff=10413</id>
		<title>File:Keyboss 2010-30-06 215524.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Keyboss_2010-30-06_215524.png&amp;diff=10413"/>
		<updated>2010-07-01T01:57:03Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:RemixGlossy.png&amp;diff=10363</id>
		<title>File:RemixGlossy.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:RemixGlossy.png&amp;diff=10363"/>
		<updated>2010-06-21T03:03:17Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: uploaded a new version of &amp;quot;Image:RemixGlossy.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:RemixClassic.png&amp;diff=10362</id>
		<title>File:RemixClassic.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:RemixClassic.png&amp;diff=10362"/>
		<updated>2010-06-21T03:02:31Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: uploaded a new version of &amp;quot;Image:RemixClassic.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Remix_ice.png&amp;diff=10353</id>
		<title>File:Remix ice.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Remix_ice.png&amp;diff=10353"/>
		<updated>2010-06-18T23:12:15Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9077</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9077"/>
		<updated>2010-02-16T06:01:34Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
=== Emergency File Verification ===&lt;br /&gt;
Upon installation, this package will run through all known stock md5sums and check against the known safe patch technology version(s).  Simply install this package and if you receive an error that means that there is some unknown or outdated file modification or patch installation.  If installing via Preware you can tap &amp;quot;Show IPKG log&amp;quot; to see which packages/files are touched by outdated/unknown patching technologies.  You can also check the webos-patches.log file in USB mode for this information.  &lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
==== Preware ====&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
==== WebOS Quick Install ====&lt;br /&gt;
WebOS Quick Install is fully compatible with webOS-Internals Auto-Update Patch Technology (AUPT). When you enter the Tweaks section, after a webOS update, WebOS Quick Install will detect the version change and will open an update helper.&lt;br /&gt;
&lt;br /&gt;
For on-feed patches , the update helper will update out-of-date patches to the new version's equivalent (or a dummy package if an updated patch has not yet been released).&lt;br /&gt;
&lt;br /&gt;
For [http://forums.precentral.net/canuck-software/210767-how-install-patch-files-wosqi.html .patch files installed with WebOS Quick Install], the update helper will uninstall them. It will also check to see if the patch can be successfully re-applied. If it can be re-applied, the patch will be reinstalled.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== AUPT Versions ==&lt;br /&gt;
&lt;br /&gt;
=== aupt-1 ===&lt;br /&gt;
* First implementation&lt;br /&gt;
&lt;br /&gt;
=== aupt-2 === &lt;br /&gt;
* Attempt to re-order logic in prerm to check for OTA first before trying to -R the patch &lt;br /&gt;
&lt;br /&gt;
=== aupt-3 ===&lt;br /&gt;
* Fixed order of OTA checking to avoid potential rare case of OTA containing changes that allow a patch to -R incorrectly&lt;br /&gt;
* Fixed bug in aupt-2 so that patches actually get unapplied&lt;br /&gt;
* Renamed backups file to file_list in patch control dir to avoid potential conflicts with Palm backup operations&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
* aupt-2 has a bug in the removal logic that cause it to see all packages as updated and removes the package without actually unapplying the patch.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9072</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9072"/>
		<updated>2010-02-16T02:07:24Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
=== Emergency File Verification ===&lt;br /&gt;
Upon installation, this package will run through all known stock md5sums and check against the known safe patch technology version(s).  Simply install this package and if you receive an error that means that there is some unknown or outdated file modification or patch installation.  If installing via Preware you can tap &amp;quot;Show IPKG log&amp;quot; to see which packages/files are touched by outdated/unknown patching technologies.  You can also check the webos-patches.log file in USB mode for this information.  &lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
==== Preware ====&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
==== WebOS Quick Install ====&lt;br /&gt;
WebOS Quick Install is fully compatible with webOS-Internals Auto-Update Patch Technology (AUPT). When you enter the Tweaks section, after a webOS update, WebOS Quick Install will detect the version change and will open an update helper.&lt;br /&gt;
&lt;br /&gt;
For on-feed patches , the update helper will update out-of-date patches to the new version's equivalent (or a dummy package if an updated patch has not yet been released).&lt;br /&gt;
&lt;br /&gt;
For [http://forums.precentral.net/canuck-software/210767-how-install-patch-files-wosqi.html .patch files installed with WebOS Quick Install], the update helper will uninstall them. It will also check to see if the patch can be successfully re-applied. If it can be re-applied, the patch will be reinstalled.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== AUPT Versions ==&lt;br /&gt;
&lt;br /&gt;
=== aupt-1 ===&lt;br /&gt;
* First implementation&lt;br /&gt;
&lt;br /&gt;
=== aupt-2 === &lt;br /&gt;
* Re-ordered logic in prerm to check for OTA first before trying to -R the patch &lt;br /&gt;
* '''Bug causes all patches to believe they are OTA on removal and thus do not actually unapply the patch'''&lt;br /&gt;
&lt;br /&gt;
=== aupt-3 ===&lt;br /&gt;
* Fixed bug in aupt-2 so that patches actually get unapplied&lt;br /&gt;
* Renamed backups file to file_list in patch control dir&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
* aupt-2 has a bug in the removal logic that cause it to see all packages as updated and removes the package without actually unapplying the patch.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9071</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9071"/>
		<updated>2010-02-16T01:14:25Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
==== Preware ====&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
==== WebOS Quick Install ====&lt;br /&gt;
WebOS Quick Install is fully compatible with webOS-Internals Auto-Update Patch Technology (AUPT). When you enter the Tweaks section, after a webOS update, WebOS Quick Install will detect the version change and will open an update helper.&lt;br /&gt;
&lt;br /&gt;
For on-feed patches , the update helper will update out-of-date patches to the new version's equivalent (or a dummy package if an updated patch has not yet been released).&lt;br /&gt;
&lt;br /&gt;
For [http://forums.precentral.net/canuck-software/210767-how-install-patch-files-wosqi.html .patch files installed with WebOS Quick Install], the update helper will uninstall them. It will also check to see if the patch can be successfully re-applied. If it can be re-applied, the patch will be reinstalled.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== AUPT Versions ==&lt;br /&gt;
&lt;br /&gt;
=== aupt-1 ===&lt;br /&gt;
* First implementation&lt;br /&gt;
&lt;br /&gt;
=== aupt-2 === &lt;br /&gt;
* Re-ordered logic in prerm to check for OTA first before trying to -R the patch &lt;br /&gt;
* '''Bug causes all patches to believe they are OTA on removal and thus do not actually unapply the patch'''&lt;br /&gt;
&lt;br /&gt;
=== aupt-3 ===&lt;br /&gt;
* Fixed bug in aupt-2 so that patches actually get unapplied&lt;br /&gt;
* Renamed backups file to file_list in patch control dir&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
* aupt-2 has a bug in the removal logic that cause it to see all packages as updated and removes the package without actually unapplying the patch.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9070</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9070"/>
		<updated>2010-02-16T01:14:06Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
==== Preware ====&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
==== WebOS Quick Install ====&lt;br /&gt;
WebOS Quick Install is fully compatible with webOS-Internals Auto-Update Patch Technology (AUPT). When you enter the Tweaks section, after a webOS update, WebOS Quick Install will detect the version change and will open an update helper.&lt;br /&gt;
&lt;br /&gt;
For on-feed patches , the update helper will update out-of-date patches to the new version's equivalent (or a dummy package if an updated patch has not yet been released).&lt;br /&gt;
&lt;br /&gt;
For [http://forums.precentral.net/canuck-software/210767-how-install-patch-files-wosqi.html .patch files installed with WebOS Quick Install], the update helper will uninstall them. It will also check to see if the patch can be successfully re-applied. If it can be re-applied, the patch will be reinstalled.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== AUPT Versions ==&lt;br /&gt;
&lt;br /&gt;
=== aupt-1 ===&lt;br /&gt;
* First implementation&lt;br /&gt;
&lt;br /&gt;
=== aupt-2 === &lt;br /&gt;
* Re-ordered logic in prerm to check for OTA first before trying to -R the patch &lt;br /&gt;
* '''Bug causes all patches to believe they are OTA on removal and thus do not actually unapply the patch'''&lt;br /&gt;
&lt;br /&gt;
=== aupt-3 ===&lt;br /&gt;
* Fixed bug in aupt-2 so that patches actually get unapplied&lt;br /&gt;
* Renamed backups file to file_list in patch control dir&lt;br /&gt;
&lt;br /&gt;
All versions are fully compatible with each other&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
* aupt-2 has a bug in the removal logic that cause it to see all packages as updated and removes the package without actually unapplying the patch.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9068</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9068"/>
		<updated>2010-02-15T20:38:49Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
==== Preware ====&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
==== WebOS Quick Install ====&lt;br /&gt;
WebOS Quick Install is fully compatible with webOS-Internals Auto-Update Patch Technology (AUPT). When you enter the Tweaks section, after a webOS update, WebOS Quick Install will detect the version change and will open an update helper.&lt;br /&gt;
&lt;br /&gt;
For on-feed patches , the update helper will update out-of-date patches to the new version's equivalent (or a dummy package if an updated patch has not yet been released).&lt;br /&gt;
&lt;br /&gt;
For [http://forums.precentral.net/canuck-software/210767-how-install-patch-files-wosqi.html .patch files installed with WebOS Quick Install], the update helper will uninstall them. It will also check to see if the patch can be successfully re-applied. If it can be re-applied, the patch will be reinstalled.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== AUPT Versions ==&lt;br /&gt;
* aupt-1: First implementation&lt;br /&gt;
* aupt-2: Re-ordered logic in prerm to check for OTA first before trying to -R the patch '''EVIL bug causes all patches to believe they are OTA on removal'''&lt;br /&gt;
&lt;br /&gt;
All versions are fully compatible with each other&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
* aupt-2 has a bug in the removal logic that cause it to see all packages as updated and removes the package without actually unapplying the patch.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9067</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9067"/>
		<updated>2010-02-15T20:13:56Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
==== Preware ====&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
==== WebOS Quick Install ====&lt;br /&gt;
WebOS Quick Install is fully compatible with webOS-Internals Auto-Update Patch Technology (AUPT). When you enter the Tweaks section, after a webOS update, WebOS Quick Install will detect the version change and will open an update helper.&lt;br /&gt;
&lt;br /&gt;
For on-feed patches , the update helper will update out-of-date patches to the new version's equivalent (or a dummy package if an updated patch has not yet been released).&lt;br /&gt;
&lt;br /&gt;
For [http://forums.precentral.net/canuck-software/210767-how-install-patch-files-wosqi.html .patch files installed with WebOS Quick Install], the update helper will uninstall them. It will also check to see if the patch can be successfully re-applied. If it can be re-applied, the patch will be reinstalled.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== AUPT Versions ==&lt;br /&gt;
* aupt-1: First implementation&lt;br /&gt;
* aupt-2: Re-ordered logic in prerm to check for OTA first before trying to -R the patch&lt;br /&gt;
&lt;br /&gt;
All versions are fully compatible with each other&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
* aupt-1 and aupt-2 have a bug in the removal logic that cause it to see all packages as updated and removes the package without actually unapplying the patch.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9026</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9026"/>
		<updated>2010-02-12T04:48:27Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== AUPT Versions ==&lt;br /&gt;
* aupt-1: First implementation&lt;br /&gt;
* aupt-2: Re-ordered logic in prerm to check for OTA first before trying to -R the patch&lt;br /&gt;
&lt;br /&gt;
All versions are fully compatible with each other&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9025</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9025"/>
		<updated>2010-02-12T03:39:08Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  Currently aupt-1 is the only version of aupt.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
* Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
* Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
* Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9024</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9024"/>
		<updated>2010-02-12T03:28:45Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  Currently aupt-1 is the only version of aupt.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
* It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
* When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
1) Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
2) Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
3) Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9023</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9023"/>
		<updated>2010-02-12T03:28:21Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  Currently aupt-1 is the only version of aupt.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
* If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
* Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
* webOS Repair Utility&lt;br /&gt;
* webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  After an OTA update perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* Launch Preware&lt;br /&gt;
* Tap application menu -&amp;gt; Update Feeds&lt;br /&gt;
* Tap Package Updates &lt;br /&gt;
* Tap Update All.&lt;br /&gt;
&lt;br /&gt;
(SEE: Known Issues section for known roadbumps in Preware's Update All function with regards to patches)&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
1) It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
&lt;br /&gt;
2.) When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
1) Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
2) Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
3) Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9022</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9022"/>
		<updated>2010-02-12T03:25:58Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  Currently aupt-1 is the only version of aupt.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
1) If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
2) If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
3) If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
1) Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
2) webOS Repair Utility&lt;br /&gt;
3) webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap Update All.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to be included into the webos-patches feed found in Preware and webOS Quick Install to: http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
1) It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
&lt;br /&gt;
2.) When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
1) Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
2) Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
3) Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9021</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9021"/>
		<updated>2010-02-12T03:25:26Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  Currently aupt-1 is the only version of aupt.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
1) If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
2) If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
3) If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
1) Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
2) webOS Repair Utility&lt;br /&gt;
3) webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap Update All.&lt;br /&gt;
&lt;br /&gt;
== Submissions ==&lt;br /&gt;
Submit all patches to http://patches.webos-internals.org/&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
1) It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
&lt;br /&gt;
2.) When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
1) Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
2) Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
3) Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9020</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9020"/>
		<updated>2010-02-12T03:23:46Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new webOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new webOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or webOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  Currently aupt-1 is the only version of aupt.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== webOS Doctor ===&lt;br /&gt;
&lt;br /&gt;
The webOS Doctor is a great way to ensure you are running completely stock Palm webOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
1) If you used a doctor version that is a PRIOR webOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
2) If you used a doctor version that is the SAME webOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
3) If you used a doctor version that is a LATER webOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a webOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and webOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm webOS files is by using the webOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
1) Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
2) webOS Repair Utility&lt;br /&gt;
3) webOS Doctor&lt;br /&gt;
&lt;br /&gt;
AUPT patches are built with smart post-install scripts that are able to detect when a patch is already applied to the stock webOS files.  If you remember all the patches you had installed before the partial/full erase you may simply re-install each Patch individually as usual (Preware or QI v3.01 or later)&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
In the past it was recommended and required to remove all patches prior to updating webOS Over The Air (OTA).  The new AUPT system makes this unnecessary and allows you to leave patches installed and then update them all after an OTA update to a new version of webOS.  After a webOS OTA update you may use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap Update All.&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
=== Preware ===&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
1) It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
&lt;br /&gt;
2.) When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
There are rare circumstances where a collection of patches in the same category may have to be installed/removed in a certain order and may fail (safely) to install or remove in different orders.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a webOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a webOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock webOS by performing a full erase followed by a webOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
1) Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
2) Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
3) Perform webOS Doctor to ensure all Palm webOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9019</id>
		<title>Auto-Update Patch Technology</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Auto-Update_Patch_Technology&amp;diff=9019"/>
		<updated>2010-02-12T03:13:23Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: New page: == Introduction == Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Auto-Update Patch Technology (AUPT) is the existing patching technology found in all homebrew patches in the webos-patches feed. AUPT is built into the installation and removal scripts of patches and allows patches to be installed/removed even after faulty installs, partial or full erases, webos doctors and even OTA updates to new WebOS versions!&lt;br /&gt;
&lt;br /&gt;
There is also a concept of placeholder patches in the webos-patches feeds.  All patches will at least build a dummy package with version ending in -0.  These dummy packages may be installed to serve as a placeholder so that when they are ported to the new WebOS version you will see the Update available in Preware. This will be useful to know when a patch has been ported to the new WebOS version after an OTA update without having to check the forums every so often.&lt;br /&gt;
&lt;br /&gt;
All patch installations and removals will now log to /media/internal/webos-patches.log and should be examined for detailed information with regards to any patch installation or removal failures.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Always install patches with Preware or WebOS Quick Install v3.01 or later.  &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
You may wish to verify that all of your installed patches were indeed installed with AUPT built in and that there are no left-over older or incompatible patches installed.  In order to do this, you can open the text file .webosinternals.patches.packages found in USB mode from your PC.  Each package should contain &amp;quot;aupt-N&amp;quot; indicating the version of aupt built into that patch.  Currently aupt-1 is the only version of aupt.  If there are ANY lines in that file that contain nothing after the package name that indicates an old incompatible technology was built into that patch.  '''Remove these packages immediately and re-install'''  (see: Installation section)&lt;br /&gt;
&lt;br /&gt;
== Re-installation and Upgrades ==&lt;br /&gt;
There are various scenarios you may find yourself in where a patch may be installed or uninstalled.  We will discuss what to do after each of these situations.  &lt;br /&gt;
&lt;br /&gt;
=== WebOS Doctor ===&lt;br /&gt;
The WebOS Doctor is a great way to ensure you are running completely stock Palm WebOS files in the root filesystem.  There are 3 situations you can be in with patches installed after WebOS Doctor.&lt;br /&gt;
&lt;br /&gt;
1) If you used a doctor version that is a PRIOR WebOS version than the one that was running when you installed the Patches, install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR) to wipe the device of the patch package information.  There are no supported downgrade automatic patch installations.&lt;br /&gt;
&lt;br /&gt;
2) If you used a doctor version that is the SAME WebOS version as the one that was used to install the Patches, simply install &amp;quot;Emergency Service Enabler&amp;quot; (ESE) to re-apply all of your installed patches.&lt;br /&gt;
&lt;br /&gt;
3) If you used a doctor version that is a LATER WebOS version than the one that was running when you installed the Patches, use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
=== Partial/Full Erase ===&lt;br /&gt;
All of your homebrew and App Catalog packages as well as all media data including pictures survive a WebOS Doctor and sometimes it is desired to wipe clean the media partition or remove all packages.  The situation may arise where you needed to do a partial or full erase without doctoring the device.  If you perform a partial or full erase while patches are installed, this will only remove the package data that lists these patches as installed in Preware and WebOS Quick Install.  The patches will still be applied to Palm's WebOS files.  There is not yet a supported method to recover the patch package data.  For now it is recommended to clean up all the patches via one of the following methods.  These methods are listed in order of robustness.  '''The only -guaranteed- way to ensure stock Palm WebOS files is by using the WebOS doctor: [[Webos Doctor Versions]]'''&lt;br /&gt;
&lt;br /&gt;
1) Install &amp;quot;Emergency Patch Recovery&amp;quot; (EPR)&lt;br /&gt;
2) WebOS Repair Utility&lt;br /&gt;
3) WebOS Doctor&lt;br /&gt;
&lt;br /&gt;
=== OTA Update ===&lt;br /&gt;
During previous Use Preware's Update All feature.  Launch Preware, Update Feeds, tap Package updates and tap update all.  &lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
There are some known bumps in Preware's update-all with regards to patches, but no major roadblocks. The known issues and workarounds for them are:&lt;br /&gt;
&lt;br /&gt;
1) It will stop when trying to update a dependent package. The workaround here is to remove patches that depend on another patch or package that has an update. For instance the uscl memos patch depends on universal command line patch. The update all will fail when it gets to these patches, and you can workaround that by removing the uscl memos patch and then re-running update all.&lt;br /&gt;
&lt;br /&gt;
2.) When the &amp;quot;install&amp;quot; part of the remove/install update process for a patch fails, Preware's installed list doesn't refresh automatically so the failed patch still lists on the update screen as installed. You can workaround this by updating feeds or tapping &amp;quot;remove&amp;quot; on the left-over package in Preware.&lt;br /&gt;
&lt;br /&gt;
== Known Conflicts ==&lt;br /&gt;
* Greg's great Messaging Plugins solution contains a patch to the messaging application that has yet to be incorporated with AUPT.  This may cause conflicts with some messaging patches causing installation to fail and should -always- be removed prior to a WebOS OTA update.&lt;br /&gt;
* Themes have yet to be incorporated into AUPT and may cause conflicts with patches.  Themes should also -always- be removed prior to a WebOS OTA update.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Patching is by nature a very ugly beast.  There are bound to be unforeseen issues and difficult to debug situations.  In the end you can always get back to a completely stock WebOS by performing a full erase followed by a WebOS doctor.  Here we will list some known problems and workarounds.&lt;br /&gt;
&lt;br /&gt;
== Emergency ==&lt;br /&gt;
In the event that you find yourself in an unsupported situation with regards to patching or simply want to ensure a clean slate of stock Palm WebOS files without any patches, the following is the only guaranteed method:&lt;br /&gt;
&lt;br /&gt;
1) Backup / take not of any homebrew packages installed as well as any App Catalog applications that are not backed up via your Palm Profile&lt;br /&gt;
2) Go into device info -&amp;gt; reset -&amp;gt; Partial Erase to erase all applications.&lt;br /&gt;
3) Perform WebOS Doctor to ensure all Palm WebOS files are stock.&lt;br /&gt;
&lt;br /&gt;
You may also try the quick solution of installing &amp;quot;Emergency Patch Recovery&amp;quot; (EPR).  Please note that this relies on information that patches saved/stored and is not a robust or guaranteed way to ensure patches are completely removed.  It is very safe and works a vast majority of the time as intended, it simply is not guaranteed to clean up everything.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=On_Screen_Keyboard&amp;diff=8924</id>
		<title>On Screen Keyboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=On_Screen_Keyboard&amp;diff=8924"/>
		<updated>2010-02-04T17:32:36Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
[[Image: VirtualKeyboard_1.png|thumb|right]]&lt;br /&gt;
[[Image: VirtualKeyboard_2.png|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
=Intoduction=&lt;br /&gt;
[[Image: VirtualKeyboard_3.png|thumb|right]]&lt;br /&gt;
The Palm Pre lacks a stock Virtual Keyboard, which can come in handy in many situations.  Having a virtual keyboard is good for quick text responses/notes without having to stress the slider too much.  Although the biggest use for a virtual keyboard on the Palm Pre is landscape mode.  The goal of this Patch/Application is to have a fully integrated Virtual Keyboard for the many tasks where it is an inconvenience to use the hardware keyboard.&lt;br /&gt;
&lt;br /&gt;
=Operation= &lt;br /&gt;
Unlike the Palm Symbol keyboard, you do not have to open the Pre's hardware keyboard to get the on-screen keyboard.  Double-tapping the gesture area (near the round silver button) will bring up the on-screen keyboard if you are in a text input field. Tap with two fingers separated or Double-tap quickly.  Currently the rendering takes a few seconds, and a 3rd tap will hide/stop the rendering.  After you double-tap the blinking cursor should freeze for a few seconds while the keyboard renders.  Be patient, future versions will work to minimize the load lag.  When the Virtual Keyboard is displayed, a single tap on the gesture area will hide it.&lt;br /&gt;
&lt;br /&gt;
=== Theme Selector key ===&lt;br /&gt;
[[Image: VirtualKeyboard_4.png|160px|bottom]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Theme Selector key is the lower left gears key on the default theme.  On the remix themes the theme selector key is the lower right blank key.  Tapping this brings up a list of installed themes to switch between.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Drag Mode Key ===&lt;br /&gt;
[[Image: VirtualKeyboard_5.png|160px|bottom]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Keyboard Drag-mode key is the finger key on the lower right side of the keyboard.  On the remix themes the drag-mode key is the lower left blank key.  Tapping this puts the keyboard into drag-mode, simply drag and drop the keyboard up and down the screen while this key is active.&lt;br /&gt;
&lt;br /&gt;
=Installation Procedure=&lt;br /&gt;
Use the WebOS Internals over the air installer [[Application:Preware|Preware]] and simply select the software keyboard from the list of available patches and install it.  From Preware go to Available Pacakges -&amp;gt; Patch -&amp;gt; Mojo to find the Virtual Keyboard.&lt;br /&gt;
&lt;br /&gt;
=Known Issues=&lt;br /&gt;
* 3-second Load Lag&lt;br /&gt;
* Must highlight the text box that was highlighted when the VKB was drawn in order to single-tap hide&lt;br /&gt;
* Backspace/Enter does not work in web pages &lt;br /&gt;
* Lacks Autocorrect&lt;br /&gt;
* Need configuration/customization application support&lt;br /&gt;
&lt;br /&gt;
=Themes and Options=&lt;br /&gt;
You may wish to add haptic feedback, click sound feedback and/or custom themes.  Currently this consists of editing json file(s).  For detailed information on themes and options: [[Virtual Keyboard Configuration]]&lt;br /&gt;
&lt;br /&gt;
=Technical Background, Explanation and History=&lt;br /&gt;
On an unmodified Pre if you press the &amp;quot;sym&amp;quot; key a scrollable 5x5 keyboard pops up full of alternate characters. &lt;br /&gt;
&lt;br /&gt;
This is controlled by code incorporated into the framework.js.  The specific functions there can be seeen in '''/usr/palm/frameworks/mojo/submissions/&amp;lt;framework_version&amp;gt;/javascripts/widget_charselector.js'''&lt;br /&gt;
&lt;br /&gt;
with the layout controlled by 3 files in '''/usr/palm/frameworks/mojo/submissions/&amp;lt;framework_version&amp;gt;/templates/charselector'''&lt;br /&gt;
&lt;br /&gt;
the actual list of characters that appear on the screen is controlled by '''/usr/palm/frameworks/mojo/submissions/&amp;lt;framework_version&amp;gt;/resources/en_us/alternatechars_table.json'''&lt;br /&gt;
&lt;br /&gt;
On 12 August 2009 Webos-internals contributor Eric Gaudet (irc egaudet) announced success at patching the framework.js to accept a new function derived from the charselector widget.  This pre-alpha proof of concept on-screen keyboard was made available as a patch.   Since that time, the keyboard has been extended to work in search fields, to be installable as an IPKG, and to be themeable.  &lt;br /&gt;
&lt;br /&gt;
''Note that this requires patching the primary framework of WebOS.'' This is not an application running on top of WebOS but rather a modification of the operation of the OS itself to render a custom widget.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Virtual_Keybord_Configuration&amp;diff=8923</id>
		<title>Virtual Keybord Configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Virtual_Keybord_Configuration&amp;diff=8923"/>
		<updated>2010-02-04T17:29:38Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: Virtual Keybord Configuration moved to Virtual Keyboard Configuration&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Virtual Keyboard Configuration]]&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Virtual_Keyboard_Configuration&amp;diff=8922</id>
		<title>Virtual Keyboard Configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Virtual_Keyboard_Configuration&amp;diff=8922"/>
		<updated>2010-02-04T17:29:38Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: Virtual Keybord Configuration moved to Virtual Keyboard Configuration&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Options and Themes=&lt;br /&gt;
&lt;br /&gt;
The keyboard has several user configurable options.  As of 28 August 2009 there is no keyboard configuration app.  However, '''you do not have to have root access''' to configure the keyboard.  Simply attach your Pre to your computer in USB Drive Mode.  Then, navigate to the Pre's USB drive.  On your desktop, there will be a directory (folder) called virtual-keyboard. (From within the Pre this is /media/internal/virtual-keyboard ''which is the same place''.)  &lt;br /&gt;
&lt;br /&gt;
Inside that folder, you will find a file named virtual-keyboard/kb_config.json.  Use your editor of choice (such as Wordpad - ''do not use MS Word'') to edit that file.  You may change any of the following options: &lt;br /&gt;
* haptic    : &amp;lt;number&amp;gt;  - How long to vibrate upon touch (0 - 100 ms) (50 seems good.  100 makes the keyboard lag a little. &lt;br /&gt;
* clickFile : &amp;lt;string&amp;gt;  - Sound file if any to play upon button click (e.g. click1.wav)&lt;br /&gt;
* installed_themes : [{label:&amp;lt;string&amp;gt;,value:&amp;lt;string&amp;gt;},...] - Installed themes, label is the display name and value is the themes folder name&lt;br /&gt;
* theme     : &amp;lt;string&amp;gt;  - Name of keyboard theme to use. Three themes ship with the keyboard: &lt;br /&gt;
** remix_classic&lt;br /&gt;
** remix_glossy&lt;br /&gt;
** remix_ice&lt;br /&gt;
*: You may choose any of the three or add your own theme in an appropriate folder and name it as you please.  See below on creating theme files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Remix Classic [[Image:remixClassic.png|70px]]&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Remix Glossy [[Image:remixGlossy.png|70px]]&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Remix Ice [[Image:remixIce.png|70px]]&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Available Themes - Not working ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&lt;br /&gt;
'''Eazys Theme''' [[image:28731d1251393689-screen-keyboard-bugs-functionality-enhancements-messaging_2009-27-08_121219.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28732d1251393700-screen-keyboard-bugs-functionality-enhancements-eazys_theme.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;'''Eazys Theme 2''' [[image:eazystheme2.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28963d1251487552-screen-keyboard-bugs-functionality-enhancements-eazys_theme2.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;'''Eazys Theme Gloss''' [[image:eazysthemegloss.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28953d1251482182-screen-keyboard-bugs-functionality-enhancements-eazys_themegloss.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;'''Eazys Trans''' [[image:eazystrans.png|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28924d1251474261-screen-keyboard-bugs-functionality-enhancements-eazys_trans.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;'''dianehelen Glossy Blue''' [[image:glossyblue.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29123d1251633769-screen-keyboard-bugs-functionality-enhancements-glossy_blue.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;'''2sslow Blue''' [[Image:messaging_2009-27-08_213107.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28850d1251436402-screen-keyboard-bugs-functionality-enhancements-2sslow_blue.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;'''pychozoundz sleek light'''  [[Image:SleekLight.jpg|thumb|80px]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;'''and dark'''[[Image:sleekDark.jpg|thumb|80px]][http://www.2shared.com/file/7441193/71eb02de/sleek_light_dark.html]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Un-Designer LucasPapaya [[Image:LucasPapaya.jpg|thumb|80px]] [http://dl.getdropbox.com/u/15257/LucasPapaya.zip]&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TD&amp;gt; '''dianehelen Autumn''' [[image:autumnkb.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29125d1251633839-screen-keyboard-bugs-functionality-enhancements-autumn.zip]&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt; &amp;lt;TD&amp;gt;'''dianehelen Denali''' [[image:denalikb.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29127d1251633870-screen-keyboard-bugs-functionality-enhancements-denali.zip]&lt;br /&gt;
&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dianehelen RBW(RedBlackWhite)''' [[image:rbwkb.jpg|thumb|80px]] Download [http://forums.precentral.net/attachments/web-os-development/29218d1251678400-onscreen-keyboard-theme-instructions-rwb.zip]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating Keyboard Themes=&lt;br /&gt;
The virtual keyboard layout is a &amp;quot;list&amp;quot; of rows containing 10 &amp;quot;elements&amp;quot; each.  The design allows for the keys to span multiple elements.&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard will look for themes located at /media/internal/virtual-keyboard/themes/&lt;br /&gt;
In this directory there shall exist theme-named directories with the following structure and options:&lt;br /&gt;
&lt;br /&gt;
theme_config.json is the file that will control what images in this directory should be used and how.  &lt;br /&gt;
&lt;br /&gt;
The first layer of the JSON for each key element will have 3 parts:&lt;br /&gt;
index:&amp;lt;Integer&amp;gt;,portrait:{},landscape:{}&lt;br /&gt;
&lt;br /&gt;
index - index of key&lt;br /&gt;
portrait - orientation JSON describing theme layout for portrait mode&lt;br /&gt;
landscape - orientation JSON describing theme layout for landscape mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside of the orientation JSON's we have another 3 parts:&lt;br /&gt;
normal:{},function:{},shift:{}&lt;br /&gt;
&lt;br /&gt;
normal - key description JSON when in normal keyboard&lt;br /&gt;
function - key description JSON when function (orange) key is active&lt;br /&gt;
shift - key description JSON when shift key is active&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The key description JSON has the following 4 parts:&lt;br /&gt;
keyCode:&amp;lt;Integer&amp;gt;,display:{},output:&amp;lt;String&amp;gt;,span:&amp;lt;Integer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
keyCode - currently only used for special action keys (shift, function, etc..)&lt;br /&gt;
display - key display JSON&lt;br /&gt;
output - output string when key is pressed&lt;br /&gt;
span - number of element-widths to span (1 element-width=10%)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The key display JSON has 2 parts:&lt;br /&gt;
html:&amp;lt;String&amp;gt;,img:&amp;lt;String&amp;gt;&lt;br /&gt;
&lt;br /&gt;
html - HTML to display as element if no img supplied&lt;br /&gt;
img - Image (including relative path in this theme's directory) to display as element&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Virtual_Keyboard_Configuration&amp;diff=8921</id>
		<title>Virtual Keyboard Configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Virtual_Keyboard_Configuration&amp;diff=8921"/>
		<updated>2010-02-04T17:25:10Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: New page: =Options and Themes=  The keyboard has several user configurable options.  As of 28 August 2009 there is no keyboard configuration app.  However, '''you do not have to have root access''' ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Options and Themes=&lt;br /&gt;
&lt;br /&gt;
The keyboard has several user configurable options.  As of 28 August 2009 there is no keyboard configuration app.  However, '''you do not have to have root access''' to configure the keyboard.  Simply attach your Pre to your computer in USB Drive Mode.  Then, navigate to the Pre's USB drive.  On your desktop, there will be a directory (folder) called virtual-keyboard. (From within the Pre this is /media/internal/virtual-keyboard ''which is the same place''.)  &lt;br /&gt;
&lt;br /&gt;
Inside that folder, you will find a file named virtual-keyboard/kb_config.json.  Use your editor of choice (such as Wordpad - ''do not use MS Word'') to edit that file.  You may change any of the following options: &lt;br /&gt;
* haptic    : &amp;lt;number&amp;gt;  - How long to vibrate upon touch (0 - 100 ms) (50 seems good.  100 makes the keyboard lag a little. &lt;br /&gt;
* clickFile : &amp;lt;string&amp;gt;  - Sound file if any to play upon button click (e.g. click1.wav)&lt;br /&gt;
* installed_themes : [{label:&amp;lt;string&amp;gt;,value:&amp;lt;string&amp;gt;},...] - Installed themes, label is the display name and value is the themes folder name&lt;br /&gt;
* theme     : &amp;lt;string&amp;gt;  - Name of keyboard theme to use. Three themes ship with the keyboard: &lt;br /&gt;
** remix_classic&lt;br /&gt;
** remix_glossy&lt;br /&gt;
** remix_ice&lt;br /&gt;
*: You may choose any of the three or add your own theme in an appropriate folder and name it as you please.  See below on creating theme files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Remix Classic [[Image:remixClassic.png|70px]]&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Remix Glossy [[Image:remixGlossy.png|70px]]&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;Remix Ice [[Image:remixIce.png|70px]]&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional Available Themes - Not working ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&lt;br /&gt;
'''Eazys Theme''' [[image:28731d1251393689-screen-keyboard-bugs-functionality-enhancements-messaging_2009-27-08_121219.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28732d1251393700-screen-keyboard-bugs-functionality-enhancements-eazys_theme.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;'''Eazys Theme 2''' [[image:eazystheme2.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28963d1251487552-screen-keyboard-bugs-functionality-enhancements-eazys_theme2.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;'''Eazys Theme Gloss''' [[image:eazysthemegloss.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28953d1251482182-screen-keyboard-bugs-functionality-enhancements-eazys_themegloss.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;'''Eazys Trans''' [[image:eazystrans.png|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28924d1251474261-screen-keyboard-bugs-functionality-enhancements-eazys_trans.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;'''dianehelen Glossy Blue''' [[image:glossyblue.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29123d1251633769-screen-keyboard-bugs-functionality-enhancements-glossy_blue.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;'''2sslow Blue''' [[Image:messaging_2009-27-08_213107.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28850d1251436402-screen-keyboard-bugs-functionality-enhancements-2sslow_blue.zip]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;'''pychozoundz sleek light'''  [[Image:SleekLight.jpg|thumb|80px]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;'''and dark'''[[Image:sleekDark.jpg|thumb|80px]][http://www.2shared.com/file/7441193/71eb02de/sleek_light_dark.html]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Un-Designer LucasPapaya [[Image:LucasPapaya.jpg|thumb|80px]] [http://dl.getdropbox.com/u/15257/LucasPapaya.zip]&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TD&amp;gt; '''dianehelen Autumn''' [[image:autumnkb.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29125d1251633839-screen-keyboard-bugs-functionality-enhancements-autumn.zip]&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt; &amp;lt;TD&amp;gt;'''dianehelen Denali''' [[image:denalikb.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29127d1251633870-screen-keyboard-bugs-functionality-enhancements-denali.zip]&lt;br /&gt;
&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''dianehelen RBW(RedBlackWhite)''' [[image:rbwkb.jpg|thumb|80px]] Download [http://forums.precentral.net/attachments/web-os-development/29218d1251678400-onscreen-keyboard-theme-instructions-rwb.zip]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating Keyboard Themes=&lt;br /&gt;
The virtual keyboard layout is a &amp;quot;list&amp;quot; of rows containing 10 &amp;quot;elements&amp;quot; each.  The design allows for the keys to span multiple elements.&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard will look for themes located at /media/internal/virtual-keyboard/themes/&lt;br /&gt;
In this directory there shall exist theme-named directories with the following structure and options:&lt;br /&gt;
&lt;br /&gt;
theme_config.json is the file that will control what images in this directory should be used and how.  &lt;br /&gt;
&lt;br /&gt;
The first layer of the JSON for each key element will have 3 parts:&lt;br /&gt;
index:&amp;lt;Integer&amp;gt;,portrait:{},landscape:{}&lt;br /&gt;
&lt;br /&gt;
index - index of key&lt;br /&gt;
portrait - orientation JSON describing theme layout for portrait mode&lt;br /&gt;
landscape - orientation JSON describing theme layout for landscape mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside of the orientation JSON's we have another 3 parts:&lt;br /&gt;
normal:{},function:{},shift:{}&lt;br /&gt;
&lt;br /&gt;
normal - key description JSON when in normal keyboard&lt;br /&gt;
function - key description JSON when function (orange) key is active&lt;br /&gt;
shift - key description JSON when shift key is active&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The key description JSON has the following 4 parts:&lt;br /&gt;
keyCode:&amp;lt;Integer&amp;gt;,display:{},output:&amp;lt;String&amp;gt;,span:&amp;lt;Integer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
keyCode - currently only used for special action keys (shift, function, etc..)&lt;br /&gt;
display - key display JSON&lt;br /&gt;
output - output string when key is pressed&lt;br /&gt;
span - number of element-widths to span (1 element-width=10%)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The key display JSON has 2 parts:&lt;br /&gt;
html:&amp;lt;String&amp;gt;,img:&amp;lt;String&amp;gt;&lt;br /&gt;
&lt;br /&gt;
html - HTML to display as element if no img supplied&lt;br /&gt;
img - Image (including relative path in this theme's directory) to display as element&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=On_Screen_Keyboard&amp;diff=8920</id>
		<title>On Screen Keyboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=On_Screen_Keyboard&amp;diff=8920"/>
		<updated>2010-02-04T17:22:34Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
[[Image: VirtualKeyboard_1.png|thumb|right]]&lt;br /&gt;
[[Image: VirtualKeyboard_2.png|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
=Intoduction=&lt;br /&gt;
[[Image: VirtualKeyboard_3.png|thumb|right]]&lt;br /&gt;
The Palm Pre lacks a stock Virtual Keyboard, which can come in handy in many situations.  Having a virtual keyboard is good for quick text responses/notes without having to stress the slider too much.  Although the biggest use for a virtual keyboard on the Palm Pre is landscape mode.  The goal of this Patch/Application is to have a fully integrated Virtual Keyboard for the many tasks where it is an inconvenience to use the hardware keyboard.&lt;br /&gt;
&lt;br /&gt;
=Operation= &lt;br /&gt;
Unlike the Palm Symbol keyboard, you do not have to open the Pre's hardware keyboard to get the on-screen keyboard.  Double-tapping the gesture area (near the round silver button) will bring up the on-screen keyboard if you are in a text input field. Tap with two fingers separated or Double-tap quickly.  Currently the rendering takes a few seconds, and a 3rd tap will hide/stop the rendering.  After you double-tap the blinking cursor should freeze for a few seconds while the keyboard renders.  Be patient, future versions will work to minimize the load lag.  When the Virtual Keyboard is displayed, a single tap on the gesture area will hide it.&lt;br /&gt;
&lt;br /&gt;
=== Theme Selector key ===&lt;br /&gt;
[[Image: VirtualKeyboard_4.png|160px|bottom]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Theme Selector key is the lower left gears key on the default theme.  On the remix themes the theme selector key is the lower right blank key.  Tapping this brings up a list of installed themes to switch between.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Drag Mode Key ===&lt;br /&gt;
[[Image: VirtualKeyboard_5.png|160px|bottom]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The Keyboard Drag-mode key is the finger key on the lower right side of the keyboard.  On the remix themes the drag-mode key is the lower left blank key.  Tapping this puts the keyboard into drag-mode, simply drag and drop the keyboard up and down the screen while this key is active.&lt;br /&gt;
&lt;br /&gt;
=Installation Procedure=&lt;br /&gt;
Use the WebOS Internals over the air installer [[Application:Preware|Preware]] and simply select the software keyboard from the list of available patches and install it.  From Preware go to Available Pacakges -&amp;gt; Patch -&amp;gt; Mojo to find the Virtual Keyboard.&lt;br /&gt;
&lt;br /&gt;
=Known Issues=&lt;br /&gt;
* 3-second Load Lag&lt;br /&gt;
* Must highlight the text box that was highlighted when the VKB was drawn in order to single-tap hide&lt;br /&gt;
* Backspace/Enter does not work in web pages &lt;br /&gt;
* Lacks Autocorrect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Technical Background, Explanation and History=&lt;br /&gt;
On an unmodified Pre if you press the &amp;quot;sym&amp;quot; key a scrollable 5x5 keyboard pops up full of alternate characters. &lt;br /&gt;
&lt;br /&gt;
This is controlled by code incorporated into the framework.js.  The specific functions there can be seeen in '''/usr/palm/frameworks/mojo/submissions/&amp;lt;framework_version&amp;gt;/javascripts/widget_charselector.js'''&lt;br /&gt;
&lt;br /&gt;
with the layout controlled by 3 files in '''/usr/palm/frameworks/mojo/submissions/&amp;lt;framework_version&amp;gt;/templates/charselector'''&lt;br /&gt;
&lt;br /&gt;
the actual list of characters that appear on the screen is controlled by '''/usr/palm/frameworks/mojo/submissions/&amp;lt;framework_version&amp;gt;/resources/en_us/alternatechars_table.json'''&lt;br /&gt;
&lt;br /&gt;
On 12 August 2009 Webos-internals contributor Eric Gaudet (irc egaudet) announced success at patching the framework.js to accept a new function derived from the charselector widget.  This pre-alpha proof of concept on-screen keyboard was made available as a patch.   Since that time, the keyboard has been extended to work in search fields, to be installable as an IPKG, and to be themeable.  &lt;br /&gt;
&lt;br /&gt;
''Note that this requires patching the primary framework of WebOS.'' This is not an application running on top of WebOS but rather a modification of the operation of the OS itself to render a custom widget.&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Updating_webOS_Versions&amp;diff=8854</id>
		<title>Portal:Updating webOS Versions</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Updating_webOS_Versions&amp;diff=8854"/>
		<updated>2010-02-01T21:40:38Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{portal-header&lt;br /&gt;
|Before updating to a new version of webOS, it is very important to follow certain procedures. Here is an outline of the recommended way to update your webOS when you use Patches (and/or Themes) installed via [[Application:Preware|Preware]]. Deviating from this procedure could cause unwanted results. If you have already updated webOS and did not remove your themes/patches, you will still need to follow these steps.&lt;br /&gt;
&lt;br /&gt;
# Make sure you are running the latest versions of [[Application:Preware|Preware]] and the Package Manager Service.&lt;br /&gt;
#: If you are not, then go to http://install.preware.org/ and install them.&lt;br /&gt;
# Open [[Application:Preware|Preware]] and select Installed Packages.&lt;br /&gt;
# Remove any Theme(s) you have installed. There SHOULD only be one...&lt;br /&gt;
# Update webOS. :) (If you have already updated, skip this step.)&lt;br /&gt;
# Fire up [[Application:Preware|Preware]] and bring down the App Menu (top left corner).&lt;br /&gt;
# Select Update Feeds.&lt;br /&gt;
# All of your Patches should show as needing an update, tap Update All&lt;br /&gt;
# Reinstall theme if desired&lt;br /&gt;
# Thank the webOS-Internals group!&lt;br /&gt;
&lt;br /&gt;
If you need any assistance, or just want to chat, download an IRC client and join us in [irc://irc.freenode.net/webos-internals #webos-internals] on FreeNode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
''For advanced users:'' You can dump a list of installed packages using the following technique.  This assumes you already have shell access to your your Pre via novaterm or ssh.&lt;br /&gt;
&lt;br /&gt;
*'''1.''' Ssh into your Pre (you do not need to adopt root privileges)&lt;br /&gt;
*'''2.''' Type (no quotes) &amp;quot;ipkg -o /var list_installed &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; grep patches&amp;quot;.  This will display the list of patches applied to your Pre.  You can redirect this output to a file or copy-and-paste it from your shell window.&lt;br /&gt;
&lt;br /&gt;
Special thanks to dbSooner on the [irc://irc.freenode.net/webos-internals #webos-internals] IRC channel for proposing this method.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Updating_webOS_Versions&amp;diff=8853</id>
		<title>Portal:Updating webOS Versions</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Updating_webOS_Versions&amp;diff=8853"/>
		<updated>2010-02-01T21:39:52Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{portal-header&lt;br /&gt;
|Before updating to a new version of webOS, it is very important to follow certain procedures. Here is an outline of the recommended way to update your webOS when you use Patches (and/or Themes) installed via [[Application:Preware|Preware]]. Deviating from this procedure could cause unwanted results. If you have already updated webOS and did not remove your themes/patches, you will still need to follow these steps.&lt;br /&gt;
&lt;br /&gt;
# Make sure you are running the latest versions of [[Application:Preware|Preware]] and the Package Manager Service.&lt;br /&gt;
#: If you are not, then go to http://install.preware.org/ and install them.&lt;br /&gt;
# Open [[Application:Preware|Preware]] and select Installed Packages.&lt;br /&gt;
# Remove any Theme(s) you have installed. There SHOULD only be one...&lt;br /&gt;
# Go back to the main menu and select &amp;quot;List of Everything&amp;quot; and search for &amp;quot;Emergency&amp;quot;.&lt;br /&gt;
# Update webOS. :) (If you have already updated, skip this step.)&lt;br /&gt;
# Fire up [[Application:Preware|Preware]] and bring down the App Menu (top left corner).&lt;br /&gt;
# Select Update Feeds.&lt;br /&gt;
# All of your Patches should show as needing an update, tap Update All&lt;br /&gt;
# Reinstall theme if desired&lt;br /&gt;
# Thank the webOS-Internals group!&lt;br /&gt;
&lt;br /&gt;
If you need any assistance, or just want to chat, download an IRC client and join us in [irc://irc.freenode.net/webos-internals #webos-internals] on FreeNode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
''For advanced users:'' You can dump a list of installed packages using the following technique.  This assumes you already have shell access to your your Pre via novaterm or ssh.&lt;br /&gt;
&lt;br /&gt;
*'''1.''' Ssh into your Pre (you do not need to adopt root privileges)&lt;br /&gt;
*'''2.''' Type (no quotes) &amp;quot;ipkg -o /var list_installed &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; grep patches&amp;quot;.  This will display the list of patches applied to your Pre.  You can redirect this output to a file or copy-and-paste it from your shell window.&lt;br /&gt;
&lt;br /&gt;
Special thanks to dbSooner on the [irc://irc.freenode.net/webos-internals #webos-internals] IRC channel for proposing this method.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8851</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8851"/>
		<updated>2010-02-01T19:31:40Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Organization ===&lt;br /&gt;
I suppose we could list all the Parts of themeing and how we want to separate/organize:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wallpaper&lt;br /&gt;
Launch Icons&lt;br /&gt;
System Images&lt;br /&gt;
Global CSS classes&lt;br /&gt;
Emoticons&lt;br /&gt;
Fonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v4 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
Launch Point Icons are given a launchPointId, which by default is simply the &amp;lt;appid&amp;gt;_default.  Something like sprint portal is set up with launchPointId 12022008 seemingly via /usr/luna/launchpoints/12022008 file.  If no launchPointId is given, &amp;lt;appid&amp;gt;_default will be set.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  applications:&lt;br /&gt;
  [&lt;br /&gt;
      { appId: com.palm.package1, icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
      { appId: com.palm.package2, icon: relative/path/to/icon },&lt;br /&gt;
      { appId: com.palm.browser, launchPointId: 12022008, icon: relative/path/to/icon }&lt;br /&gt;
  ],&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    image: relative/path/to/image&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  emoticons, fonts, top/bottom bar size (luna.conf and other /etc/palm configuration options etc...)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8850</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8850"/>
		<updated>2010-02-01T19:30:47Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
I suppose we could list all the Parts of themeing and how we want to separate/organize:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wallpaper&lt;br /&gt;
Launch Icons&lt;br /&gt;
System Images&lt;br /&gt;
Global CSS classes&lt;br /&gt;
Emoticons&lt;br /&gt;
Fonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== egaudet v4 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
Launch Point Icons are given a launchPointId, which by default is simply the &amp;lt;appid&amp;gt;_default.  Something like sprint portal is set up with launchPointId 12022008 seemingly via /usr/luna/launchpoints/12022008 file.  If no launchPointId is given, &amp;lt;appid&amp;gt;_default will be set.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  applications:&lt;br /&gt;
  [&lt;br /&gt;
      { appId: com.palm.package1, icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
      { appId: com.palm.package2, icon: relative/path/to/icon },&lt;br /&gt;
      { appId: com.palm.browser, launchPointId: 12022008, icon: relative/path/to/icon }&lt;br /&gt;
  ],&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    image: relative/path/to/image&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  emoticons, fonts, top/bottom bar size (luna.conf and other /etc/palm configuration options etc...)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8829</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8829"/>
		<updated>2010-02-01T06:19:42Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v4 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
Launch Point Icons are given a launchPointId, which by default is simply the &amp;lt;appid&amp;gt;_default.  Something like sprint portal is set up with launchPointId 12022008 seemingly via /usr/luna/launchpoints/12022008 file.  If no launchPointId is given, &amp;lt;appid&amp;gt;_default will be set.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  applications:&lt;br /&gt;
  [&lt;br /&gt;
      { appId: com.palm.package1, icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
      { appId: com.palm.package2, icon: relative/path/to/icon },&lt;br /&gt;
      { appId: com.palm.browser, launchPointId: 12022008, icon: relative/path/to/icon }&lt;br /&gt;
  ],&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    image: relative/path/to/image&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  emoticons, fonts, top/bottom bar size (luna.conf and other /etc/palm configuration options etc...)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8808</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8808"/>
		<updated>2010-02-01T00:33:16Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v4 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
Launch Point Icons are given a launchPointId, which by default is simply the &amp;lt;appid&amp;gt;_default.  Something like sprint portal is set up with launchPointId 12022008 seemingly via /usr/luna/launchpoints/12022008 file.  If no launchPointId is given, &amp;lt;appid&amp;gt;_default will be set.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  applications:&lt;br /&gt;
  [&lt;br /&gt;
      { appId: com.palm.package1, icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
      { appId: com.palm.package2, icon: relative/path/to/icon },&lt;br /&gt;
      { appId: com.palm.browser, launchPointId: 12022008, icon: relative/path/to/icon }&lt;br /&gt;
  ],&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    image: relative/path/to/image&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8807</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8807"/>
		<updated>2010-02-01T00:32:28Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v4 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
Launch Point Icons are given a launchPointId, which by default is simply the &amp;lt;appid&amp;gt;_default.  Something like sprint portal is set up with launchPointId 12022008 seemingly via /usr/luna/launchpoints/12022008 file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  applications:&lt;br /&gt;
  [&lt;br /&gt;
      { appId: com.palm.package1, icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
      { appId: com.palm.package2, icon: relative/path/to/icon },&lt;br /&gt;
      { appId: com.palm.browser, launchPointId: 12022008, icon: relative/path/to/icon }&lt;br /&gt;
  ],&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    image: relative/path/to/image&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8804</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8804"/>
		<updated>2010-02-01T00:19:08Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v4 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  applications:&lt;br /&gt;
  [&lt;br /&gt;
      { launchPointId: com.palm.package1_default, icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
      { launchPointId: com.palm.package2_default, icon: relative/path/to/icon }&lt;br /&gt;
  ],&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    image: relative/path/to/image&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8803</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8803"/>
		<updated>2010-02-01T00:18:25Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v4 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  applications:&lt;br /&gt;
  [&lt;br /&gt;
      { appId: com.palm.package1, icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
      { appId: com.palm.package2, icon: relative/path/to/icon }&lt;br /&gt;
  ],&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    image: relative/path/to/image&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8800</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8800"/>
		<updated>2010-01-31T18:36:13Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v3 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  app:&lt;br /&gt;
  {&lt;br /&gt;
    { com.palm.package1: { icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
    { com.palm.package2: { icon: relative/path/to/icon }&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  wallpaper:&lt;br /&gt;
  {&lt;br /&gt;
    icon: relative/path/to/icon&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8797</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8797"/>
		<updated>2010-01-31T08:34:59Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v3 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  app:&lt;br /&gt;
  {&lt;br /&gt;
    { com.palm.package1: { icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
    { com.palm.package2: { icon: relative/path/to/icon }&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Does this assume that the css files pointed to will be sparse?  [[User:Rboatright|rboatright]] 06:19, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I've done some testing and I've now verified the CSS loading model.  Currently every app (including top-bar and app-launcher) call the single framework function Mojo.loadStylesheetsWithLink when loaded.  This goes through and loads all the global css from the framework first and then all the app specific css.  I patched this function to read the theme_config.json and load the global cssFileName (if exists) followed by the app specific cssFileName AFTER all the existing css loading is done (i.e. all global and app css).  So this will allow overwriting as little or as much CSS as desired in the entire system.  [[User:Egaudet|Egaudet]] 08:34, 31 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8794</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8794"/>
		<updated>2010-01-31T05:53:00Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet v3 ====&lt;br /&gt;
theme_config.json sans required quotes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &lt;br /&gt;
  app:&lt;br /&gt;
  {&lt;br /&gt;
    { com.palm.package1: { icon: relative/path/to/icon, cssFileName: relative/path/to/css },&lt;br /&gt;
    { com.palm.package2: { icon: relative/path/to/icon }&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  global:&lt;br /&gt;
  {&lt;br /&gt;
    cssFileName: relative/path/to/global/css &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8793</id>
		<title>Talk:Theme Management API</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Theme_Management_API&amp;diff=8793"/>
		<updated>2010-01-31T05:39:06Z</updated>

		<summary type="html">&lt;p&gt;Egaudet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The original idea is a bit lacking with regards to file path restrictions.  If we are going to create a legit Theme API, we should do it right and start off with an easy to read and create config file.  Let's discuss what this should look like&lt;br /&gt;
&lt;br /&gt;
=== Theme API Config File ===&lt;br /&gt;
==== egaudet ====&lt;br /&gt;
theme_config.json&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
app:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1: { icon: relative/path/to/icon, cssFileName: relative/path/to/css };&lt;br /&gt;
  com.palm.package2: { icon: relative/path/to/icon };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
global:&lt;br /&gt;
{&lt;br /&gt;
  cssFileName: relative/path/to/global/css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== PuffTheMagic v3 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
applications:&lt;br /&gt;
{&lt;br /&gt;
  com.palm.package1:&lt;br /&gt;
  {&lt;br /&gt;
    launcherIcon = relative/path/to/icon1;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package2:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/css2;&lt;br /&gt;
  }&lt;br /&gt;
  com.palm.package3:&lt;br /&gt;
  {&lt;br /&gt;
    css = relative/path/to/cs3;&lt;br /&gt;
    launcherIcon = relative/path/to/icon3;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== rboatright =====&lt;br /&gt;
&lt;br /&gt;
global css replacements not related to apps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  cssFileName:  relative/path/to/replacement/cssFile.css&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== zsoc ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HOW DID THIS GET HERE I AM NOT GOOD WITH COMPUTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Egaudet</name></author>
	</entry>
</feed>