Saturday 21 March 2009

Upgrade WebsiteX5 V7.0.0.9 to the new WebsiteX5 V8.0.0.8 Evolutions

I recently upgraded from version 7.0.0.9 to version 8.0.0.8, of WebsiteX5 Evolutions, the RAD website development application. The process of implementing this upgrade I covered in a posting on the WebSiteX5 website here:

http://www.websitex5.com/forum/viewtopic.php?p=63644#63644

This blog is a follow-up to that posting, in relation to migrating existing projects from the old version to the new version and the experience I had during the process. The hope is that WebSiteX5 Evolution users find the following informative, interesting and hopefully helpful for those about to attempt the same process.

In short, this process I found it to be a positive experience which I believe could have just as easily, have gone the other way except I made some good calls early in the process.

Upgrading a small project...

Ok, I am starting with a small project which needs to be brought up to date and so I am starting with the following which was deployed with WebSiteX5 Evolutions version 7.0.0.9:

http://gomobile.ie/xparthenaise.ie/index.html

Before I begin, I make a backup of all the project files and there related folders, thankfully this project utilises only the default templates, so that potential problem will be left to a upgrade of a larger project. All the required old version files are on the local machine and I proceed to open the old project using the new version 8.0.0.8 Evolutions which I have installed side-by-side with the old version 7.0.0.9.

I had read around the WebSiteX5 forums that this process could be difficult at best and I felt leaving the project in place (keeping it in the same folder structure on the same drive) would perhaps yield the best results as I ventured into the unknown.

The first thing I noted was upon opening the old project in the new version, by default, Evolutions opens a existing (prior version) project with the 'Website Address (URL)' blank and regardless of if the project historically had a 'Site Map' or not (this project did in this case), version 8 defaulted to 'No Site Map'. This was not really a problem or even a bad idea. I moved slowly forward typing in the URL and I ticked the box on the 'Expert' tab of the 'General Settings' and before long I was becoming more confident quickly started to move along, through the 'Steps' as they are pretty much the same as they have always been.

I had read in the forums about the dreaded 'Tables' compatibility issue, but it still had not really prepared me for what I was to later find. After taking a quick look around, peeking and poking, test views and reviewing the object contents, I found myself looking to the 'Table' object and wondering the effect of the related issue.

I had read that any text placed in a 'Table' object would not appear when viewed in a browser, which I quickly confirmed having selected the 'Test' in the 'Test' menu. This just showed the rendered 'Table' as an empty set of box's. I felt Ok, I had expected that.

Sorry to say, the surprise was to come as more of a bit of a shock, when I returned to the 'Page Creation' step and opened the 'Table' object and found that the reason the text was not appearing in the browser view of the 'Table' was because the new version had totally dropped not just the correct number of columns and rows, it at also dropped all the content, text and all, that was previously vested in the 'Table' object in the previous version of the project.

At this point I figured, thankfully I had decided to create a 'Side-By-Side' installation of the old version of WebSiteX5 V7 along side the new version 8. This being the case, I opened the old version of the project while the same version was still open (but I had not yet hit the 'Save' option) in WebSiteX5 v8. Having both WebSiteX5's side by side I then preceded to copying and paste each and every cell, one by one, from one version to the other.

If however, I had jumped the gun and hit the 'Save' option from the menus, I would have overwritten the old version with the new version and as a result I would not have been able to open the project ever again using the old version and instead I would have just seen the error message 'Error while project loading'.

Instead, I opened the 'Save' menu and hit 'Save As' option and created a second project file. This now allows me to open the old project file or the new project file depending on which version I want. What was very odd about this, was that it appears small object and its properties for each collective page object that makes up the website being developed are stored solely within the project file, the sole exception appears to be the standalone templates.

I was surprised to find that while the new version is currently (as of: 21st March 2009) not 100% backwards compatible when reading in projects creating in previous versions of WebSiteX5 Evolutions, the old version appears to be forwards compatible as a result of all the objects properties being vested in the single project file. Obviously this appears to be the case at this early point and I would need to spend more time looking deeper into the detail of it to know for sure as to what percentage this maybe true.

Anywho, at this point I figured, that if I had of continued and had made the mistake of hitting the 'Save' option and there-by lost the 'Tables' contents, I could have always have gone to the website and cut and pasted them from there.

