XPages bring powerful new capabilities to the IBM Lotus Domino platform, but the development model is quite different from what most Domino developers are accustomed to. This webinar will take you on a gentle but rapid journey from the familiar territory of procedural LotusScript, through a common-sense approach to visualizing data and business processes as "objects", to a world in which those objects map directly to user interface components with which your users can intuitively interact. Don't discard everything you've learned in an attempt to embrace the new... instead, evolve what you already know: this session will show you how.
I volunteered to host this webinar because, when I presented an earlier version of this material at IamLUG last year, something fascinating occurred. Typically, when I'm presenting about XPages or other technologies, it feels somewhat one-sided: a couple questions might get asked during the presentation, perhaps a few more afterward, but this session quite rapidly became a conversation. The slides I'd prepared still served as a useful outline for the discussion, but it remained quite interactive throughout. I enjoyed getting the attendees' perspectives on the topic, as well as having real-time confirmation that what we discussed was interesting to them and potentially even useful. Having had time to reflect on that experience, I suspect the interactivity was facilitated primarily by the following factors:
The atmosphere of any user group conference tends to be less intimidating than Lotusphere for all concerned. IamLUG is no exception. I was rather relaxed, the attendees were relaxed, and I was at the same level as them in a small room, not up on a stage in front of 500 people. In this environment, the attendees are likelier to feel that I'm talking with them, not at them.
While the material included actual code examples, the bulk of the content was philosophical. This session isn't a "blast", where you take away 50 useful tips that you can immediately put into practice upon your return to the office. Rather, this is an analysis of why we do what we do, and an exploration of how some programming principles might be more effective than others in achieving those objectives. Everyone has a unique personality and different experiences, so it's only natural that this topic will resonate differently with everyone, so it lends itself better to an interactive discussion than a typical deep dive technical session.
Finally, XPage adoption has gained some significant momentum over the past year. Domino developers are exploring it in greater numbers, and those who have already been developing XPage applications for several years are starting to really dig in deep to discover some advanced capabilities. While this material isn't inherently limited to XPage development, as the fundamental principles are applicable to nearly all programming languages and application frameworks, embracing the mindset shift it encourages does make it easier to transition from traditional Notes development to XPage development. As such, no prior experience with XPages is required to benefit from this session; in fact, the further away XPages seem on your horizon, the more you stand to benefit from considering this material... the longer you've spent pondering and, hopefully, applying these principles by the time you do start developing with XPages, the more natural it will feel once you get there.
For all of those reasons, I suspect that the webinar format will be a perfect fit to revisit this material. You'll have an opportunity to ask questions throughout, to participate in a discussion about the merits and, yes, the challenges, in adopting a programming style that is more connected to the business it serves than the procedural approach that has dominated Domino for so long. I look forward to discussing this further with many of you on Wednesday. Register now if you plan to attend.
locating XPage components with XspQuery
Sun, Apr 14th 2013 12:00a Tim Tripcony Several years ago, I wrote a utility Java class designed to make it easy to search for components within the current XPage instance based on various criteria. I've found it enormously useful, and, apparently, so has Keith Strickland, because he added it to org.openntf.xsp.extlib, complete with a few refinements. As an example of how you might use this, examine the following line of code:
List requiredFields = new XspQuery()
.loc [read] Keywords: ldd
your how is not your what
Wed, Apr 3rd 2013 11:36a Tim Tripcony I've noticed a pattern emerging when I'm asked for help with XPages. Here's a representative conversation:
"I'm trying to do [X] and it's not working. How can I do that?"
"What are you trying to accomplish?"
"I already told you. I'm trying to do [X]."
"No, that's how you're trying to do it. What are you trying to do?"
For example, replace "[X]" with "reach into a repeat control from outside it" (since this has become the most frequent topic I'm asked about [read] Keywords: xpages application
my new favorite quote
Sat, Mar 23rd 2013 5:20p Tim Tripcony "We go about our daily lives understanding almost nothing of the world. We give little thought to the machinery that generates the sunlight that makes life possible, to the gravity that glues us to an earth that would otherwise send us spinning off into space, or the atoms of which we are made and on whose stability we fundamentally depend. Except for children (who don’t know enough not to ask the important questions), few of us spend much time wondering why nature is the way it is; where the [read] Keywords: wiki
Taking the scary out of Java in XPages: Prologue
Tue, Feb 26th 2013 9:50p Tim Tripcony The discussion following my last post made stark the need for greater availability of information that makes the nature of Java more accessible to Domino developers. Credit for the title of this post goes to Declan, who is considering writing a series of blog posts on this topic. I will be doing the same; hopefully there will be a fair amount of duplication. As David Leedy is fond of stating, it's a good thing when several people share the same information, because that makes it easier for the [read] Keywords: domino
Passthru vs. component - my perspective
Sat, Feb 16th 2013 9:40p Tim Tripcony Paul Withers posted a thorough article explaining the differences between namespaced XPage components (e.g. ) and their corresponding passthru elements (e.g. ), providing numerous examples of what actually happens when these objects are constructed. I've always heard (and often repeated) that passthru elements are more efficiently processed than their namespaced equivalents, so Paul's post inspired me to offer my own perspective.
Simply put, there's practically no difference... but there a [read] Keywords: acl