Archive for February, 2007

Luminis Modification Procedure

// February 19th, 2007 // 2 Comments » // Technology Bits

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

Casino Royale – A Late Review

// February 16th, 2007 // No Comments » // My Stuff

Casino Royale Movie posterAs a huge Bond fan, I found it unfortunate timing that Casino Royale was released shortly after the birth of my first son. This left me with no opportunity to catch the film and weigh in on the new Bond. However, I finally got this opportunity last night in it’s final showing at the Fashion Valley AMC theater in San Diego. As this was being billed a a “reboot” of the Bond franchise, I expected many changes, and was delighted with what I found.

Daniel Craig steps into this film and in many ways redefines the character of James Bond. This is a bond who is darker and grittier than anything Connery, Moore, or Brosnan ever portrayed. This is a Bond who instead of being 100% smooth all the time, shows humanity and flaws, but is able to use his suave debonair as a weapon when it’s needed. This Bond seems less frivolous and more driven. The conventional characteristics are all still there, but his recklessness is brought more to the forefront. For the first time the character of Bond seems as though he could actually exist.

They also change his reliance on sex and women. He flirts and charms, but is shown to be less sexually exploitive. For example, he opts to follow a lead over spending a night with a gorgeous woman. He also never gets into any sort of sexual rapport with the main villainess. Finally he falls truly in love with Vesper Lynd (Eva Green). I can certainly understand this last one. This is the second in a row Bond-girl with a fully developed character. However, Green’s character is far superior to Halle Berry’s Jinx character in every conceivable way.

This 21st Bond film is still entirely packed with action. The first major action sequence involves a free running foot chase that harkens to David Belle’s Le Parkour. This pace is not sustained, but rather falls into a steady flow that is better paced for story telling. This is of course repeatedly interrupted by major action scenes.

Also of note, the opening animated sequence and song were fantastic. Chris Cornell performs “You Know My Name” to a really entertaining cards, guns and Bond animation. Check these out (as long as YouTube keeps the video available)

If you had any doubts about Daniel Craig as Bond, or a “reboot” of the Bond franchise, don’t. This is well done. Suddenly Bond is fresh again after 20 movies! I cannot wait for the 22nd Bond film which promises to be the first true sequel in the history of Bond movies.

animation, bond, bond 21, bond 22, brosnan, casino royale, chris cornell, connery, daniel craig, eva green, halle berry, ian fleming, james bond, jinx, moore, vesper lynd, you know my name

Google Presently?

// February 7th, 2007 // 1 Comment » // Technology Bits

Garett Rogers on ZDNet points out an interesting section of the Google language file in Google Docs.

JavaScript:
  1. var MSG_VIEW_PRESENTATION="View presentation";
  2. var MSG_PRESENTATION_SETTINGS="Presentation settings";
  3. var MSG_DOC_TO_PRESENTATION="Convert document to presentation";
  4. var MSG_DOC_TO_PRESENTATION_HINT="Once your document is converted to a presentation, you can insert slide breaks using Insert> Slide from the main menu.";
  5. var MSG_PRESENTATION_TO_DOC="Convert presentation to document";
  6. var MSG_POPUP_BLOCKER="Presently is unable to launch your presentation in full-screen mode. Check your pop-up blocker settings.";
  7. var MSG_NEW_SLIDE_TITLE="New Slide";
  8. var MSG_UNSUPPORTED_BROWSER="Unsupported Browser Presently doesn't support Opera and will not function properly. Would you like to continue anyway?";
  9. var MSG_SLIDE_INDEX="Slide %1 of %2: %3";
  10. var MSG_NEXT="Next";
  11. var MSG_NEXT_HINT="Space, Enter, N";
  12. var MSG_PREV="Previous";
  13. var MSG_PREV_HINT="Backspace, Del, P";
  14. var MSG_ZOOM_IN="Zoom in";
  15. var MSG_ZOOM_OUT="Zoom out";
  16. var MSG_ZOOM_RESET="Zoom reset";
  17. var MSG_TOGGLE_AUTOFIT="Toggle AutoFit";
  18. var MSG_PICK_THEME="Choose theme:";
  19. var MSG_THEME_BLANK="Blank";
  20. var MSG_THEME_GOOGLE="Google";
  21. var MSG_THEME_LIQUID="Liquid";
  22. var MSG_THEME_MONOCHROME="Monochrome";
  23. var MSG_TOGGLE_TOOLBAR="Hide/show toolbar";
  24. var MSG_EXIT_PRESENTATION="Exit presentation";
  25. var MSG_END_OF_PRESENTATION="End of presentation. Are you sure you want to exit?";

