Luminis Consulting

July 15, 2007 | 1 Comment

I’ve been serving as the portal administrator at Plymouth State University since 2003. I headed their conversion from Campus Pipeline to Luminis III.2 in 2004. On May 28th we were (most likely) the first institution to deploy Luminis IV in production.

During this time, one of the most satisfying aspects of my job has been talking with other schools. It has often been my pleasure to talk with schools as they first start working with Luminis, or are doing an upgrade, or are just struggling with something new they would like to do with the platform.

Out of one of these conversations I was fortunate enough to establish a more in depth relationship with the University of San Diego. This eventually turned into a consulting engagement which I enjoyed immensely. I was able to help them get their newly hired portal administrator up to speed as well as assist in a number of small modifications and customizations. It also gave me the chance to visit their beautiful campus.

SunGardHE offers a number of options for consulting engagements, but they are very busy. It can often be difficult to get someone, especially for small things, and more challenging if you want them quickly. This is where I can offer my services as a Luminis Consultant.

To highlight my qualifications a bit more, I have presented on Luminis a number of times: LDI Implementation Case Study at PSU at Summit 2005, Implement and Deploy Banner Channels (top five Summit 2006 presentation), LDI Implementation Tips and Tricks, Alumni are Coming and Drag and Drop Channels/Statistics Gathering (Developers Lounge) at Summit 2006, Implement and Deploy Banner Channels and Extending SSO with CAS at Summit 2007, and more!

As always, I’m happy to talk with any school about any Luminis related topic, if however, you are looking for more than a couple conversations, I am available for consulting.

banner, campus pipeline, cas, channels, consultant, consulting, higher ed, higher education, integration, ldi, luminis, resume, single sign on, sso, summit, sungard, sungardhe, yalecas

Tags: , , , , , , , , , , , , , , , , ,

Related:

Luminis Statistics from Uportal

February 23, 2007 | 3 Comments

Note: this is a reposting of an article I wrote on LumDev.net April 12, 2005. I am publishing it here because LumDev is currently experiencing technical difficulties. I have not updated this post in any way to reflect new versions or practices. It is still the 2005 article in every way. I would highly recommend reading that article’s commentary if LumDev.net is available when you are reading this.

As many of us who use and administer Luminis know, the stats are quite inadequate straight out of the box. There are some improvements in III.2, but they are still not enough. Some posts on here have suggested some other solutions that gain some ground. I have been instead researching Uportal’s build in StatsRecorderFactory support. After a lot of trouble initially getting this enabled, Grace Francisco at SCT support was finally able to get me what I was missing to try this out. The following is an account of how to enable these stats outlining what I like and don’t like about this solution. In short this is useful, but short of perfect.

1) cd CP_WEBINF/config
2) jar xf ../lib/uPortal.jar properties/portal.properties –> this actually will get picked up by our classpath, and much easier than editing the file, and rejarring it back to uPortal.jar
3) cd properties
4) edit portal.properties
5) change

#org.jasig.portal.services.stats.StatsRecorderFactory.implementation=org.jasig.portal.services.stats.DoNothingStatsRecorderFactory
to
org.jasig.portal.services.stats.StatsRecorderFactory.implementation=org.jasig.portal.services.stats.LoggingStatsRecorderFactory

6) turn the stat recorder settings ON, if you scroll down a few lines you can choose which ones you want.

7) bounce the webserver:
CP_ROOT/bin/rc/70-webserver stop
CP_ROOT/bin/rc/70-webserver start

8) add logging settings to CP_WEBINF/config/cplog4j.properties
# - STATS-RECORDER
log4j.logger.uportal=INFO, stats
log4j.appender.stats=org.apache.log4j.RollingFileAppender
log4j.appender.stats.File=${util.logservice.log4j.directory}/stats.log
log4j.appender.stats.MaxFileSize=10000KB
log4j.appender.stats.MaxBackupIndex=10
log4j.appender.stats.layout=org.apache.log4j.PatternLayout
log4j.appender.stats.layout.ConversionPattern=[%d{ISO8601}] %m%n

