1. You have a client who wants to have changes implemented and visible immediately.
  2. You have made some important changes but they are taking a long time to propagate.
  3. Several end-users still cannot see the recent changes you've made.
  4. You want to document changes you have made for your own sanity.
  5. You want to add version control into your design.
  6. ...

This approach does all of the above with the addition of a small control page into your design.

JS - Meta Version Jump.xar

You could immediately augment any design file by copying and pasting the first page in the attached above.
Simply change the first page > Page filename to v100, Save and Export Website to a local folder.

If you now go to this folder, you will see two things different to your normal delivery:
  • An additional file, v100.htm
  • A v100_htm_files folder (instead of an index_htm_files folder).

If published, the URL to index.htm would show your website as designed.
The hidden difference is Xara has relinked all assets to the new folder.

When you make any design changes and want to publish or export them, the only extra necessary step is to up-version (increment) the Page filename of this first page.
So v100 becomes v101 and on Export you will have an new v101.htm page and a new v101_htm_files folder.
Each iteration creates a new set.
At the same time your website index and other pages will have been updated.

As effectively everything has changes, you no longer have a Xara incremental upload so do not Publish this way if your asset files sizes are overlarge.
Export Website instead and then use an FTP Client, with a few simple setting changes: only overwrite if different.
But, crucially clone the vnnn_htm_files folder on the server and rename that new folder to vnnn+1_htm_files (the version of your first design page).
Then incrementally update your local folder vnnn+1_htm_files into the server one.
So far, there is no down time for end-users.
The last step is to upload all the htm files and others at your top level.
As these are usually around a payload of a megabyte, the changeover time is near instant.
A user on old version jumps to a different HTM page and they will be served the updated page (fully connected to the new, updated assets) with no indication of a switch.
Clearly a Back button click will present a page that is in browser cache but any new session or fresh link will set all views to the new pages.

Not tested but feasible. If you publish and click on the Version Link on my index page, it will go you what it thinks is the latest version control page and that should immediately jump to the latest index page, clearing the browser cache.

To assure roll-back, the ability to go back to a prior version, you need to save the design file with a filename that names the version.
You simply Export Website and just upload the top-level files; its version assets are already there.

In the Main control file page, you can add any detail you want around what you have changes. As it is off-page, it never publishes and never become a slowdown other that a local Save.

How it Works
  • The control page has a small JavaScript jump Page head.
    • The the page is accessed, this immediately jumps to the index page.

  • If JavaScript is disabled, then the second code line kicks in after a third of a second.
    • The JS code does not affect the browser Back button; this one does so that is why if is delayed and used as a fall-back.

  • The final fall-back is a Link on the control page that when clicked goes to the index page.
    • Clearly, this should never happen but there is always a one in a million chance, and, as Terry Pratchett might have said, 'One in a million chances happen around 50:50.'

If it all goes to rats for you, just delete the control file and republish.

For housekeeping, after extensive user testing and acceptance, delete all but the last asset folder.
Then delete the control file and republish.
The server will still have a v1nn_htm_files folder and an index_htm_files folder with the HTM files pointing to the latter.
For new work, add the control file back and change its Page filename to v200 and Export Website as described. You are now back in a development cycle.

No promises but I will try and look at any issues that approach may cause.

The cycle is:

  • Add a control file (copy v100).
  • Make changes.
  • Increment the control file Page filename.
  • Save the design with a filename that had a linkage to the version of the control file.
  • Export Website locally.
  • Incrementally Publish.


Click image for larger version. 

Name:	Screenshot 2023-08-27 180336.png 
Views:	32 
Size:	68.2 KB 
ID:	134029