Fileset Revisions

Fileset Revisions Overview

What

Fileset revisions let you keep two or more versions of the same fileset or payload inside a single FileWave fileset object.

When/Why

Revisions are useful when a payload changes over time, especially for application upgrades.

For example, assume you are deploying Firefox v79 and need to test Firefox v80. Without revisions, you might duplicate the fileset or create a new one, move test devices from the v79 association to a new v80 association, and then, after testing, remove the old production association and replace it with the new one.

That production cutover can become a timing problem. If removing the old association also removes the old app before the new one is ready, admins may have to carefully overlap or sequence the old and new associations so users are not interrupted during the upgrade.

With fileset revisions, v80 can live in the same fileset that already contains v79. You can then choose which revision an association uses, instead of replacing the whole fileset or rebuilding the association from scratch.

How

When a fileset has multiple revisions, the association workflow includes a revision choice. In the example below, the association can use the default revision, the initial revision, or the newer v80 revision:

FileWave Edit Association dialog showing revision selection

You do not have to use fileset revisions. If you ignore revisions, filesets continue to work the way they always have. When you do need staged application updates or controlled testing, revisions can make that workflow cleaner.

Associating a Fileset Revision

What

When you attempt to associate a fileset that has revisions, you'll notice a slightly different workflow, where you are asked to select a revision to associate.  (Associating a fileset that has no revisions functions as it always has)

When/Why

Assume our same Firefox fileset, containing two revisions for v79 and v80.  When we create a new association for this fileset, we need to tell the system which revision (v79 or v80) that we want to use.

How

Selecting the revision we want to do is very simple, since the FileWave admin just asks us which one we want to use as you'll see below:

You may ask yourself, "What is the 'default' option I see in that menu?"  That is a great question and we'll talk about that super-helpful option in another article you'll find linked below.

Editing Filesets that have Revisions

What

Of course from time to time you want to edit your pre-existing filesets.  How does editing a fileset change if you have multiple revisions?

When/Why

Assume again that we have a Firefox fileset that has two revisions...one v79 and the other v80.  Assume that we want to change a file in the v80 fileset, or even change a file in both.  How do we know which fileset revision we are changing?

How

In both the fileset editor and the script editor you will now see a new drop down menu that allows you to identify which revision of the fileset you are working on.  See below, where we are looking at v79 in the fileset window, and v80 in the script editor:

bwKhFE367yWv6OCC-embedded-image-x7wpg3i7.pngsLOTtPIGCeLY0kzr-embedded-image-0pn1tirv.png

Switching which fileset you are editing in either window is as simple as changing the value in the drop-down.  And, if you just want to do filesets the same way you always have, you can safely ignore that drop-down altogether.

Managing Revisions

What

There are quite a number of things we can do to "manage" revisions.  We can create new revisions, edit them, delete them, and set default revisions.

When/Why

Our management options breakdown as follows:

How

The thing that all of the options listed above have in common is they are all accessed in the same way, through the "Manage Revisions" button in the Fileset Editor, the Script Editor, or the Fileset Properties window, as shown below:

6hehBdOFV0ksG3rX-embedded-image-cijd2oc7.pngdAFqmZclHnu9Q7Pw-embedded-image-t0e5gvfc.pngZOoqd7lxm5iTOdBv-embedded-image-gb3xjwpq.png

Each of the management options is detailed in the articles linked below.

"Default" Revisions

What

What are default revisions?  An excellent question indeed.  Default revisions are a way of marking a specific revision of a Fileset as the "default", regardless of what it is called.  Keep reading, and you'll see how very useful this is, and how our great developers try to make your job easier on an everyday basis.

When/Why

We are going to use our example again of v79 and v80 of Mozilla Firefox.  Assume for a moment that we have v79 assigned to all devices right now in two associations as shown below:.:

SObAO4NKrEsO6V2k-embedded-image-uknjbezl.png