These are some of the log entries created in stats.log:
[2005-03-18 17:10:11,828] [INFO] WebServlet [uportal]: STATS-RECORDER: (cpadmin) logged in successfully at Fri Mar 18 17:10:11 MST 2005
[2005-03-18 17:10:30,937] [INFO] WebServlet [uportal]: STATS-RECORDER: Channel [E-mail Channel, 221, u11l1n13] was rendered in layout 1 by (cpadmin) at Fri Mar 18 17:10:30 MST 2005
[2005-03-18 17:10:30,937] [INFO] WebServlet [uportal]: STATS-RECORDER: Channel [Personal Announcements, 210, u11l1n14] was rendered in layout 1 by (cpadmin) at Fri Mar 18 17:10:30 MST 2005
[2005-03-18 17:10:30,937] [INFO] WebServlet [uportal]: STATS-RECORDER: Channel [Campus Announcements, 211, u11l1n15] was rendered in layout 1 by (cpadmin) at Fri Mar 18 17:10:30 MST 2005
[2005-03-18 17:10:30,937] [INFO] WebServlet [uportal]: STATS-RECORDER: Channel [My Headlines, 212, u11l1n17] was rendered in layout 1 by (cpadmin) at Fri Mar
[2005-03-18 17:12:43,015] [INFO] WebServlet [uportal]: STATS-RECORDER: Session destroyed for (cpadmin) at Fri Mar 18 17:12:43 MST 2005

The first major limitation of this is that it is logging all the stats in a file. So in my instance I am running a cron’d process hourly to go in and pick up the stats files, parse them, and load them into Oracle. My table structure is attached so that you can see the sort of info I’m am acquiring. The script I’ve written is in PHP and if anyone is really interested, I could share that as well. In a perfect world, there would be a Stats Recorder for Oracle, so that it could go straight in without the extra steps. Someone has written RDBMStatsRecorder which hits Postgres. That may be a good base for building an Oracle version. (Google search RDMBStatsRecorder to find out more).

The second limitation is that it is logging all the STATS-RECORDER entries into the cp.log as well as stats.log. This makes for a very dirty cp.log. Someone who knows more about log4j may be able to explain how to resolve this. I unfortunately do not…

The third limitation is that there is not a way to track what tabs are being accessed. This is an important statistic for a bunch of reasons. I reported this desire to support and they entered Enhancement Request #26422 on my behalf. Another option would be to try and glean these from the webserver logs, but of course then you would not have a username and associated role to tie to these stats, so I’m not certain how useful that might be… Better than nothing though.

You can see my PHP code here: http://my.plymouth.edu:81/code/stats.phps

cplog4j, java, luminis, PHP, statistics, stats, stats-recorder, sungard, sungardhe, uportal

Tags: , , , , , , , , ,

Related:

Luminis Modification Procedure

February 19, 2007 | 2 Comments

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…

  1. Copy the original file to filename.version
    (ex. cp nested-tables.xsl nested-tables.xsl.3.3.3.16)
  2. Make your modifications to the original file.
    (ex. vi nested-tables.xsl)
  3. 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)
  4. 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…

  1. Make note of the current version number.
    (ex. 3.3.3.16, you get this with the cpver command)
  2. Apply the patch as documented .
  3. (Note: Be sure to test the patched Luminis cleanly before applying mods)

  4. Use find to get a list off all your modifications.
    (ex. find $CP_ROOT -name “*.psu”)
  5. The following steps must be done for each modified file

  6. 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)
  7. Use diff to compare the file against your custom version.
    (ex. diff nested-tables.xsl nested-tables.xsl.psu)

    1. 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)
  8. 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)

    1. 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)
  9. 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.
  10. 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)
  11. If all your mods have been addressed, you can startup and test Luminis. You are complete.

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!

luminis, modifications, nested-tables.xsl, patch, patches, plymouth state university, portal, sungard, sungardhe, uportal

Tags: , , , , , , , , ,

Related:

Summit 2007 Presentation Proposals

October 11, 2006 | 1 Comment

It’s that time of year again. I’ve updated my bio and tweaked a few of the proposals I’ve submitted in previous years. I’m submitting fewer this year than past years as many of my responsibilities in the past year have swayed away from Luminis, reducing it’s core status in my workload.

My Title: Portal Administrator and Senior Web Developer

My Bio:
Zach Tirrell is from Plymouth State University in northern New Hampshire. Zach is both portal administrator and senior web developer for the institution. The main areas of his concentration revolve around integrating systems and identity management, Luminis has become a perfect enabler of this. He is often looking to get just a bit more out of Luminis than what is delivered. In the past couple years Zach has become increasingly involved with Summit events. At Summit 2005, Zach presented “LDI Implementation Tips and Tricks”. This presentation was repeated at Summit 2006 as well as a new presentation, “Implement and Deploy Banner Channels”, which was voted in the top 5 by attending reviewers. While at Summit 2006, Zach also co-presented “Alumni Are Coming! Luminis ROI”. Finally, he hosted an informal session in the Luminis Developer’s Lounge where he covered statistics tracking and drag and drop channels within Luminis.

