Lotusphere Mashup Event Slides

On the plane back to Dallas now after finishing up Day 2 of presenting the Lotusphere Mashup (100 hours of Lotusphere in 1 hour). I was a bit ambitious, or simply not fast enough. In both Dallas and Houston, it was more like 1:15. At least in Houston today I got to the intended end of the content. In Dallas, I was still 70 slides short of target. I’m posting the slideset from the Houston presentation (reworked from the Dallas version a little bit). There also available from the downloads link on the blog site. I’ve taken out a lot of the A/V content which helps a bit with the size.

For those of you who wanted some of the video content, here’s a little nugget for you from the Barmy Swan Boat Races.

So, how do you find all the content referenced in the presentation? First, you can go to del.icio.us and you’ll find all my bookmarks to blog content that I found useful coming out of Lotusphere.

Then you can go to technorati and search for the tag Lotusphere2007 as I’ve done with the link provided and you’ll turn up over 1,000 blog posts, 2,500 pictures, and 20 or so videos.

If you were fortunate enough to go to Lotusphere, you could have downloaded all the session slides (as pdf). If not however, you can still get many of the sessions from the presenters by going to their individual site links. A fairly comprehensive list of them has been put together in the “Sessions DB” that Ben Langhinrichs created and maintains.

I’ll be in New York on Tuesday and Chicago on Wednesday at the LCTY events promoting Client Genie, FirM, and Workflow’s new super-duper-yet-to-be-named web authoring, doc management product. If you’re there and want to see parts of the presentation, come on by. Next week, it’s off to D.C. and Detroit for their LCTY’s.

I didn’t mention it in my presentations, but the Dallas LCTY event is April 5th, and in Houston, it’s April 12th. Good speakers are lined up for both. If you’re local, please sign up and come!

100% fidelity of Domino RichText content on the Web via DXL

All the i’s aren’t dotted yet, but it looks like I’ll be giving 4 presentations at The View’s Admin and Developer Conference in Boston in June. The one I’m the most excited about is DXL transformation of RichText for the Web. The Workflow team has been working on a product which will be released soon that needed 100% fidelity of RichText presentation on the Web. If you’ve done anything with that yourself, you know there are issues in getting true fidelity when you let Domino “do its thing” and transform it for you.

After some work, we’ve developed an approach that on Document save in the Notes client, creates the HTML to be presented to the web from the RichText by doing a DXL export and XSL transformation. By trying out all kinds of RT content and tweaking the XSL appropriately, we think we’ve now got 100% fidelity for the way the content was built on the Notes client. What initially appeared to be challenging, inline images, actually turned out to be relatively simple. I’ll be posting more on the “issues” and how our solution works in future posts.

Other sessions will include a discussion of DXL roundtrip design modifications with a sample app for performing the roundtripping. There’s the Domino SuperView which is an AJAX session, and the last one is a more introductory session on AJAX development techniques. The last one feels like well-trodden ground at this point, but should be good for people still wanting to get familiar with the concepts and some good ways to go about debugging in the development environment.

Lotusphere Mashup Events next week

So much content and so little time. I’ve been working on the presentation for The Lotusphere Mashup (100 hours of Lotusphere in 1 hour), which will be held at our Lunch and Learn Events next week in Dallas (2/27) and Houston (2/28). Response has been great and both events are just about filled to capacity. This should be a fun time with lots of great info, audio clips, video clips, T shirt giveaways, and of course, lunch. We’ll also be giving a CD to everyone with all the links and content from the presentation. Look forward to seeing you there if you’re coming. If not, I’ll post the final content here.

Streaming WMV video from a Domino server

We recently had a customer whom we’d done a custom training class for and recorded via Camtasia and output as a wmv file. They wanted the video hosted as streaming video on a Domino server. It’s been awhile since I’d looked at this, and had a little trouble remembering/locating the process. Now that it’s fresh in my memory, I thought I’d record it for you (and myself) for future reference.

Quick steps follow this discussion.