If you'll look closely, you'll see that the "Production" group has an association to the revision <default> (v79) and the "Beta Testers" group is associated to v79.  Effectively, this is exactly the same for both groups...v79 is installed.  But, let's take a look below at what happens when we want to upgrade to v80 in the environment.

How

We aren't just going to assign v80 to all devices right away...as always, we want to test first, so with our patch testers group we'll edit their association as follows:

pw9vGryhu2LsnGz9-embedded-image-5jiepc5n.png

Once we save this association and update the model, all patch testers will get the new version.  No deleting of the association or creating a new one is required.

Now, assume that all testing goes well, and we are ready to release to production.  Now, we could edit the association for "production", but assume for a second that we had ten such associations...would we want to edit all ten of them?  In a word, no.  But, if you remember, the association above to production was not v79, but rather Default v79...which means the association is just to the "default" revision of the fileset.

So, we can simply edit the properties of the fileset itself and change the "default" to v80 instead.

RlNFjm0eB4aaT1xp-embedded-image-38yjcala.png

Once we save that change, and update the model, you'll see the change reflected in the association:

PXIaz6FRCvnebAWj-embedded-image-prexlqr0.png

And, upon next check-in, all "Production" devices will upgrade to v80.

Remember, we take care of the timing of this transition between versions...so you don't have to worry about the transition timing.

Creating a New Revision

What

Creating a new fileset is the same as it always has been, but in some way, shape or fashion we need the ability to create new fileset revisions before we can use them.

When/Why

Typically, we'll want to use fileset revisions whenever we expect to continually upgrade an application...so, in most cases basically.  In this case, we'll look at how to create a v81 revision of Firefox.

How

Adding a new revision is done from the "Manage Revisions" view by clicking the plus icon:

Note that in this case, we chose "Empty" because we don't want the files from the previous revision.  But, if we had custom scripts or anything else like that, we would probably duplicate the previous revision instead.  Once the revision is created, you edit it like you would any fileset.

When creating a new revision, you can create it as empty, duplicate an earlier revision entirely, or duplicate only the properties of that revision:V88r1KB9V7coB4UO-embedded-image-xepshpwa.png

Fileset Revisions can also be created by drag and drop operation from the file system onto an existing Fileset.  You'll be prompted about making a new Fileset, or adding a revision as shown:y94KaTrqdYfvddhg-embedded-image-1lhubdba.png
If adding a revision, you will also be prompted about setting the default revision:
vmH8ZhWJN0uckc5q-embedded-image-jorl7qb5.png

Editing Fileset Revisions

What

Revisions themselves have some properties that can be edited: namely the name and the description of the revision.

When/Why

Editing the properties of a revision is also done from the "Manage Revisions" window...we'll use it if we want to edit the name.  For instance, every time the first revision is created, it is called "Initial Revision"...which is helpful to know, but not very descriptive.  Below is how we change that.

How

First, we'll go into the "Manage Revisions" view for a particular fileset, then choose "Edit" with a revision selected:

EMOvburX8Jv6HjZA-embedded-image-mbsm7vhj.png

There are only two fields to set, but setting them descriptively does help later when creating associations.

 

Removing/Deleting a Revision

Removing/Deleting a Revision (v14+)

What

We can create revisions, so of course we want to be able to delete them as well.

When/Why

We'll usually want to delete revisions whenever the revision is no longer pertinent.  We would probably always leave the N-1 version of our fileset, but if we have older revisions, we would certainly want to clean up to save on disk space.

How

If we go into the "Manage Revisions" view, we can select a revision and hit the minus sign to remove it.  If no associations exist for that revision, we'll simply get a prompt to confirm:

qGM70DhSujbK6rRm-embedded-image-x7lzlwhn.png

But, if there is an association, we can choose to remove the association outright, or switch it to another revision:

cDtirw9mEudEpFoH-embedded-image-zy7cykb0.png