This tips the hand and shows they are intending to have an application called "Presently" and it will have theme capabilities. We would assume it will export and import from Microsoft Powerpoint...

On a side note, Google has already reacted to this by pulling the above quoted language from the file.

google, presently, presentation, google docs, google presently, google, powerpoint, microsoft, microsoft powerpoint, javascript, garett rogers, zdnet

Best Super Bowl XLI Ads

// February 5th, 2007 // 1 Comment » // My Stuff

As always the Super Bowl ads are an equal draw for viewers. I'm torn because I truly love both the game and the ads, which makes a DVR a necessity for bathroom breaks...

Anyway, here are my favorite commercials from this year, basically these are my top five sponsors, multiple ads for each in some cases, followed by two ads that get special mention.

Bud Light - Rock/Paper/Scissors

Bud Light - Fist Bump

CareerBuilder - Jungle Office Warfare Series Unfortunately these are not embed-able. Damn CareerBuilder!
Darts & Jungle, Inc
Promotion Pit
Performance Evaluation

Siera Mist - Beard Combover

Doritos - Live the Flavor

Coke - Video Game (GTA)


Special Mention for Most Disturbing: Chevy HHR Car Wash 2007 Super Bowl Spot

Special Mention for Saddest: GM robot suicide dream

ads, advertisement, advertisements, beard combover, bud, bud light, budweiser, builder, career, careerbuilder, cheesy, chevy, coke, combover, crunchy, doritos, fist bump, GM, gta, hhr, jungle, office, paper, robot, rock, sad, scissors, sierra mist, smooth, spicy, suicide, video game, warfare, youtube

Never Liked Wonder Woman Anyway…

// February 4th, 2007 // 4 Comments » // My Stuff

WonderWomanV5Joss Whedon is officially no longer writing the script for the upcoming Wonder Woman movie.

Joss' statement about parting ways:

We just saw different movies, and at the price range this kind of movie hangs in, that's never gonna work. Non-sympatico. It happens all the time. I don't think any of us expected it to this time, but it did. Everybody knows how long I was taking, what a struggle that script was, and though I felt good about what I was coming up with, it was never gonna be a simple slam-dunk.

I have to say, I love Joss, but I'm not a DC comics fan and especially uninterested in Wonder Woman. Don't get me wrong, I love the female protagonist hero, I just think Wonder Woman is nearly as lame as Aquaman. Again though... if it's DC, I only really care about Batman, Green Lantern, The Question, and Superman in the right doses. Admittedly... I usually enjoy the Justice League in general, but the individuals are less interesting. Back on topic though, I don't think it matters who writes this movie, it has a high likelihood of being terrible.

Thanks to Jenny for the heads up on this.

batman, dc comics, dc, comics, green lantern, joss whedon, justice league, movie, script, superman, the question, wonder woman

Greatest Press Conference in the History of Media

// February 2nd, 2007 // 1 Comment » // My Stuff

The insanely ridiculous terror scare in Boston on Wednesday lead to the greatest press conference that has ever occurred. Watch above, you can't help but love it!

Peter Berdovsky and Sean Stevens walk out of the Charlestown District Court and turn the media into a laughable circus, a feat they usually only accomplish on their own. The only topic open for discussion would be "haircuts in the 70’s". The press conference goes on for a good amount of time with them refusing to consider any other topic and their lawyer repeatedly supporting this position. Eventually the media gives up and leaves them alone.