If this had been a flash file, it would have been a little easier, but since we’ve got a wmv, here’s how it works. First, if you’re not familiar with the Domino server’s httpd.cnf file, that’s where all the MIME types that the Domino server’s familiar with are recorded. It’s located in the data directory on the server. Edit this file with a text editor and confirm for yourself that by default, wmv is not a MIME type that Domino’s familiar with. Add the .wmv mime type as well as the .wvx mime type to the document, and confirm that the .asx mime type is already in the document. By default it should be. After you add the mime types to the httpd.cnf file, restart the http task on the server with “tell http restart”.

Once you’ve got the server ready, you need to put the movie file somewhere. Your choices are as a document attachment, as a file resource in a database, or in the Domino server’s html directory. The first is a poor choice as the file attachment will not be cached in browsers and it will pull it down every time it’s requested. Personally, I like it as a file resource as it travels with the application. If all you wanted to do was make the file available, then you could simply create an a href link to it and user’s will be able to download it. However, to make it stream, you should create a Page design element with an ASX tag structure in it. Most importantly, on the 1st tab of the properties box for the Page, set the content type to video/x-ms-wvx which alerts the browser that it should launch the associated player (Windows Media Player) and start loading the file. The contents inside the ASX tag structure point to the actual file resource.

With this design element in place, the last bit is to create a link to it from somewhere in your site with a standard a href tag. Notice below that we’ve added a type=”video/x-ms-wvx” parameter to the a href tag. That’s it, when user’s click on the link, media player should launch and the content should begin streaming.

Quick Steps:

There’s some automation and streamlining you could do here to put in path to db, or to pass in the requested resource, but I’ve kept this clean and simple. I’m sure there are probably some better ways to do this but it works for us. Feel free to post comments.

A DXL alternative to mime conversion of RichText

User’s create content in a RichText field via a Notes client. When that RichText field is viewed in a browser, it is often flawed. Domino performs a mime conversion of the content to display it to the browser, and that conversion has a few flaws. For example, an extra
tag is inserted at the beginning of the content. Default thickness of 1 for table borders is converted to 4 pixel.

Codename Webbit, a new product offering

Well it’s just about ready for the public, and since I haven’t written this week, I might as well talk about this. Having used almost 10 web content management systems, and not being particularly happy with any of them, we decided to write a new one. It is Domino-based and for now is codenamed Webbit. It features standard web content authoring via Notes and Web clients. Of more interest is its ability to provision document libraries with WebDAV like capabilities, Web Service component integration, and RSS consumer and producer capabilities. Tied in with email integration, form creation, wikis, discussion, and shopping cart capabilities, every tool is available for end users to create and expose as part of the site. Truly, for some companies, this could be their internet-in-a-box solution.

And now a technical post…Domino, RSS, AJAX and cross-domain scripting

We’ve been working on a project recently where a Notes document would be displayed on the web. If you think in terms of a Web Content Management page where there’s a lot of surrounding headers and menus and then a content block, you’ve got the picture. Within this content, a user has specified that an RSS feed should be shown. For this particular implementation, we want to render the page and then use AJAX to grab the RSS feed specified, transform it, and display it at this specified point in the page. This is relatively straightforward AJAX stuff, and would work fine if the feed is from the same host/domain. However, it’s not from the same domain, of course it’s not, it’s never that easy is it?

Let’s say the feed is for Ed Brill’s blog…no, let’s not, I hammer his blog enough as it is already with my tests (sorry Ed). Let’s pick on Bill Buchan instead. There’s a security block out there that says xmlhttprequest objects can’t go to a url outside of the current host/domain, which would constitute cross domain scripting. Now, this problem has been addressed before outside the Domino space, as well as in the Domino space, see this entry on CodeStore. But did I mention that this client’s environment runs Domino on Linux servers. Ha, that knocks out Dwight Wilbanks and his dominion of folks that say, “Easy, use CreateObject(“Msxml2.ServerXMLHTTP”) in Lotusscript”.

So, we’ve built a solution that makes use of the AJAX pattern of Cross-Domain Proxy with a Java agent (or servlet) as the intermediary and are testing it out. I’m curious if anyone sees serious problems with it. More…