Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Scout/Concepts/F2"
(→Parameter Overview) |
|||
Line 96: | Line 96: | ||
From java code: If the call is | From java code: If the call is | ||
− | < | + | <source lang="java"> |
F2Updater.update() | F2Updater.update() | ||
− | </ | + | </source> |
change it to | change it to | ||
− | < | + | <source lang="java"> |
HashMap<F2Parameter, String> optionMap=new HashMap<F2Parameter, String>(); | HashMap<F2Parameter, String> optionMap=new HashMap<F2Parameter, String>(); | ||
optionMap.put(F2Parameter.WindowsUAC ,false);//or true | optionMap.put(F2Parameter.WindowsUAC ,false);//or true | ||
F2Updater.update(null/*default strategy*/, options, null/*default user agent*/) | F2Updater.update(null/*default strategy*/, options, null/*default user agent*/) | ||
− | </ | + | </source> |
From command line: add the -uac true or -uac false option | From command line: add the -uac true or -uac false option | ||
Line 116: | Line 116: | ||
In java: | In java: | ||
− | < | + | <source lang="java"> |
HashMap<F2Parameter, String> optionMap=new HashMap<F2Parameter, String>(); | HashMap<F2Parameter, String> optionMap=new HashMap<F2Parameter, String>(); | ||
optionMap.put(F2Parameter.WindowsUAC ,false); | optionMap.put(F2Parameter.WindowsUAC ,false); | ||
F2Updater.update(null/*default strategy*/, options, null/*default user agent*/) | F2Updater.update(null/*default strategy*/, options, null/*default user agent*/) | ||
− | </ | + | </source> |
=== How do I use my own progress monitor when updating? === | === How do I use my own progress monitor when updating? === | ||
− | < | + | <source lang="java"> |
UpdateResult result=F2Updater.update(null,null,null,monitor); | UpdateResult result=F2Updater.update(null,null,null,monitor); | ||
if(result!=UpdateResult.NothingToDo){ | if(result!=UpdateResult.NothingToDo){ | ||
− | ... | + | //... |
} | } | ||
− | </ | + | </source> |
=== How do I prevent my CI server from running out of space? === | === 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). | 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]] |
Revision as of 04:30, 23 July 2013
Contents
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)
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
command line | config.ini | Description | 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 | true |
-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
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).