They were arrested for putting up throwies around Boston that depicted an advertisement for "Aqua Teen Hunger Force" on Cartoon Network's late night Adult Swim. Considering the fact that they were hired to do this work and their only intention was marketing and not terror, legally they should be fine. Luckily the judge handling the case seems like a reasonable person. "Judge Paul K. Leary seemed skeptical of the state's case, telling Grossman that the law requires that people must intend to create a panic to be charged with placing hoax devices. This case, the judge said, seemed to involve two men who relatives say were paid to place unorthodox advertisements throughout the city." [from the MAKE article]

Clearly the devices they used were innocuous and reasonably common (at least in principle) amongst netizens. I first learned about throwies a year ago in this Amanda Congdon Rocketboom video. Boston was the only city, out of the many that saw the same marketing campaign, that overreacted in this way.

Some of my favorite quotes I've heard related to this incident:
- "Boston police protect me from marketing!"
- "Couldn't these have really been bombs?" response: "So could trash cans, mailboxes, and tubes of toothpaste..."
- "The press accuses of them of not taking it seriously but, in a sense, they're taking it just as seriously as they ought to."
- "omg exploding light brights"

In the end, what I find most disturbing is that this was a win for terrorism, even though no terrorists showed up to play...

Thanks to Cliff for finding the embed friendly YouTube video

adult swim, amanda congdon, aqua teen hunger force, boston, cartoon network, MAKE, marketing, Peter Berdovsky, rocketboom, Sean Stevens, terrorism, throwies, youtube

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIENvbWljIGJvb2sgZ3V5LCB0ZWNoIGdlZWssIGFuZCBmYXRoZXIgb2YgdHdvLi4uPC9saT48bGk+PHN0cm9uZz53b29fYWJvdXRsaW5rPC9zdHJvbmc+IC0gIzwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19yb3RhdGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0yLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTMuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZ3JheS5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly9mZWVkczIuZmVlZGJ1cm5lci5jb20vbm9zaGVlcDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQp2YXIgZ2FKc0hvc3QgPSAoKCJodHRwczoiID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKSA/ICJodHRwczovL3NzbC4iIDogImh0dHA6Ly93d3cuIik7DQpkb2N1bWVudC53cml0ZSh1bmVzY2FwZSgiJTNDc2NyaXB0IHNyYz0nIiArIGdhSnNIb3N0ICsgImdvb2dsZS1hbmFseXRpY3MuY29tL2dhLmpzJyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnJTNFJTNDL3NjcmlwdCUzRSIpKTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KdmFyIHBhZ2VUcmFja2VyID0gX2dhdC5fZ2V0VHJhY2tlcigiVUEtODI3MjAtMSIpOw0KcGFnZVRyYWNrZXIuX3RyYWNrUGFnZXZpZXcoKTsNCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9hcmNoaXZlczwvc3Ryb25nPiAtIGh0dHA6Ly9ub3NoZWVwLm5ldC9hcmNoaXZlcy88L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2ZsaWNrcl9jb3VudDwvc3Ryb25nPiAtIDEwPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9mbGlja3JfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy90aXJyZWxsLzwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfZmxpY2tyX3VzZXI8L3N0cm9uZz4gLSA2MDg2MzE1NUBOMDA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2xpZmVzdHJlYW08L3N0cm9uZz4gLSAxMDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfcG9zdHM8L3N0cm9uZz4gLSA1PC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIGh0dHA6Ly9ub3NoZWVwLm5ldC93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmc8L2xpPjxsaT48c3Ryb25nPndvb19tYWlucmlnaHQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9zdXBwb3J0L3RoZW1lLWRvY3VtZW50YXRpb24vaXJyZXNpc3RpYmxlLzwvbGk+PGxpPjxzdHJvbmc+d29vX25hdjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2hvcnRuYW1lPC9zdHJvbmc+IC0gd29vPC9saT48bGk+PHN0cm9uZz53b29fdGFiczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fdGhlbWVuYW1lPC9zdHJvbmc+IC0gSXJyZXNpc3RpYmxlPC9saT48bGk+PHN0cm9uZz53b29fdXBsb2Fkczwvc3Ryb25nPiAtIGh0dHA6Ly9ub3NoZWVwLm5ldC93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmc8L2xpPjxsaT48c3Ryb25nPndvb192aWRlbzwvc3Ryb25nPiAtIGZhbHNlPC9saT48L3VsPg==