Can you relate?

dilbert.gif
If this is you and you can’t stand it, try the life of a consultant. I’m not saying it’s better, I’m saying you’ll rarely have days like that. Let’s recall the last month:

  • Today: implementing Websphere Portal Web Content Manager for a client in Houston
  • Friday: teaching Web Services development with version 7 and 8 of Notes. Can you say cool to the Domino Designer 8 Script Library for consuming Web Services?
  • Wed, Th: teaching DB2NSF for Domino 7 and 8.
  • Mon, Tue: Spec out custom client launch configurations with Client Genie
  • Previous week: Visit clients who’d been ignored for a week
  • 2 weeks ago: Developer2007 conference speaking, client meeting in Boston
  • 3 weeks ago: Penumbra meetings in Westford with IBM after overnight flight from client engagement in San Diego

So, an endless series of tasks (perhaps also unimportant)…maybe. Mind-numbing…no. Is it worth it? Ask my wife.

She recalls a lunch conversation with a good friend the other day. To her friend, “Does your husband work a lot? Yeah, he blah..blah…blah. How about Lance?”

“Yeah, you know with technology you can work from anywhere now, but unfortunately, that means he can work from anywhere. So, he’s able to stay home with the kids in the morning sometimes, and he’s able to come to school events or practices, but he’s also working at the pool on the weekends, in the middle of the night, in the car, you name it.”

Hmmm…I think I better not open up my laptop next week when we’re on vacation.

Lesson 1: Don't answer late night Skype calls from Bruce or Julian

So here I am at work, now 10:30pm, working on things for class tomorrow (sql1097n error if you must know), and probably will be here again till 2am, when I get a ping from Julian, ‘hey, pick up’.

‘Yeah, I say’.

‘Welcome to the Taking Notes Podcast 62 with special guest Lance Spellman, I’m Bruce Elgort…’

Turkeys.

Nah, I probably needed to clear my head anyway. I was mostly a spectator, and it’s great to hear the stuff coming out of that SNAPPS camp due north of me 400 miles or so. Rob Novak was also on the call and if you haven’t seen the Quickr template movies he’s been putting out, Joe Bob says, “check it out”. They are great examples of what’s being done with Dojo in the Lotus brand today. It’s got me thinking about making a trip up there in a few weeks for Collaboration University to dig in a little deeper.

However that might conflict with other travel plans. I’m looking to take a couple of good long breaks over the next 6 weeks. Over the 4th of July, I’m going to deep-in-the-mountains Colorado and maybe do a little fly fishing down below the Navajo Dam. Then the first 2 weeks in August…house swap. Francie’s coming to Dallas, I’m going to Anguilla. Dang, who came out ahead on that deal?

Modifying BlogSphere Skin via NoteMan

I wasn’t really going to post this, but then I saw that Paul Mooney’s using the same blog template skin as I am for dojomino which is called Relaxation. A very irritating thing about this template is it doesn’t put a clickable link around the blog post title to get the full story. Instead you have to find the Permalink at the bottom to do that.

pmooney.jpg

So with a bit of Blogsphere digging around I figured out where you set that bit. But of course, it’s in a moderate size document with no form associated with it. Enter NoteMan.

NoteMan (among other things) gives you the ability to see the contents of a document…think giganto document properties box. And then it gives you edit capability right there.

In examining the Blogsphere db, you find that:

  • a blog post is served up by the HTMLPermalinks view
  • the view uses a Form Formula which specifies the form HTML_PermaLink
  • the HTML_PermaLink is really a $$ViewTemplate for D6plinks which has a WebQueryOpen agent pointing to Agnt_LoadPermaLink
  • which uses a Lotusscript library called RenderEngine.Blog
  • with a function called initializeRenderEngine
  • that uses the following code to locate a template document
    Set templateView = thisDB.GetView(“lkp_Templates”)
    Set templatedoc = templateView.GetDocumentByKey(configDoc.cfg_basic_SiteTemplate(0)+”.tmpl”)
  • that view, which is LookupTemplates, by default only has 1 document in it, named default.tmpl

You’d think, “Voila, I’ve got it!”, and go open that document from the view. Not so fast my friend…there’s no form to handle that document.

cannot_locate_form.jpg

How about Document Properties then?

doc_properties.jpg

I’m thinking I might be here all day looking through these. I’m also thinking I’m going to have to write a quick disposable agent to go modify whichever field it is that’s responsible for handling the Blog Title text. Sigh.

NoteMan to the Rescue!

Oh yeah, I’ve got NoteMan. Let’s pop that open on this document.

noteman_edit.jpg

Before I launch it though, let’s find out what the HTML element on the page is that I’m trying to find. Open up Paul’s blog, turn on Firebug, hit the Inspect button and click on a blog title.

firebug_inspect.jpg

Aha, we’re looking for the <h3 class=”entry-header”> That should be easy to find in NoteMan. Let’s see…Yes, there it is.

noteman_field.jpg

Put a little edit on that guy, click the Item Changes checkmark and the Note Changes checkmark, and we’re done.

noteman_edit_save.jpg

And you end up with a clickable blog entry title.

clickable_blog_entry.jpg

UPDATE: On the other hand, I could have been less of a bone-head, and just gone to Blog Configuration | Look and Feel | Page Templates, opened the document, gone to the Single Entry Layouts tab and done the same thing there. Idiot.

