Disclaimer and License

Opinions expressed here by Tim Tripcony are his own and not representative of his employer.

Creative Commons License
Tip of the Iceberg is licensed under a Creative Commons Attribution 3.0 Unported License.
Based on a work at timtripcony.com.

Unless otherwise explicitly specified, all code samples and downloads are copyright Tim Tripcony and licensed under Apache License 2.0.

Search

What the Quote?

"A kid just emerged out of the bushes and just sprinted, as fast as he could, at our gorilla. Like a Spartan in 300 or something. Except, he was a banana."

Brandon Parham

"It won't scan the monkey!"

Tim Tripcony

"Woe is me, I have no bitches... it's a paradox."

Laura Tripcony

« refreshing more than one target ID in a single partial refresh event | Main| tic-tac-toe for XPages »

yet another reason 8.5.2 will rock

Category 8.5.2
The primary buzz topic thus far this week on PlanetLotus is the upcoming 8.5.2 release of Lotus Notes and Domino. As an employee of a Design Partner, I've gotten to play with it extensively, and figured I might as well weigh in. Put simply, 8.5.2 is, in my opinion, primarily a nuance release. Let's recap some of the tweaks that have already been announced elsewhere:
  • Silent failover to a local replica when the server replica is unavailable
  • Multi-threaded client replication
  • Improvements to indenting in the Eclipse-based LotusScript editor
  • The new sessionAsSigner SSJS global allowing XPages to seamlessly combine user/signer permissions
  • Bundling Dojo 1.4.1 with Domino
  • Updating the XPiNC XUL engine from a Firefox 2 equivalent to a Firefox 3.5 equivalent
  • NotesAgent.runWithDocumentContext, which tells an agent to run against an in-memory document, allowing XPages to leverage existing WebQueryOpen/Save agents
  • Usability enhancements to the Open Application dialog in Designer
  • And... of course... finally liberating the application icon to support standard graphic formats: BMP, JPG, GIF, and even PNG
But there's one additional change that was just added in the most recent code drop that I haven't seen mentioned elsewhere: cleaner support for recursive custom controls.

Over a year ago, I whined that Designer wouldn't allow me to create recursive custom controls (e.g. control "A" contains control "B" which contains control "A", or control "A" contains itself). I've been meaning for quite a while (but keep getting distracted by something else) to mention that, as has been known to happen from time to time, I was wrong: you actually can create recursive custom controls... Designer just keeps popping up an error on every keypress when modifying a recursive control (or an XPage / control that contains the recursive control) telling you it's not allowed... even though it is. It works. You have to know how to do it safely, of course - otherwise you'll create an infinite loop. I was wrong about something else too: it's the "loaded" attribute that allows you to ensure the recursion ends where it ought, not the "rendered" attribute... but that's a topic for another day. But trust me: when you see what well-designed recursion allows you to do, you're going to want this bad.

In the meantime, here's what you see now when you initially trigger a recursive condition:

image

...and then (for that instance of recursion), you never see that warning again. But if you trigger recursion again somewhere else, you'll see the same warning again. Once. It's perfect: you get a single reminder that you're doing something inherently dangerous, something you probably aren't going to have a need to do very often, but should be mindful each time to do correctly. But it doesn't keep popping up over and over and over again, rendering the IDE completely unusable any time you're interacting with any portion of a hierarchy that uses recursion.

In my opinion, the fact that IBM is in a position to be able to deliver all of these subtle improvements in a single maintenance release speaks volumes about the state of the platform. Release 8.0 was a complete overhaul of the Notes client. Release 8.5.0 was a complete overhaul of the Domino web server and Designer client. 8.5.1, despite being "just" a maintenance release, gave us XPages in the client. That was huge. With that much feature upheaval, it blows my mind that in 8.5.2 they're already able to include so many subtle nuances - changes like PNG support for icons, which has been much requested and will be widely welcomed, but (let's be honest) has a subjective value at best: it will likely improve user perception of Notes, but doesn't allow them to do their job easier, faster, or better... it just helps to remove the subconscious nagging feeling they may occasionally have that the tool they're using is outdated.

But If IBM was so busy fixing bugs or performance problems, they wouldn't have time to add PNG support for application icons. If they were diverting significant resources from Notes/Domino to other products, they wouldn't have the staff to add usability improvements for edge cases like custom control recursion. And it's not as though these nuances are all that they're including: 8.5.2 will also add a new layer to what we can do with XPages that - at least in this office - will completely change (again, and in a good way) the way we develop applications... but that, again, is a topic for another day.

DISCLAIMER: 8.5.2 has obviously not yet been released. IBM reserves the right to yank anything discussed here from the final release.

Comments

Gravatar Image1 - Agree 110%. The amount of ongoing development is definitely encouraging, and you definitely get a feel that the platform has more eyeballs on it than years past.

Gravatar Image2 - Thanks for the information that a recursive custom control is allowed. I got the message in 8.5.1 and ran away, but I agree it's extremely powerful. I'll have to rewrite that bit of functionality when I get the chance.

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)