Luminis Modification Procedure
February 19, 2007
Over the last few years of administering a SunGard Higher Education Luminis portal, I have often found it necessary to make modification to the base system. The mods themselves are reasonably simple, but remembering to maintain them across patches and upgrades can prove challenging. In response to this, the following procedure has proven to be most efficient for us at Plymouth State University.
When making modifications to your base Luminis system…
- Copy the original file to filename.version
(ex. cp nested-tables.xsl nested-tables.xsl.3.3.3.16) - Make your modifications to the original file.
(ex. vi nested-tables.xsl) - When you are happy with the complete and tested modifications, copy the file to filename.psu
(ex. cp nested-tables.xsl nested-tables.xsl.psu) - Once a modification is complete you make notes on why these changes were made in ~/CHANGELOG
When you have completed this, you will have three files where you previously had only one. The reason for making all these copies is to protect yourself during patches. You will always have a copy of the file with your modifications and a copy of the unmodified version. This sets you up nicely for the following patch procedure.
Rolling modification back in when patching Luminis…
- Make note of the current version number.
(ex. 3.3.3.16, you get this with the cpver command) - Apply the patch as documented .
- Use find to get a list off all your modifications.
(ex. find $CP_ROOT -name “*.psu”) - If the file is a binary archive (jar or car) you will need to extract it and apply the following steps for each modified file inside the archive.
(ex. mkdir tmp; cp uPortal.jar tmp; cd tmp; jar xvf uPortal.jar; rm uPortal.jar) - Use diff to compare the file against your custom version.
(ex. diff nested-tables.xsl nested-tables.xsl.psu)- If there are no differences, the file was not updated by the patch, in this case you should move the old versioned file to match the new version number. You are complete with this mod.
(ex. mv nested-tables.xsl.3.3.3.16 nested-tables.xsl.3.3.3.64)
- If there are no differences, the file was not updated by the patch, in this case you should move the old versioned file to match the new version number. You are complete with this mod.
- If step 5 yielded differences, you need to see if the file was changed from the previous version.
(ex. diff nested-tables.xsl nested-tables.xsl.3.3.3.16)- If there are no differences, then the file hasn’t changed and you can put your mod back in place and simply update the version number. You are complete with this mod.
(ex. cp nested-tables.xsl nested-tables.xsl.3.3.3.64; cp nested-tables.xsl.psu nested-tables.xsl)
- If there are no differences, then the file hasn’t changed and you can put your mod back in place and simply update the version number. You are complete with this mod.
- If step 6 yielded differences, you need to merge your changes into the new version, this could be simple or complicated depending on how much has actually changed. This is a manual process where you will need to reference ~/CHANGELOG to detemine the extent of what was modified.
- If the file was inside a binary (step 4), recreate the archive
(ex. jar cf uPortal.jar .; cp uPortal.jar ../uPortal.jar.psu; cp uPortal.jar ../uPortal.jar) - If all your mods have been addressed, you can startup and test Luminis. You are complete.
(Note: Be sure to test the patched Luminis cleanly before applying mods)
The following steps must be done for each modified file
Obviously this is still a fair amount of work, but it is designed to be forgiving of mistakes. You generally have a fair number of files that are self explanatory in name and nature. Additionally, if done in proper order it can be done against a fair number of mods quickly. Therefore this procedure is scalable.
If anyone is doing anything similar, drastically different, or has questions or concerns about this process, please let me know in the comments section. I’m always looking to gain efficiency wherever possible, so please chime in!
Tags: luminis, modifications, nested-tables.xsl, patch, patches, plymouth state university, portal, sungard, sungardhe, uportal
Comments
2 Responses to “Luminis Modification Procedure”
Got something to say?

Wouldn’t CVS or SVN be a perfect tool for managing these revisions? Not only would you be able to store multiple versions of your files, but also comments pertaining to your mods. Rolling back changes is fairly easy, and you can also get a complete log of all your changes.
Did I mention built-in diff tools?
It probably would work good, but this is a low tech, fast and simple solution. Also… I can do it without consulting the systems team and getting a CVS or SVN installed, running, and not firewalled off somewhere.