For the application I have just developed (a set of 3 applications) truly modular updates would be highly desirable. The application is deployed on ships worldwide and update patches ultimately have to come over a slow VSAT connection. Deploying unneeded files is highly undesirable. Its also inconvenient to stop a system that is designed to run 24/7 in order to run an upgrade. This cannot be avoided but stopping it for longer than needed because we are updating a large file that is actually unneeded (part of an optional extra) is just plain wrong!
For my problems I decided to deploy all files to work around this deficiency in wybuild. I just about works for this simple data logger project. I have larger and much more sophisticated installations with many optional extra modules. These installations are currently highly unsuitable for use with wybuild/wyupdate due to the number of optional modules installed.
These are my ideas...
My feeling is that modular updates might be accomplished in wybuild by specifying a unique "group" name on a per file basis. Other than the default "group" - what we have currently. The user could specify additional group names to be associated with sets of files added for a particular version. If wybuild could essentially treat files belonging to different groups as different products and build separate update files for each group. Groups could also be associated with update actions (starting and stopping services and any future actions that may become part of wybuild.
A deployed product needs a way of telling wyupdate which groups to update. I'm happy if this is a command line switch to wyupdate. But any other means is acceptable as long as its something that can be determined at installation time. Essentially then wyupdate can download updates as required for the specified groups. They can all be applied in one go. This approach would minimize network bandwidth.
Talking of minimizing network bandwidth. I'd ideally like to be able tell wyupdate to place a copy of the downloaded on a local folder or network share. This way other machines on the ship can first check a local cached copy before hitting the internet.
I'd be interested in hearing your ideas regarding the implementation of modular updates in a future wybuild/wyupdate release and am willing to help and review the specification.
Best regards,Dave HusseyNAVSYSTEMS (IOM) LIMITED