UPDATE2: To be more specific, from the Single Entry Layouts tab, choose the sub-tab for the HTMLPage Entry and use this code instead of what’s in the screen shot
<h3 class=”entry-header”><a href=”<$BSHomeURL$>/d6plinks/<$BSUniqueID$>”><$BSEntryTitle$></a></h3>

The Penumbra Board Lotusphere 2008 Weight Loss Challenge

Well the first “event” for Lotusphere 2008 is upon us. After a stressful week in Boston, the Penumbra board members, Bill Buchan, Mark Ramos, and myself have decided that we have well exceeded our weight limits (i.e turned into fat bastards) and that something needs to be done. Hence the weight loss challenge is upon us. Most weight lost (by percentage) by Lotusphere gets free dinner at Shula’s from the other two at the end of the week. The official weigh in (in nothing but kilts, hide your eyes) to occur Sat night at the traditional Penumbra dinner. If you’ve been keeping up with Bill’s blog you know that he’s already given up smoking and, shocker, been going to the gym. Don’t know what Mark’s plans are, but I’ve gone back to the “no processed foods” diet and started my marathon training again. Personally, I’m targeting a 14% loss by Sphere, and have already lost 10 pds since leaving for Boston. Unfortunately some of that weight was “pre-contest” due to a nasty 24hr bug :-X

So, it’s a late start, but I think I’ll try the Dallas Whiterock Marathon this year. It’s usually on or near my birthday in December, and then there’s the Disney marathon the Saturday prior to Sphere which is just enough recovery time, but I don’t know if I can take a full 2 weeks in Orlando. The one I’d really like to try someday is the Rock’n’Roll Marathon in San Diego. I was there a couple of weeks ago before heading to Boston and the marathon was that weekend.

Dojomino blog postings

The next 3 postings on the Dojomino blog will be about:

  1. Performing a custom compressed dojo build for the email widget example
  2. Based on email I’d gotten from Dwight Wilbanks and as a planned follow up to number 1, a server-side gzip enhancement for outputting dojo content
  3. The ViewComboBox widget. This is a widget that acts like a type-ahead combobox, but updates it’s list of choices from a back-end view via AJAX as the user types new characters

See you over at Dojomino.

Performing RichText to HTML via DXL Transformation Sample

I’ve re-posted the presentation and database for the Rich Text to Web presentation. A couple of things to note:

  • The XSL can be accessed by going to Actions and clicking “Open XSL Profile Doc”
  • The XSL file makes some assumptions about pathing…such as using the DocTitle field on a document as the sorted key for a view to access the doc. You’ll need to change/genericize for your own implementation if you move this to your dbs
  • The agent (CleanHTML_LS) that does all the work happens on QueryClose of the mainnotes form
  • That agent needs highest level security rights…suggest you follow Using instructions and sign the db with an id that has rights
  • The example document in the db actually renders like hell in the browser. This wasn’t the actual use case we developed for initially, so XSL needs tweaking.
  • As we update the XSL for more nuanced presentation capabilities 😉 I’ll add it to the downloads section separately as just a text file download

With those caveats, the db actually does the full course of work. Author a doc in notes, close it, agent fires, creates transformed HTML from Rich Text. Open doc from the Web view in a browser, and view the transformed HTML. Of course, you may feel differently about the level of completeness, but the goal was to show that you can, in fact, get ahold of Rich Text and perform your own transformation on it to control the HTML output. There doesn’t appear to be anything lacking in the DXL information on regular user-authored Rich Text that couldn’t be handled with XSL processing.

Enjoy

Don't tell my wife…I have a new mistress

Her name is Dojo. She’s quite attractive, young, but mature beyond her years. I find myself thinking about her a lot. I really like what she can do for my widgets.

I wish someone would write a book about her so I could gobble it up page by page. When I call her, she usually calls me back and I dig the way she binds. When I require her to do something, she does it, or gracefully tells me why she can’t.

When I think about the upcoming weekend, do I have a peaceful suburban-wife-and-2-kids-and-a-dog weekend, or do I go spend time with…Dojo, sweet Dojo.

I’ve started a new blog…it’s all about Dojo, nothing but how I can twist that pretty little Dojo around my finger. I’ll unleash my passion for her there. Who knows, maybe you’ll come to love her too.

Lotus Developer 2007 Notes

On my way back from Lotus Developer 2007 now, and would be home already except for US Airways leaving an hour late from Boston causing missed connection and overnight stay in Charlotte. So, I’ll get back today instead. It was an interesting week as it was the first time I’d been to a View conference. Thumbs up from what I saw. They run a good show, and the sessions appeared to have a lot of good stuff. As for my sessions, a bit of a mixed bag. Monday was fine, but that night I got pretty sick and was ruined for all day Tuesday. In trying to simplify things so I had less to think about for my Tuesday sessions, in my fever-addled state I deleted the wrong “Tuesday” demo directory which left me with code from 6 weeks ago…boo. I’m sure the evals will appropriately reflect that.

By Wednesday morning I was weak but otherwise fine (several people suspected the Monday Chinese food for lunch from the food court), I dunno, maybe just one of those 24 hr bugs. Anyway, Wednesday was a fun session on AJAX/Dojo/Domino which had a repeat in the afternoon. Hopefully anyone who attended the Tue pm session came to Wed and got a better picture of what Dojo can do. Sometime over this Fri-Sat-Sun, I’ll get the demo/presentation page updated with the most recent code.