So, I just did an upgrade of the BCD Software GUI Client (now owned by Fresche Legacy by the way) for a client. This upgraded their older version of Presto to PRESTO 8.1 Server. This also comes with a new Presto Client and Screen Designer adding some nice new tweaks.
Compulsive Library Naming Tendencies
The trouble is, the upgrade process (unchanged from this old blog) is pretty simple.
I did experience a sloppy code crash during the IBM i command portion of th upgqade – apparently because my profile didnt have *SECADM rights (I reported this to Fresche Support so hopefully they will add this validation to the upgrader for later releases).Me. Grumbling.
So, the upgrade process imports from your existing PRESTO library and creates a new version.
In my case it imported from my old version in LIB(XL_PRESTO) and created the new version in LIB(XL_PR81)
I want to keep my old library name (XL_PRESTO) and also my old IFS details. It’s a personal ‘library naming tidiness’ thing, and keeps a simple library name for the customer.
If you suspect you have multiple Presto environments but aren’t sure what they are, run this command:
WRKOBJ OBJ(*ALL/PR_HUB) OBJTYPE(*PGM)
The generated list will include all your Presto environment libraries.
- XL_PRESTOI. This is the Presto installation library. If you have a previous version of this library on your system the upgrade process will delete it for you automatically.
- XL_PRDEMO. An upgrade restores the demo library if it is not found on your system. If you want the latest version of this library delete your current instance of XL_PRDEMO before upgrading.
- XL_EX55. This is the Exodus55 Client/Server Communications Library.
- XL_LCSRV. This is the License Server Library.
- XL_WEBSPT. This includes run-time objects used by Presto.
- IFS Folder. An IFS folder on the IBM i named esdi/xl_presto by default, or matching the name of your product library.
- Apache HTTP Server Instance. Presto creates and uses an Apache HTTP server instance named XL_PRESTO by default. As with the IFS directory the name will normally match the environment library name you set on installing.
- Presto Designer (PC Design Tool). On the PC you will install the Presto Designer, the tool you use to customize your programs. If you have multiple, active Presto installations at different releases, you should also have multiple PC-side installations in different directories.
You can remove the library XL_PRESTOI from your system at any time after installing the software.
Rename the PRESTO library
Using command RNMPRLIB you can rename the Presto Lib. This is a custom command that lives in your new version.
Archive the original PRESTO library
Backup and delete the original library – you cannot rename it because it has journals in it and these stop library renames from happening.
CRTSAVF FILE(QGPL/XL_PRESTO) TEXT('Backup of XL_PRESTO after upgrade/rename')
SAVLIB LIB(XL_PRESTO) DEV(SAVF) SAVF(QGPL/XL_PRESTO) TGTRLS(CURRENT)
Shutdown any running instances
If you look at the QHTTPSVR subsystem, you should see if you have any PRESTO instances running. In this case you can see that my new XL_PR81 version is active:
Obviously, we need to end the active connections before renaming them:
ENDTCPSVR SERVER(*HTTP) HTTPSVR(XL_PR81)
Once its ended – lets get on with the rename
Rename the library
We need to add the new library to our *LIBL so we can access the command. When the library is renamed it will be renamed within our *LIBL automatically.
RNMPRLIB OLDLIB(XL_PR81) NEWLIB(XL_PRESTO)
NOTE: if you get a message saying “Error: This Library is locked. Use the WRKOBJLCK command to work with the locks.” then just use WRKOBJCLK XL_PR81 *LIB to find if anyone else out there is using it. Politely ask them to sign off. Or rudely. Your call 🙂
During the rename I was bit by a problem:
This looks like the renamer isn’t handling deleting the renamed IFS directory because it has objects in it (we do because we have custom stuff in there)
I just ignored this error, becase I have a full backup of all my stuff to restore manually if it all goes wrong.
Give it an ‘I’ and let it get on.
When the process has finished you will see that your new library is named correctly:
Start the webserver
STRTCPSVR SERVER(*HTTP) HTTPSVR( xl_presto )
Remember to make sure your EXODUS subsystem is running:
And that’s all Folks!
Now you should be able to connect using your regular URL to get into the wonderful world of IBM I Web Screens (as opposed to the smelly old world of green screen AS400 and iSeries)
NOTE: If you find you are missing a theme file then copy the old theme folder to your new upgraded IFS folder