AD110 – IBM Lotus Domino XPages Go Zoom!

Posted by:

This session talked briefly about suitable tools that you may use the debug and/or get a glimpse behind the sceen regarding frontend peformance:

Chrome Developer Tools
Speed Tracer
Page Speed
IE Developer Toolbar
Opera Dragonfly
XPages Toolbox

Most of them should you be fairly familiar with. Firebug, at the very least. Personally I prefer Chrome Developer Tools, because I prefer Chrome and I find their Dev tools less prone to crashing.

For IE Development the IE Developer Toolbar is a must.

Fiddler is great across everything that uses HTTP/S. It sits in the middle as a proxy and record a lots of useful information as well as the ability to simulate modem speeds.

XPages a toolbox is also a welcome addition to be able to get a backstage view of what takes up most of the time in you XPages application.

The session went on and talked, in great detail, about the differences between the execution modes. To summarize:

Full refresh – Is the most expensive. Recalculates and sends the entire page.
Partial refresh – Recalculates the entire page, but just sends the part of the page you specify.
Partial execution + Partial refresh – Just computes the requested area and returns that.

For best performance, use the last combination specified above where ever possible.

Other suggestions are:
Use get requests instead of post. This skips a lot of steps in the life cycle and as such reduces the load on the server and calculates quicker.
Set all containers, that don’t require input, to read only. Again, saves computing power.
Use the dataCache-property on every Domino view source you can.
Use the viewsScope/Request scope to cache objects and variable. Caching reduces CPU utilization and using short lived scoped variables reduces the memory footprint.

Can’t remember if they mentioned this, but in reality modern web applications main bottleneck isn’t the server, it’s the number of http requests the page does. There for you will get the biggest performance boost if you enable Application Preferences / XPages-tab / “Use runtime optimized JavaScript and CSS resources”. (Domino 8.5.3 only) This merges most (not all) JavaScript and CSS external references you might have into one request per type.

Combine all of the above and your XPage applications will be screaming!



AD107 – IBM Lotus Domino XPages Meets Enterprise Data – Relational++

Posted by:

A good session with lots of examples combined with thorough walkthrus.

Using the Extension Library (not available using Upgrade Pack 1).

You Can get data from any db, just provide the jdbc driver.
Add JDBC query and rowset as a data source so you can use it as any other view data source with repeats and so on.

@jdbcDbColumn queries a RDBMS like @dbColumn() does a .NSF, but without the 32k limit.
You need a data source as a JDBC connection and a .jdbc file under Package Explorer WebContent/WEB-INF/jdbc. The file describes the connection, like the driver, url and login. This catalog is NOT accessible from an URL, so the info is secure.

You can compute the SQL queries, making them very flexible.

They even support stored procedures and batch changes of the RDBMS.

New SSJS functions



AD103 – Embracing the Eclipse Within

Posted by:

This was a really informative session with lots of “aha”-moments.

I use a real computer (read Mac ;)) and I’m annoyed that the they’re not releasing a designer client for Mac now when it’s Eclipse based it should be a piece of cake right? Well, it turns up that they didn’t rewrite it and there’s still a lot of stuff left (windows and forms for instance) In the old Windows environment. So don’t hold your breath for a Mac release of Designer anytime soon…

First thing: The Local folder in Project Explorer is in fact…. Wait for it… Local! Who would have thought, huh?! 😉 This means anything you put here is local to your machine and doesn’t come with the .NSF. Apparently a lot of people are having questions regarding this.

Here a list of shortcuts in Designer that may make you moe productive:

  • CTRL F6 – List open tabs
  • CTRL F7 – Switch between panels
  • ALT SHIFT B – Show breadcrumbs
  • CTRL SHIFT 8 – Switch perspective
  • CTRL SHIFT R – Search and open any resource
  • CTRL SHIFT L – Show the entire list of shortcuts

You can search for code across your workspace or only in selected elements and save those searches for later use.

A great use for this is if you use a later version of Designer then what your client have. Then do a search for 8.5.3 and it will display all elements that contain a feature that require that version with the specific code easily accessible. A good sanity check to perform before deploying.

Local history only works for Eclipse editors like XPages, not forms and views, and only lasts during the session. But we all use source control now any way, don’t we? 😉



SHOW113 – Building your First IBM Connections Application

Posted by:

This one was verrrry thorough. First 1h was very basic stuff, like: this is AJAX, this is XML and so on. setting up the connections environment with all the steps involved etc etc.

