|
|
(6 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
− | =F2 Updater=
| + | The Scout documentation has been moved to https://eclipsescout.github.io/. |
− | | + | |
− | 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 [[Scout/Tutorial/3.10/UpdateWithF2 | tutorial ]] first.
| + | |
− | | + | |
− | ==Where do I find F2==
| + | |
− | F2 is available on the [http://marketplace.eclipse.org/content/f2-updater eclipse marketplace].
| + | |
− | | + | |
− | It can also be installed with the Scout SDK (since 3.10)
| + | |
− | | + | |
− | | + | |
− | ==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
| + | |
− | | + | |
− | ==Parameter Overview==
| + | |
− | | + | |
− | {| cellspacing="1" cellpadding="3" border="1" align="left"|
| + | |
− | |-
| + | |
− | ! width="100"|command line
| + | |
− | ! width="100"|config.ini
| + | |
− | ! width="300"|Description
| + | |
− | ! width="300"|Default
| + | |
− | |-
| + | |
− | | -url
| + | |
− | | f2.url
| + | |
− | | URL of the updatesite
| + | |
− | |
| + | |
− | |-
| + | |
− | | -name
| + | |
− | | f2.name
| + | |
− | | Name of the updatesite
| + | |
− | |
| + | |
− | |-
| + | |
− | | -http.user
| + | |
− | | f2.http.user
| + | |
− | | Username for HTTP Basic Authentication
| + | |
− | |
| + | |
− | |-
| + | |
− | | -http.pass
| + | |
− | | f2.http.pass
| + | |
− | | Password for HTTP Basic Authentication
| + | |
− | |
| + | |
− | |-
| + | |
− | | -uac
| + | |
− | | f2.uac
| + | |
− | | Option for Windows 7 UAC (user access control)
| + | |
− | | true if the client zip contains the f2 plug-in, false otherwise
| + | |
− | |-
| + | |
− | | -checkhash
| + | |
− | | f2.checkhash
| + | |
− | | Option to enable/disable content hash check on delta updates
| + | |
− | | false
| + | |
− | |-
| + | |
− | | -checksize
| + | |
− | | f2.checksize
| + | |
− | | Option to enable/disable file size check additionally to crc
| + | |
− | | false
| + | |
− | |-
| + | |
− | | -version
| + | |
− | | f2.version
| + | |
− | | Only update up to a limited version (e.g. -version example_1.2.0)
| + | |
− | |
| + | |
− | |-
| + | |
− | | -temp
| + | |
− | | f2.temp
| + | |
− | | Option to use specific temp directory
| + | |
− | |
| + | |
− | |-
| + | |
− | | -verbose
| + | |
− | |
| + | |
− | | for detailed logging
| + | |
− | |
| + | |
− | |-
| + | |
− | | -silent
| + | |
− | |
| + | |
− | | for sparse logging
| + | |
− | |
| + | |
− | |-
| + | |
− | | -versionsToKeep
| + | |
− | | f2.versionsToKeep
| + | |
− | | Keep only a specific number of application versions when creating the updatesite
| + | |
− | | All
| + | |
− | |-
| + | |
− | |}
| + | |
− | | + | |
− | ==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
| + | |
− | <source lang="java">
| + | |
− | F2Updater.update()
| + | |
− | </source>
| + | |
− | change it to
| + | |
− | <source lang="java">
| + | |
− | 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*/)
| + | |
− | </source>
| + | |
− | | + | |
− | 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:
| + | |
− | <source lang="java">
| + | |
− | HashMap<F2Parameter, String> optionMap=new HashMap<F2Parameter, String>();
| + | |
− | optionMap.put(F2Parameter.WindowsUAC ,false);
| + | |
− | F2Updater.update(null/*default strategy*/, options, null/*default user agent*/)
| + | |
− | </source>
| + | |
− | | + | |
− | === How do I use my own progress monitor when updating? ===
| + | |
− | <source lang="java">
| + | |
− | UpdateResult result=F2Updater.update(null,null,null,monitor);
| + | |
− | if(result!=UpdateResult.NothingToDo){
| + | |
− | //...
| + | |
− | }
| + | |
− | </source>
| + | |
− | | + | |
− | === 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).
| + | |
− | | + | |
− | == See also ==
| + | |
− | * Tutorial: [[Scout/Tutorial/3.10/UpdateWithF2|Update your Scout application with F2]]
| + | |
− | * [http://marketplace.eclipse.org/content/f2-updater F2 on the Marketplace]
| + | |