IBM WCM 6.1.0.2 Remote API Content Creation Problem
I’m stumped so I’m throwing this one out there in the hope that someone might know the answer. I have a JSP component that builds a URL to create a new content item, in a specific site area with a specific authoring template. It works great on Portal 6.0.1.3 and Portal 6.1.0.0 but breaks on 6.1.0.1 and 6.1.0.2. When you go to the URL, it correctly starts creating content but instead of skipping the stage where it asks for an authoring template it just gives a blank list to choose from. If you omit the authoring template from the URL it will correctly list all templates and go on to create the content.
Key IBM LWCM Config File
Note to self:
That magical file that controls just about everything you ever want to control about IBM LWCM (at least so far as things that are controlled from the file system rather than the web interface) is under the profile directory at /wcm/shared/app/config/wcmservices/WCMConfigService.properties
This includes:
- configuring backwards compatibility for WCM 6.0 -> 6.1 migrations. Primarily the don’t expire content immediately when no expire date is set.
-
setting up the SMTP server properties so you can get e-mail notifications in workflow
- Side note: These get annoying really quickly if you’re not careful.
- A bunch of stuff on caching that looks cool. I wonder what the changes I just made will do…
Also, why did it take me this long to add fancy list bullet styles to my blog stylesheet? Mixing the blue and green is probably a bit much – I should create a blue tick or green arrow, but oh well, I’m drunk with power.
Open Clip Art Library
Rob wanted to know where I’ve been getting the clip art images on my recent posts. They’re from the seriously cool, but overly hard to use, Open Clip Art Library. They have a ton of SVG images so when combined with Inkscape can be converted to PNG images at any size. I wound up downloading an old archive release of the library which includes PNG versions of all the images and now use OS X to browse and search.
Communities and Git
The conversation that has sprung up around how the use of distributed version control, Github in particular, affects community is a refreshing change in the blogosphere1. It’s people collectively thinking things through rather than just reacting in uproar or following the latest meme.
The latest installment is from Ben Hyde, git: Balene for Knowledge2. It’s definitely worth reading in its entirety, but let me pull out a couple of key points:
Private Variables and Other JavaScript Links
A few handy links about JavaScript techniques.
- Loading Scripts Without Blocking – Steve Souders
- Coupling Asynchronous Scripts – Steve Souders
- Why I Don’t Love JavaScript’s Module Pattern – Jonathan Snook
I find the last one on JavaScript’s module pattern most interesting. It’s main reason for existing is to add the concept of private variables to a language which was designed without any access controls. It reminds me a lot of the argument around typing in languages. Many people think having the compiler enforce variable types leads to fewer bugs, in this case the compiler is enforcing access controls.
Through the Office Window…
Our office in Windsor has a huge window at the front which makes a nice atmosphere on clear blue-sky days like today. Occasionally,it also provides entertainment, from the odd kid knocking on the window to watching the occasional drunk singing as he goes by.
When the Queen is staying just up the hill at Windsor castle, we often get a couple of the Queen’s guard on horse back come down for a coffee next door. Usually this means we look out the window at a horse’s backside, but sometime’s they’re nice enough to turn them round. The horses are absolutely huge and I’d always wondered how much of a run up they took to get on.
JavaScript Libraries Suck
JavaScript libraries are awesome – they make it possible to develop cross browser coolness without going completely insane working around all the incompatibilities. The trouble is, we’re talking about JavaScript libraries. Instead of working around differences in browsers, now you work around differences and incompatibilities in JavaScript libraries.
While the simple response is to just pick one and stick with it, there are some problems with that:
The new banner on the Ephox.com homepage is a good example1. The site was really simple so I went ahead and picked the JavaScript library I knew best – Scriptaculous and Prototype. I developed the script to get a nice cross fade between the two images and went to put it up on the live site. At that point, I discovered someone else at one point had decided to use a lightbox library. As Murphy would have it, it depended on JQuery.
Should You Publish Crap Code?
I spent the weekend discovering just how poorly thought out and poorly supported closed captioning is in online video. Some highlights (based on the SRT format because that was the only one I could find any information about syntax for):
- Definitive guides to the format either don’t exist or are so poorly used that they don’t appear in the first 3-4 pages of a Google search.
- Timestamps use a non-standard format. The inventor was apparently French so instead of the usual hh:mm:ss.ttt the period is replaced with a comma. I sympathise with everything being US-centric, but the number of people who were making this mistake on forums etc and the number of players who support period but not comma (and visa-versa) is scary.
- Only DOS line endings are supported. \r\n is fine as part of the standard, but why can’t players be a little liberal in what they accept? It’s not like \n or \r by itself within the caption is going to work anyway…
- No standard font, so no way to know if the caption will fit or not.
- Absolutely zero feedback from any player I found about why it was ignoring the captions.
- Really, really poor tooling support for creating captions.
So, coming around to the real point of this post, I wound up writing my own tool to help take a script, synchronize it to the spoken voice and output the right format. Worked a treat, and now I have working captions on my video. I suspect it would be useful to others and there’s certainly plenty to do to improve it that would be great if others jumped in and helped with.
Bugs Can Be Painful
Most developers think of software bugs as annoying but ultimately harmless. Sadly, as I found out today, that isn’t always true. It turns out that due to a bug in ScreenFlow, occasionally it will suddenly and inexplicably start playing extremely loud random noise instead of the soft, dulcet tones of the screen cast you were aiming for1.
I was wearing headphones at the time and even though the volume was turned down to just one click above mute, it didn’t seem to pay any attention to that and just about blew my eardrums out. I still have a headache from it.
Telling It Like It Is
Weblogging, where no one really knows how many people are following you, most people don’t care, we can actually communicate complete thoughts, and do what we want with our URLs. Twitter is like haikus, an interesting application of extreme limits that inspires creativity and a different way of thinking. Entirely useful, fascinating pursuit, good luck to you all. Haikus have their strong points, but let’s face it even the best haikus don’t come close to telling the same kind of story as a novel, or even a ballad. Even a great long string of haikus wouldn’t.
Quote of the Week
From the Maidenhead Advertiser:
Look out for a giant pink fluffy testicle gracing the nation’s top sporting events this summer. Raising awareness of testicular cancer – good on him and best of luck to him:
“I’m going to go to whatever I can, but no doubt most of it will be sport-related. Tennis, football, cricket – whatever I can get to. I’ll be using public transport so I’m sure I’ll get well-noticed.” I’m sure he will…
XmlSerializer Class for SAX Events
Note to self: the nu.validator has a really handy looking SAX handler that serializes the XML.
Hat tip to Henri Sivonen for pointing this out along with a bunch of other useful XML generating tips.
