[jitsi-dev] Jitsi portable - portableapps.com, 7zip, registry keys


#1

Hi,

I'd like to propose patches to improve Jitsi portability and flexibility.

First of all I'm proposing some patches in order to allow the programmer to easily choose the protocol names for URL handling.
So whoever builds Jitsi from source can simply define the SIP and XMPP URL protocol names in default.properties.
The advantage of customizing the names is that you can avoid using a standard one, maybe already used by another app (eg.
use 'jitsisip' instead of 'sip'). This makes more sense if you consider "portable" or "user" apps.

A second feature is the ability to specify where to register these protocol names. You can choose to tell Jitsi to register
them on startup in, eg., HKCU, instead of having the installer do that. Jitsi will unregister on shutdown.

I did this in order to make a custom Jitsi application that makes sure everything is registered as expected instead of relying
on an installer or stub.
So then I patched the build.xml file (attached) in order to create 2 targets:

* one is a self-extracting 7zip installer which I usually use to silently install/upgrade Jitsi which in turn registers keys in HKCU

* another is a PortableApps.com installer which you can configure with or without custom URL handling protocol names. Also,
the installer will run Jitsi by setting the config dir to the appropriate Data subdir as with portableapps.com spec (requires trivial bug fix as in SIPCommunicator.java.diff). Registry keys
will be handled by portableapps.com's launcher.ini (pre-configured by build.xml/ant).

The details are in build.xml.

I don't know if it's of interest to anyone and if it's worth opening a feature request on JIRA.

Thanks,

Vieri

build.xml.diff (27.4 KB)

defaults.properties.diff (881 Bytes)

GeneralConfigurationPanel.java.diff (1.23 KB)

GuiActivator.java.diff (6.18 KB)

SIPCommunicator.java.diff (1.6 KB)

swing.ui.manifest.mf.diff (549 Bytes)

UriHandlerJabberImpl.java.diff (2.51 KB)

UriHandlerSipImpl.java.diff (3.19 KB)


#2

Is it really a portable app if its writing stuff into the registry.....
When you plug into the next computer you have lost all those saved settings and left fingerprints all over the last computer

···

On 11/06/2012 9:23 PM, Vieri wrote:

Hi,

I'd like to propose patches to improve Jitsi portability and flexibility.

First of all I'm proposing some patches in order to allow the programmer to easily choose the protocol names for URL handling.
So whoever builds Jitsi from source can simply define the SIP and XMPP URL protocol names in default.properties.
The advantage of customizing the names is that you can avoid using a standard one, maybe already used by another app (eg.
use 'jitsisip' instead of 'sip'). This makes more sense if you consider "portable" or "user" apps.

A second feature is the ability to specify where to register these protocol names. You can choose to tell Jitsi to register
them on startup in, eg., HKCU, instead of having the installer do that. Jitsi will unregister on shutdown.

I did this in order to make a custom Jitsi application that makes sure everything is registered as expected instead of relying
on an installer or stub.
So then I patched the build.xml file (attached) in order to create 2 targets:

* one is a self-extracting 7zip installer which I usually use to silently install/upgrade Jitsi which in turn registers keys in HKCU

* another is a PortableApps.com installer which you can configure with or without custom URL handling protocol names. Also,
the installer will run Jitsi by setting the config dir to the appropriate Data subdir as with portableapps.com spec (requires trivial bug fix as in SIPCommunicator.java.diff). Registry keys
will be handled by portableapps.com's launcher.ini (pre-configured by build.xml/ant).

The details are in build.xml.

I don't know if it's of interest to anyone and if it's worth opening a feature request on JIRA.

Thanks,

Vieri


#3

No, it removes the registry keys that the portable jitsi app writes in HKCU. That happens with both the 'user' and the 'PortableAppsCom' settings.
As with PortableApps.com, it's already taken care of by the Portable Apps Launcher (launcher.ini). It's standard registry key handling according to portableapps.com.

When you plug a portableapps.com app into another computer, the "settings" and "data" will be in the portableapps.com's Data subdir.
Registry keys, if defined/wanted (you can also disable them altogether), will be written to HKCU on startup and deleted on shutdown (and if by any chance there were keys with the same name before - by another app on that computer - they will be restored).

···

--- On Mon, 6/11/12, Craig Chandler <Craig.Chandler@gmail.com> wrote:

Is it really a portable app if its writing stuff into the
registry.....
When you plug into the next computer you have lost all those
saved
settings and left fingerprints all over the last computer