Instead, much as you may use a dual monitor, putting both versions side-by-side I was happy copying and pasting the table cell contents between version 7 and version 8, when it dawned on me. Surely, the answer to this problem is to create a utility to read the table objects contents, save them as an XML file and then reloaded this XML file into a table object from within the new version, assuming this compatibility issue is not addressed in future versions?.

Thinking to myself, well all-in-all, that upgrade of a small project was not as painful as I had expected and not wishing to insult the gods, I proceeded with great haste to 'Export To Disk' the entire project so I could review the website locally using my browser. Again in order to play it safe, I exported everything to a new folder and then 'FileZilla'd everything (FTP'd) to the web which ended up here:

http://gomobile.ie/p arthenaise.ie/index.html

If your interested in comparing the tables from both versions as I was, compare version 7 which is here:

http://gomobile.ie/xparthenaise.ie/keelties_entries.html

to version 8 which is here:

http://gomobile.ie/parthenaise.ie/keelties_entries.html

You need to look very closely to see what I noticed next. While my efforts had paid off and I had the new version up and running within minutes, I noticed version 8's tables are not as well behaved as version 7.

Yes, I had reduced the font for the text and yes I had right aligned some of the text, but no I did not expect that the bottom of my tables would disappear!.

In truth I had noticed this during editing, when I noticed the right hand edge of the tables was also disappearing, but I resolved this by just expanded the object in 'Page Creation' to take up an additional column... this fixed the 'Table's right hand edge, but I am not sure how to fix the bottom edge of the 'Table' without having to extend the object further down the 'Page Creation' area.

Expanding objects into additional rows or columns is not always aesthetically pleasing. At this point I had come over all 'Super-Dude-ish', because by in large the upgrade was not as bad as I had expected and the sweet cent of self confidence was filling my head which would not normally be so self-evident other than for those having enjoyed the pleasures of a dozen or so pints of Guinness … keeping this in mind, I decided, "hell .... lets go for it, lets test the new modified files only uploading enhancement and get this new version on the web!".

If your like me, two things which are always top of your mental ‘WebsiteX5 Evolutions’ wish-list are ‘Can we please upload only the changes in order to speed up the deployment of websites’ and secondly ‘Please god, don’t mess it up during the transfer’.

The only reason I mention these is because, you guess it, ‘Murphys Law’ (my dear old friend) hit me bang square on the nose. Here’s the sequence of events:

  1. First I uploaded using ‘FileZilla’ (an excellent open source independent ftp client) and on reviewing the results, everything looked excellent, bang on, first time.

  2. Next, I uploaded using the ftp client built into ‘WebsiteX5 V8.0.08 – Upload to the Internet’ feature, which uploaded everything as planned.

  3. At this point, I doubled back through the website design and decided to change two pages and see what would happen when I tried a “Export only those files modified during the last export….”. For this experiment, I choose to reduce the font and right justify the text in my new version of my old tables on two different pages.

    Then I started the ‘Upload to the Internet’ using the option to ‘Export only those files modified…’ and I found no real difference or advantage in the time required to transfer what I had thought would be only two files, but pretty much looked like everything was going back up again.

    I did however, find that while the ‘Export All website files’, did upload, render and review intact in the new version of the website, the new ‘Export only those files modified…’ feature had taken just as long in my view but worst still, for some reason (which maybe more to do with transfer problems than anything) some files had ‘Zero Bytes’ and had caused the the entire website to come over all muddled looking which would normally suggest the styles sheets (.css files) had been corrupted.

For me, there was only one sure fast cure for this, and that was to double back very quickly and ‘FileZilla’ the lot yet again using a ‘Transfer if different size’ transfer filter. This ('FileZilla') had worked a dream, all was well with the world yet again, crisis averted.

In short, the upgrade of a small project was a very good learning experience. While I am inclined to suggest that this process is not really for the total beginner, the experience and confidence which may result from a small project migration would perhaps make it worth while. In my view it is relatively painless and any difficulties I encountered have been easily overcome, but this was only a small project.

That said, now I am off to try a big project, if I get out the other side of this safely, I will let you know how I go.

….. watch this space!.

Note:

Some users had problems locating version 8.0.0.8, this patch can be found here:

www.websitex5.com/download/v8/x5UpgSetup.exe

No comments: