PivotX—change
Procrastination? Not me! PivotX, the follow-on for Pivot which ran this site, has been available for some time, but I have just been way too busy to download and install it. Besides, the old Pivot installation — the Dreadwind release — was working just fine for my modest needs, so there was no rush to update it. However, I finally found a lull in my workload and I decided to install the very latest — PivotX 2.3.1.The upgrade process was really rather painless and OpenVMS made it even moreso. However, there were a number of things one should consider if embarking on an upgrade from Pivot to PivotX. The instructions for upgrading are outlined in chapter 4 of the PivotX documentation but they are very non-OpenVMS savvy instructions. I decided to approach the upgrade in my own way, instead of the documented rename this and rename that approach.
My previous site was defined under a rooted logical name I defined as PIVOT. I decided that I would keep this rooted logical and directory tree — at least, until I was satisfied with the update — and, instead of renaming key files and directories, I created a new rooted logical defined as PIVOTX. I then used OpenVMS
BACKUP
to populate a new directory tree under PIVOTX from the old directory tree under PIVOT. By doing this, it allowed me to keep the old Pivot installation alive during the upgrade process.In my Apache configuration, I defined a temporary virtual domain for the new PivotX installation. This would allow me to compare and contrast the old Pivot installation with the new PivotX installation.
It was now time to install the new PivotX distribution's files. PivotX is distributed as a ZIP archive. It is apparently ZIPped on a unix/linux platform. Its filenames are predominantly lowercase and, since I was installing on an ODS-5 volume, I wanted to keep the same filename case semantics. Unfortunately, UNZIP for OpenVMS is not yet ODS-5 cognizant or compliant. My first attempt to
UNZIP
the PivotX distribution resulted in directory populated with uppercase only filenames from this new distribution. In addition, there are about 100 filenames which maintain multiple dots. These, save for the dot which traditionally signifies the file extension, were all translated to an underscore. This would not do because I was certain that the PHP code in these files would be referring to the filenames as they existed in the ZIP archive. I deleted this mess and used BACKUP once again.I next tried to decompress the ZIP archive using the Java
JAR xvf
command. This did a better job with maintaining the filename's case but the issue with the dots was still a problem. After spending about an hour trying various command switch permutations with both UNZIP
and JAR
, I decided that there was no way to restore the archived filenames while preserve all the dots. I resorted to DCL.The first task was to identify the filenames with multiple dots since those with a single dot were acceptable filename syntax under ODS-5. I sent the output of the
$ UNZIP -l
to a file using the PIPE
command. I then wrote a brief DCL procedure to parse this file and output the filenames which had more than a single dot. This parsing for multiple dots was a simple one line statement in DCL:
$ IF F$element(1,".",F$extract(F$locate(".",REC)+1,-1,REC)).NES."." THEN -
I could have written a more elaborate DCL procedure to do the actual renaming to the dotted filenames, but I opted to just run through the list and manually
RENAME
the files to their proper dotted format. Doing the renames manually also allowed me to familiarize myself with some of the newer directories and files in PivotX.Once I was done with the dotted filename renaming, I returned to the PivotX installation instructions. The manual prescribed another ZIP archive to be downloaded if the installation was an upgrade. This file UNZIPped to IMPORT_PIVOT.PHP. I then executed the script by supplying the URL in my browser's location bar. When this was complete, I tried accessing the new PivotX rendered pages. The results were not too bad. There were, of course, some pieces of the pages missing but this was to be expected as there were numerous changes to the template tags in going from Pivot to PivotX.
I spent the rest of my weekend tweaking the various templates, learning about PivotX extensions, widgets and snippets, and I installed a few optional extensions which I'd used with the older Pivot installation. Save for the Table Of Contents snippet that I used with the old Pivot, everything was migrated to PivotX with nary a hitch.
The present PivotX documentation is a bit scant in details and entire sections have elided any documentation content at all. However, by spending a little time perusing through the PHP code, most of what I needed to know that wasn't elaborated in the documentation was quickly ascertained.
The entire Pivot to PivotX installation and upgrade went surprisingly smooth. In fact, I spent more of my time tweaking the templates to make them and their tags PivotX compliant than I did working out the details of the installation.
I then set out to change some of the templates imported from the old Pivot install. Long overdue, I finally modified the css to add a few aesthetic upgrades to the pages. Also, PivotX employs jQuery. Because of this, I had to make some minor adjustments to my custom Javascript. Not a lot but some changes did need to be effected to remove conflicts with jQuery.
The PivotX administration functions have been given a clean new look too. Functions are now tabs on the page with a drop-down sub-menu for each of the tabs. The entry editor is much improved too.
One of the things I am most pleased with is the fact that the search functions now function! The lack of a functional search under Pivot was quite debilitating; especially, when I used my own articles for reference. All too often, I had to go manually perusing through titles for the specific bit of information I wanted to reference. I can now find things with ease using the search.
I would still like to have a category-based Table Of Contents function. I had this under Pivot which was provided via a custom snippet. However, this particular custom snippet has not yet been updated for PivotX. I did, however, write a rudimentary PivotX snippet which simply outputted a "Hello World" message as a proof of concept. It should be fairly straightforward to add a Table Of Contents extension to PivotX. I will, hopefully, get to that task, and others, in the coming days.