Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Scout/Concepts/F2

< Scout‎ | Concepts
Revision as of 06:41, 3 July 2013 by Judith.gull.gmail.com (Talk | contribs) (F2 Updater)

F2 Updater

F2 is a simple update manager for Eclipse or Java based applications. The F2 update manager has been designed to minimize the network load for consecutive application updates and updates are executed with transactional safety.

F2 has no dependencies to eclipse scout or any other library. However the installation of f2 is supported by the technology checkbox in Scout SDK (since 3.10).

If you are new to f2. Check out the tutorial first.

Where do I find F2

F2 is available on the eclipse marketplace.

It can also be installed with the Scout SDK (since 3.10)

F2 Design Goals

  • Minimal network load for live updates.
  • Move cpu/memory load to "Create" of the updatesite and away from the client "Update"
  • Transactional safety for updates, e.g. commit or rollback
  • No lenience: The update is either done with byte by byte equality or not
  • Support for Windows 7 UAC security
  • Support for multiple platforms such as win32, macosx, etc.
  • Complete automation of updatesite creation and update handling
  • Very easy zip file handling and command line processing

F2 FAQ

How do I enable/disable Windows 7 UAC?

UAC is automatically enabled if the platform is win32 and the client zip contains the f2 plug-in jar. Not that uac mode is only possible when the client zip contains the f2 plug-in jar.

From java code: If the call is

F2Updater.update()

change it to

HashMap<F2Parameter, String> optionMap=new HashMap<F2Parameter, String>();
optionMap.put(F2Parameter.WindowsUAC ,false);//or true
F2Updater.update(null/*default strategy*/, options, null/*default user agent*/)

From command line: add the -uac true or -uac false option

How do I disable verbose mode on command line?

Use -verbose or -silent

How do I disable that the client checks the zip hashon updates?

The zip hash check on the client may tike some long time depending on client hardware. If the crc check of the delta/full zip is sufficient for your client (customer) you might disable the additional content hash check. The probability that the zip is corrupt after a delta update is relatively small. However disabling the content hash check (at least theoretically) eliminates the transactional acid condition.

In java:

HashMap<F2Parameter, String> optionMap=new HashMap<F2Parameter, String>();
optionMap.put(F2Parameter.WindowsUAC ,false);
F2Updater.update(null/*default strategy*/, options, null/*default user agent*/)

How do I use my own progress monitor when updating?

UpdateResult result=F2Updater.update(null,null,null,monitor);
if(result!=UpdateResult.NothingToDo){
  ...
}

How do I prevent my CI server from running out of space?

Use the parameter -versionsToKeep to limit the number of version to keep on the build server (i.e. CI deployment).

Back to the top