But after this it started to show some really interesting stuff: Explaining the Atom XML format thatConnections uses to communicate, how to post questions (using AJAX), where to find information on how to post these queries and so on.

They finished of with creating an iWidget. iWidget is an open standard created by IBM that defines the widgets you place in an Connections environment.

The format is in XML and resembles XPages (or if it’s the other way round ;)). Yu got you HTML, CSS and JavaScript definitions all separate from Connections and just provide the pointer to this XML definition file, so no messing with transfer of files.

It was all surprisingly easy (once you have an environment) to create and deploy a widget.



AD109 – Ready, Set, Go! How IBM Lotus Domino XPages Became Mobile

Posted by:

I really-really want to like Dojo Mobile that Domino uses. But I can’t say that I do, not with a straight face.

The good thing first: it’s easy and you’re probably already comfortable developing using Dojo, being an XPage developer and all.

The bad: everything else! I’m being a bit harsh here, but you get the point.

The functionallity isn’t bad, but the looks are off. The transitions are off, buttons looks ugly and so on. We’re at severe risk to fall back into the trap that “Domino apps look bad on the web”. I’ve proven on numerous occasions that they don’t HAVE to be – showing a screenshot from our new product DP Social, not a Domino app per say, but could’ve been!


Or have a look at my Calendar Overview Demo that IS Domino and XPages based.

Feel free to compare the look and feel between Dojo Mobile with jQuery Mobile and decide for yourself.

You might also wish to check out the tool for skinning jQuery Mobile solutions: Theme Roller
Something that Dojo doesn’t have, to my knowledge.

To make more advanced solutions in jQM you will need to learn jQuery, but that’s not a bad thing to put on your resume.

So I urge you! Don’t fall in the trap of an easy fix with drag and drop development. Do it properly! It will take little more time, but the end result will be much better! One can also discuss if you should try and replicate a native app on the web in the first place, but that’s a topic for another day.

I recommend jQuery Mobile, it’s similar in structure to Dojo Mobile. But there are others that are also very good. One that springs to mind is Sencha Touch.



ID214 – Find, Reach, Collaborate – Call me with IBM Sametime Unified Telephony!

Posted by:

This was some pretty cool stuff!

I’m no Sametime guru. I just use it for chats and screen sharing basically, but I thought I would broaden my horizon.

Below is some of the features that struck me as pretty cool:

Use one number to reach you no matter on what device that’s currently most suitable.

The user can them-self determine which device is most suitable by specifying rules and setting preferred devices based on those rules. Like, call on the cellphone when in the car and call the computer when at the office.

On the same note – Incoming call notification. If it’s a sametime user you see who’s calling and may divert a call to a chat if you aren’t available.

Just like always you can see the status of the user and with SUT you see if a user is busy in a call and maybe send them an IM instead.

To create a conference call simply select the users you wish to have a conference call with and drag. Then you’re off, no need to call a certain number, using codes and what-not.



Show300 High time to get started with Connections 3.0.1 – learn all correct (and avoid caveats when installing!) steps to set up a proper proof of concept environment using production user accounts , usefull symbolic names AND to build further on.

Posted by:

Be sure to download (when it’s available) this presentation, including separate text file to be used to get all command syntax correct (i.e. _nix) to get all the tedoius steps to get your users connected to the social #1 technology for business (or ask for our Guided Collaboration Tour 😉 )



SHOW115 – Socialize your Applications using OpenSocial

Posted by:

The session picked up pretty slow but after 40 min or so it started to get real
Intersting as we got into how to create Embedded Experience.

This is following OpenSocial 2.0 that is an open standard totally separate from IBM. This means that any client that follows OpenSocial standard can consume the Embedded Experience, like Outlook or any other client.

At first this looks very much like an ordinary HTML email, but you get some added benefits like if the current client doesn’t support OpenSocial you can provide fallback functionality.

The real power shows once you integrate the Embedded Experience with Activity Streams. Here your Embedded Experience shows up as a gadget, making it easier to provide added value.



ID205 – IBM Forms: Developing Cool Solutions and Understanding its Extensibility

Posted by:

Never looked into IBM Forms before so this looked liked a good time.

Main of the demo showed the Experience Builder (formerly called “Nitro”), coming in Q2. Looked like a really easy to use product to collect information from your users thru forms (duh!) but also using surveys, doing calculations and with pretty sophisticated workflow abilities.

For the most part it’s pretty easy to design your forms so you wouldn’t even need a developer for most of that, at least not with your power users.

Will use the OpenSocial Standard so you can embeds them in Connections for instance.


Page 1 of 2 12