Implement and Deploy Banner Channels
Banner 7 comes with a huge pile of exciting new channels. These channels greatly leverage the relationship between Luminis and Banner, however, implementation is complicated and deployment even more so. Banner channels are fantastic, but they need to be rolled out carefully. Plymouth State University has already run this gauntlet, come hear some of the concerns and pitfalls so you can avoid them yourself.
This is a repeat from last year

Collecting Luminis Statistics
By leveraging the underlying UPortal infrastructure, learn how to take advantage of RDBMSStatsRecorder to generate detailed numbers on who is logging in, logging out, how often, and by role. These numbers are supplemented with other third party statistic tracking utilities. You can then use these numbers to better understand how effective your portal strategy is. Tracking user adoption and growth over time becomes essential to decision making about the portal.

Extending SSO - CAS in Luminis
One of the most common WebISO solutions is the Central Authentication Service (CAS) developed by Yale. In Luminis III.2 CAS became available as an installable module. Learn how to get CAS installed, configured, and where it might fit in your organization. See how Plymouth State University has leveraged the phpCAS libraries to CAS’ify all their internally developed PHP web applications as well as a few third-party ones. What’s best, it only takes a couple lines of code!
This topic is for technical audiences

banner, banner channels, cas, channel, channels, luminis, portal, portal administrator, RDBMSStatsRecorder, single sign on, sso, summit, sungard, sungardhe, web developer, yalecas

Tags: , , , , , , , , , , , , , , ,

Related:

Great New Emerging Blogs

May 24, 2006 | 23 Comments

Over the last few months a few friends and colleagues have started their own blogs. Since then each has put out some fantastic articles and I wanted to take an opportunity to summarize why these are great blogs and highlight my favorite three stories from each.


Ken's TEKKen’s TEK
Ken is my manager at Plymouth State University. His history of forward thinking in the higher education technology space has continued to keep PSU out in front of the University System of NH’s other schools as well as many other higher education institutions. Trust me, I’m not just saying this because he’s my boss, when Ken finally gets a full handle on blogging, we’ll look back on his stories as clear indicators on what is what with higher education technology.

Pomp, Circumstance and Gonfalons
In response to a perceived lack of grandeur during the 2004 Plymouth graduation Ken suggested addition of gonfalons which went over amazingly in 2005. They were again used successfully in 2006. He explains the significance of gonfalons in this article.

Google Trends - Veeerrrryyy Interesting
A great use case for another one of Google’s sweet tools.
SunGardHE Summit Snap Shots
Images from our hugely successful trip to Summit 2006.

Ken has a pile of other great articles on identity management, business intelligence, vodcasts, online education, and more.


Optimal StupidityOptimal Stupidity

Changing gears, this is Randy’s second run at OS. His first incarnation was pretty cool, but this new one blows that old one away. I just hope if this one goes away, all the content doesn’t go with it… again… Randy is a DC comic book loving geek through and through. Me being a Marvel guy, this gives me some great insight on how the lesser half of the comic world thinks.

Seremuppety
An amazingly hilarious parody of Joss Whedon’s Firefly/Serenity done with muppets.
Important Survival Information!
One of the …
Superman: A true Hero will fly again! and Superman’s New Look
Randy is far more excited about the new Superman movie than I am. I appreciate his level of enthusiasm, it is what has kept me paying attention to this movie.

Why is there nothing about Infinite Crisis on his blog yet?


WatersedgeWatersedge
Dan Bramer is the newest in this crowd, but shows great potential. Dan grasps new ideas quickly and is able to convert them into entertaining and insightful ways. Currently there is a lot of WebCT info that is finally being documented. I can’t wait to see what he does when he’s tasked with supporting Luminis and Oracle HTMLdb ongoing.

Tracking Flights in 3D with Google Earth
How flippin’ sweet is this?!? Google Earth is such an awesome application. I love when people take advantage of this application as a platform for additional functionality.
WebCT: The 6 day work week
Here’s Dan flexing his capable WebCT muscles. An insightful extract of previously unmined data.
Dan-a-thon: Disclaimer
An amusing defensive stance after being a key component of one of the most fun trips I’ve ever been on in my life. Dan drove our group through Disney at a break-neck pace, allowing us to see more than we would have expected on such a short trip.

I have to throw an honorable mention to his first story though, Ode to the ‘Construction Guy’, go read this it’s funny as hell.


So, that’s my summary. Check these blogs out and I hope you enjoy them half as much as I do. As for you three, if you’re reading this, keep up the good work.

blogging, blogs, business intelligence, comic books, comics, daniel bramer, firefly, gonfalon, gonfalons, google earth, higher education, identity management, jpss whedon, ken kochien, ken’s tek, online education, optimal stupidity, randy szabadics, seremuppety, serenity, summit, sungard, sungardhe, superman, vodcasts, watersedge, webct

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , ,

Related: