Some have noticed that Computed Text controls provide additional content types. The XPages Extension Library book covers the Profiles VCard content type (pp474-7) and the IBM Sametime LiveNames content type (pp471-474).
But there are two other content types.
Google Search (xs:GoogleSearch)
The first to cover is the Google Search content type (xs:GoogleSearch). Paul Hannan explained what this does in response to a query on Twitter query a couple of weeks ago. This content type is in the core Extension Library, so comes with UP1 and IBM Domino 9.0. If you wish to look at the source code, it’s in the com.ibm.xsp.extlib.controls plugin, in the com.ibm.xsp.extlib.renderkit.contenttype package, GoogleSearch.java class. This is instructive for how renderers can be used to manipulate the output for Computed Text controls very easily. The render method calls renderLink, which just takes the content of the Computed Text control and wraps it in a link that will open a google search for its contents. Of course this could easily be coded in a custom control or coded onto a Computed Text control itself. But by doing it in a content type, it makes it quicker to implement and more reusable – the core messages of the Extensibility API.
The second is the twitterContent content type and is part of the Extension Library Extended controls, so requires the extlibx package from OpenNTF. I picked up a query on Friday about it, so I looked into the source code again. The source code is in com.ibm.xsp.extlibx.sbt plugin, in the com.ibm.xsp.extlib.sbt.twitter package, TwitterContentType.java class. This one is a little more complex, but shows the kind of functionality that can be provided with a content type.
Again, the render method is the one that does the work, this time calling a method renderContent. This looks through the content of the Computed, looking for any content starting with # and @. Text beginning # is converted to a link to a twitter search for that hash tag. Text beginning with @ is converted to a link to that person’s twitter profile.
A Questions and a Plea
So with the full Extension Library we have four new content types: Connections Profiles VCard, Sametime LiveNames, Google Search, and Twitter Content. So, which ones are you licensed to use with Domino 9.0? The answer is all except Sametime LiveNames.
Why? Sametime for web with 9.0 requires the Sametime Proxy Server, which runs on Websphere. Domino users are licensed to install it, but only for use with iNotes. So with just a Domino licence, you can start a Sametime chat from iNotes or from the Notes Client. You are also licensed to Sametime-enable a Notes Client application. But the you are not licensed to Sametime-enable an XPages application. (I’m unsure of the licencing implications of XPiNC applications.)
The plea to IBM is to include this into the Domino licence. We have been empowered to Sametime-enable Notes Client applications for many years. But like IBM, I believe XPages is part of the lifeblood of application development on Domino. The Sametime entitlement is a great benefit, probably more prevalent in businesses than any other entitlement. But while companies are not entitled to access it from XPages applications, only Notes applications, that entitlement is not as powerful as it should be. So my plea to IBM is that before IBM Connect 2014, please entitle customers to use Sametime with XPages applications as part of the Domino licence.