On Toasters and Bathmats and OpenSocial for IBM Connections Development

connections_logo.thumbnailLet’s say for a minute that I’m a web developer. I know, it’s a stretch. Suspend your keen sense of disbelief for a while and it’ll be worth it.

As a developer, I’m always looking for easier ways to do things. Places to start, templates to use, basically leveraging the work of others.

Now let’s say I have a team of web developers, and while brilliant at data, logic, mathematics, science and memes involving Gene Wilder or grumpy cat, as a lot they are kind of clueless when it comes to aesthetics. Specifically, the area of color. For my UK friends, colour.

So in my search for assistance for the team, I ran across Wolfram Alpha, the computation search engine. If you’ve not used it when you want to know a lot about something, you’re in for a treat. At the risk of losing you for a while, head on over to the site and type in the following: “cheapest toaster”

Tell me you’re not impressed. Seriously. Toasters!

They all like this. And they crochet.

They all like this. And they crochet.

OK back to my team of developers who think 70s bathmats are all the rage. After poking around the Wolfram Alpha site for a while I noticed that there’s a developer area. There’s also a $5/month Pro subscription, which I have, but you don’t need that to play around with the developer tools.

Well it turns out that using Wolfram Alpha, you can create widgets that include input fields, and the output is handled by their servers. Meaning, you can take advantage of the processing power of the computational search engine, create and consume your own custom widget, and embed it in your own website. Pretty cool? It gets better.

As for my developers I decided they needed help to figure out complementary colors for their applications. You know, color theory stuff. So I whipped together a widget (actually modified one that was there) and called it the Color Advisor. The image below has a link to it, go ahead and give it a try. Basically you enter a hex code color (web developers know what these are) and Wolfram Alpha will supply you with an abundance of information about the color, including its most complementary counterparts.

This one’s just a photo, but it links to the real thing.

You can also type a standard color name in there like “red” and it works. And hey, who hasn’t wanted a chromaticity diagram as part of their web experience?

Next while clicking around figuring out the best way to share this widget, I ran across the Embed section on the right. Wolfram Alpha gives you the option to copy embed code, or go directly to sites with special URLs, for standard script tag embeds, Blogger, WordPress code, WikiMedia, and iGoogle. Ooh, wait, iGoogle…which as we know is deprecated, as of November 1 2013, whose developer site has deprecated already, and moved off to OpenSocial.org…

Bam. That widget – could it be an OpenSocial gadget? So I hovered over the embed link and lo and behold…

I copied the link to the clipboard:

http://www.google.com/ig/adde?moduleurl=http://www.wolframalpha.com/widget/openSocial.jsp?id=6cf8b48b7c87e7ce272f54cb5c66d62f

Nothing is more of a clue that it’s an OpenSocial gadget than the phrase “opensocial”

Why was I so giddy at this discovery? Because I know that OpenSocial gadgets are the way to add some cool functionality to IBM Connections. And what better way of sharing with my team than adding a gadget to Connections? Now all I had to figure out was how to drop it in.

You need a few things to happen in order to add an external OpenSocial gadget to Connections. first, you need the gadget XML file. Here’s some information on OpenSocial gadgets and their XML files…but in our case, it’s actually all provided. You see, the jsp in the URL above generates one for us. If you grab everything after “moduleurl=” in the line above and paste it into, say, Firefox, you’ll get a blank screen. But then, have a look at the source and you’ll see:

I recognized this immediately as an OpenSocial gadget XML file from my own presentation and other work with Connections the past year. In fact, it’s a complete file and I can copy and past it into my own file (or reference it remotely, but I wanted to play). So that’s what I did. The contents of this file became on my Connections server:

<hostname>/widgets/ColorAdvisor/colorgadget.xml

I just placed it in the htdocs subdirectory of my IBM HTTP Server, so it would be easy to reference.

Next, I needed to update the configuration to allow the gadget to be used in Connections. For ease of illustration, I placed it on the Homepage app. To do that, as an admin I needed to click “Administration” from my Homepage:

admin_homepage

I clicked “Add another widget” on the right and started configuring my widget. The first choice is whether it’s an iWidget or OpenSocial Gadget, which we know, then I left some defaults in the next section as it refers to Share widgets and Activity stream widgets. Now for the meat of it all:

widget_config

You can see I added the location of my gadget definition file, then found the Wolfram Alpha icon URL so I could use it to liven up the place. I only checked one box “Display on the Widgets page” which is the “My Page” link.

After saving this configuration and enabling the widget, I returned to My Page and clicked on “Customize” and voila, there’s my widget!

add_widget

And I added the widget to the page:

widget_page

Now the developers have no excuses. Well, one, that the boss prefers mauve with his teal.

Recap:

OpenSocial gadgets are the future of IBM Connections development. If you look around, you’ll find that they are being adopted by a number of organizations and APIs, including this quite useful one at Wolfram Alpha. Developing an OpenSocial gadget from scratch is NOT the way to start learning about them – and this tale, nay, tutorial, showed you how to incorporate pre-made widgets into your own Connections environment.

Next steps for developers here would be to do a native UI, support the lightbox result set, or delve into the Connections SPIs for server-side handling of requests…depending on what you’re doing at the time, of course. Color matching isn’t quite important enough for that, but scientific or financial computations might just be.

Resources:

What else do you want to know about IBM Connections development? Have you created any OpenSocial gadgets? I’ll post about native development soon…but for now go forth and choose appropriate swatches.

Tutorial – Extending the IBM Connections Rich Text Editor

connections_logo.thumbnailThe editing experience in IBM Connections is pretty good. IBM has incorporated the open source CKEditor across many products – Connections, XPages applications, Quickr, and more. But a little known and not-so-incredibly documented aspect of the editor is that it’s extensible. That’s right, CKEditor accepts plugins to enhance the editing experience in many ways.

Some of these are quite individual such as new buttons that bring open dialogs. Some take advantage of external resources like spell checkers. Others are analytic like word and character counters. And custom plugins, where some of the real value lies, can do things as cool as word and link replacement, application embedding, and custom pattern recognition. We’ve used this bit of trivia to create a suite of plugins called SnappLinks™, adding social linking and embedding to the editing experience.

In this tutorial I will explain how to do one of the more simple customizations, adding a plugin that gives the user a choice of content templates. It’s a nice example because of the obvious business ROI…and should open your eyes to the possibilities for editor extensions. In fact, you may want to use some of the ones already created by others…

Step 1: Familiarize yourself with CKEditor plugins

The first step to customizing the CKEditor is to familiarize yourself with the plugin architecture and the kinds of things developers are doing with CKEditor. The best way to start is by examining other plugins at http://ckeditor.com/addons/plugins/all . While it’s tempting to get carried away downloading and trying to apply these, note that given the way Connections editor is set up, they won’t all work, and the instructions will not make any sense!

Step 2: Download the “templates” plugin

The smiley plugin is available here http://ckeditor.com/addon/templates  – just download and unzip, it will be self-contained in a folder. For the most part, all plugins have the same folder structure. Inside the main folder which will be named after the plugin, there will be the plugin definition file plugin.js. Some plugins also have other files like a readme.txt or readme.md, licenses for the more complex ones, maybe some source control or scratch files, etc. Four folders that are common to most plugins are lang (language files), images, icons (for the toolbar) and dialogs. The dialogs folder contains the main logic files for the plugin, in this case JavaScript.

A typical plugin folder structure

A typical plugin folder structure – yours may vary from this one.

Step 3: Create a path in Connections for the plugin(s)
In Connections, the path to resources can be quite confusing, since most of the files are already deployed as jars (zip files). And since by default there aren’t any customizations, figuring out where one goes can be a chore. A good start is in the Connections 4.0 or 4.5 API documentation, where an article on extending JavaScript has some clues. Most of the JavaScript used by IBM Connections is located inside one of the web resources JAR files inside the provisioning directory (typically CONNECTIONS_HOME/data/shared/provision/webresources), or inside the Common.ear file.

In our case, we are going to create a nice long directory path of:

CONNECTIONS_HOME/data/shared/customization/javascript/com/ibm/oneui/ckeditor/editor/plugins

Where CONNECTIONS_HOME is the directory where Connections code is installed — not the WebSphere app. In my case, it’s /opt/IBM/Connections.

Once this folder is created, we’re almost done right? Nope.

Step 4: Define the extra plugin

If you’ve spent some time with the CKEditor plugin documentation, and let’s face it, who hasn’t, you know to look for config.js. Not so in Connections, where we have a different method of defining plugins and consuming them, using similar syntax but not the same file naming structure. To discover where the CKEditor definition files are, we need to inspect the right jar file in CONNECTIONS_HOME/data/shared/provision/webresources (or Common.ear, but we can find it here).

For the sake of this exercise we are going to modify just the editor in Connections Wikis. It’s the hardest one to figure out, since there are additional plugins already there, and it has its own style of editor.

So first step, get a copy of CONNECTIONS_HOME/data/shared/provision/webresources/com.ibm.lconn.wikis.web.resources<version>.jar and unzip it locally. We need two files from this folder: resources/ckeditor.js and resources/scenes/CKEditor.js. Copy those to their own folder, keeping the scenes folder under the resources folder.

Next, we need to let the editor know we want to declare an extra plugin. Open the resources/scenes/CKEditor.js file and locate the following lines:

extraPlugins: dojo.getObject(“lconn.share0.config.displayMacrosGUI”) ?
‘wikilinking,quicklink,wikimacros,autogrow’ :
‘wikilinking,quicklink,autogrow’,

On both sides of the colon, add your plugin name:

extraPlugins: dojo.getObject(“lconn.share0.config.displayMacrosGUI”) ?
‘wikilinking,quicklink,wikimacros,autogrow,templates‘ :
‘wikilinking,quicklink,autogrow,templates‘,

Save the file.

Step 5: Modify a bit of code

As I mentioned, you shouldn’t expect the plugins to work straight away in Connections. Mostly, they’re being used by developers, so are very generic in nature and coding style. Connections adds a bit of mystery by combining configuration and definition files, then in some cases – as with wikis – having multiple files like ckeditor.js so that features can be injected into the editor. Blogs are the opposite, everything is in one file over there.

That said, I’m going to list out some code changes in the plugin.js file. It’s only a couple lines.

In the init function, you’ll see this:

editor.ui.addButton && editor.ui.addButton( ‘Templates’, {
label: editor.lang.templates.button,
command: ‘templates’,
toolbar: ‘doctools,10’
});

Well Connections wikis don’t like being told (from this file) what toolbar to use, and it really likes to be told the icon to use within this command. So we’ll change this to:

editor.ui.addButton && editor.ui.addButton( ‘Templates’, {
label: editor.lang.templates.button,
command: ‘templates’,
icon: this.path + “icons/templates.png”,
//toolbar: ‘doctools’
});

Next, go near the bottom of the file and find this (we’re not going to change it, just explain it):

CKEDITOR.config.templates_files = [
CKEDITOR.getUrl( ‘plugins/templates/templates/default.js’ )
];

All of the CKEditor stuff has configurations, and individual plugins can contribute to that configuration. But since we’re setting that configuration up in another place, we’re going to leave this here and rewrite it in the second ckeditor.js file. For the meantime, copy this bit to an empty document for reference.

In the case of this plugin, we lucked out and don’t have to modify the language file. I’ve found that most of them need a tweak to work with Connections, specifically adding another layer to the function. So we’ll skip that.

Now to the configuration file. That’s right, the “other” ckeditor.js (you can tell them apart in your editor because the names are case sensitive). Open ckeditor.js that you have right under resources, and find the section that starts with “dojo.mixin(CKEDITOR.config” which essentially means

Yo, Dojo, find the config bits of CKEDITOR and mix in this other stuff I’m about to throw at you!

You’ll see several lines in the toolbar_Wiki array with names and items. Choose a reasonable place on the toolbar like, say, “insert” and append (,’Templates’) to the end of the line. That’s a comma, and those are single quotes.

Now, we revisit our bit of config that we copied to a scratch document and insert it into this “mixin” using different syntax. Add the following after the toolbar_Wiki array. First, add a comma after the closing square bracket of the toolbar_Wiki array. Then, add:

templates_files : [
CKEDITOR.getUrl( ‘plugins/templates/templates/default.js’ )
]

See what I did there? I took the original CKEDITOR.config.templates_files “directive” in one place and reformatted it for the dojo.mixin syntax in another.

Note the lack of a comma at the end — JavaScript wants it this way, no comma after the last element before closing.

Step 6: Upload the modifications to the server

First, copy your lower-case ckeditor.js file to the server. Where, you might ask? Here:

CONNECTIONS_HOME/data/shared/customizations/javascript/lconn/wikis

Copy your CKEditor.js file to the server. Where, you might ask again? Here:

CONNECTIONS_HOME/data/shared/customizations/javascript/lconn/wikis/scenes

You can almost start to see the connection between the jar file and the ensuing folder structure for customization. Almost.

Last but not least, copy the entire “templates” folder, including your modified plugin.js, to the plugins folder you created in Step 3.

Step 7: Restart Connections and Test

Yeah, I know. Some tutorials say you can be an admin and restart just one or two servers from the WAS ISC, but I don’t buy it. 90% of the time for me, that doesn’t work, so I just restart. Your mileage may vary.

After restarting, armed with Firebug or Chrome Developer Tools, after dropping your browser cache, give it a go. Go to Connections Wikis, enter a wiki and create a new page. You should see a new icon to the right of the “Smiley” icon on the second row. Click it, and you will be presented with the following dialog if all goes well:

Content Templates let you insert pre-formatted HTML into the Connections rich text editor, and you can create your own templates!

Content Templates let you insert pre-formatted HTML into the Connections rich text editor, and you can create your own templates!

If all did not go well, retrace your steps. The most likely scenario is a missing or extra comma or semicolon. If it is working, check it out. You choose one of the templates, which organizes the content of the editor by pushing in HTML for you. The practical business uses are numerous – standardized templates for documents are kind of a no-brainer. Product sheets, resumes, you name it and someone, somewhere has a format for it.

So we’re ready for production, right? Well, sort of but not quite. It’s all working fine, but the customization “override” directory we’ve been using (CONNECTIONS_HOME/data/shared/customizations) is only supposed to be a temporary home for customizations during development. Technically, what we should do now is to wrap up our code, including replacements and additions, into an OSGi bundle (a JAR file with a special MANIFEST.MF file and some directories) and deploy the bundle into Connections.

But honestly, that’s another article. Or consulting. Whatever.

Next steps

Now that you have a template-aware editor, you probably want to add….templates! Well you can have a look at the code for this, it’s in the plugins subfolder templates\default.js (as we referenced in Step 5 above). My suggestion would be to create a new file, and reference it in the configuration by adding a new reference to it in the array (back when we messed with the dojo.mixin stuff…Step 5 also). You can create HTML templates to your heart’s content that way.

Enjoy!

IBM Partners SNAPPS and SWING Software Join Forces

snapps_swing

May 17, 2013, Overland Park, KS: Strategic Net Applications, Inc. (SNAPPS) has inked both reseller and OEM partner agreements with Croatia-based SWING Software to bring greater reach and integration expertise to SWING’s success in the document integration and publishing field. Both firms are long-time IBM Business Partners. SNAPPS has joined a handful of resale partners and is one of two OEM partners worldwide, according to SWING. With its first OEM product offering, SnappArchive™, SNAPPS has integrated SWING’s PDF Convertor engine into IBM’s Lotus Quickr as a permanent archiving solution.

According to SNAPPS president and CEO Rob Novak, “The partnership with SWING Software strengthens our commitment to IBM customers by bringing them best of breed solutions, great integration and customization. Our business is all about productivity in the collaboration space, and working with SWING allows us to offer customers more ways to be productive.”

SWING’s PDF Convertor is designed for users, administrators and developers to enhance IBM’s Notes and Domino with PDF export capabilities. For end users, it adds a simple point-and-click interface. Administrators can schedule server based exports, while developers have access to a rich API to create integrated solutions. The flagship product is used for archiving, sharing outside the firewall, discovery, and records management and retention policy purposes. SNAPPS now resells PDF Convertor and will build custom solutions for customers using the APIs.

“We are very excited to partner with SNAPPS, a leading solution provider for IBM collaboration platforms,” says David Jakelic, CEO of SWING Software. “As the areas of expertise and portfolios of our two companies complement each other perfectly, we believe this partnership will result in top-class solutions for our customers.”

Both SNAPPS and SWING Software have been long time IBM Business Partners, recognized for their contributions to the market through products, consulting and education. Combined their solutions and services have reached more than 2,000 companies worldwide, and the partnership enhances their ability to service those customers as well as new ones.

About SWING Software. SWING Software delivers document integration and publishing software to over 1,000 organizations worldwide. Its solutions uniquely combine key collaborative platforms and standard document formats, making document production, publishing, and distribution processes more efficient.

About SNAPPS. Strategic Net Applications, Inc (SNAPPS) has been an IBM Business Partner since 1997, serving customers worldwide. Known for its work with IBM’s Domino, Sametime, Quickr, and Connections, SNAPPS offers deep integration and customization services, collaboration strategy consulting, and technical education to its clients and conference attendees. CEO Rob Novak, an IBM Champion since 2011, has published several articles, co-authored numerous books and white papers, and serves as principal consultant to global organizations.

SNAPPS can be reached at www.snapps.com, +1-913-440-0000, or info@snapps.com.

# # #

SnappLinks for IBM Connections adds Scribd support

scribd

 

 

No, that’s not a typo! On the heels of our announcement of SlideShare® support, SNAPPS has added support for Scribd® document embedding in SnappLinks™, its innovative add-on for IBM® Connections® blogs and wikis.

Scribd is the world’s largest digital library where people can publish, discover, and read books and documents of all kinds on the web or any mobile device. Millions of books and documents have been contributed to Scribd by the community and this content reaches an audience of 100 million people around the world every month.

Embedding Scribd documents is just as easy as SlideShare – the scribd.com website has a version of each document with an Embed link. Clicking that link gives you options for size, pagination, height and width and generates the embed code.

SnappLinks™ gives you a single button in the editor to paste in the Scribd code, immediately creating embedded rich content.

SnappLinks brings color and functionality to IBM Connections editors

SnappLinks brings both color and functionality to IBM Connections editors

Scribd is unique in that due to the nature of the media it gives you a full-screen reading option. We’ve tried this in Connections and it makes for a very clean, highly consumable reading experience.

Why embed a Scribd document in Connections? Simple, really.

  • No need to upload content to Connections
  • Have private conversations about public documents
  • Take advantage of a growing platform’s technology

Scribd support is, as of today, included in SnappLinks for IBM Connections along with SlideShare, Facebook, Twitter, YouTube, LinkedIn, Google Maps, Wikipedia and email links. Contact info@snapps.com for a demo or pricing information.

SnappLinks for IBM Connections adds SlideShare support

slideshareNot long ago we announced SnappLinks for IBM Connections, a set of social link helper plugins for IBM Connections. This week we’re adding a new plugin to the mix, one to embed SlideShare presentations. You’ve seen them all over the web on blogs and articles, and now it’s a matter of a couple clicks to add them to your Connections Blos and Wikis.

Here’s a video introducing them where I grab my IBM Connect 2013 presentation and embed it in my Connections wiki. The video is a little over a minute, but as you’ll see the activity takes about 10 seconds just to get the embed code on the clipboard.

Enjoy! And of course, feel free to contact me if you’re interested…

SnappLinks with SlideShare

Update on Quickr: Life Support

Last month I shared some of my views on the apparent “death” of Quickr (hint: it’s not dead). As many of you know IBM has withdrawn Quickr from marketing effective April 12. The IBM endorsed upgrade path and in fact entitlement goes to Connections Content Manager 4.5 and includes a full license of Connections 4.5. That in itself is a bargain. However there are many situations where due to custom functionality, a growing user base, infrastructure, training, or some other reason you want to keep Quickr as long as possible. This is one of the scenarios (stay the course) that makes complete sense and IBM has dedicated to support you for many years to come.
Stethoscope
So a little more on the stages in the lifecycle. Withdrawn from marketing means what it sounds like. No more marketing. And, the part number(s) are no longer in the catalog. But that doesn’t mean you can’t get a license! The part has just entered what’s called “restricted” which means you need to speak to your IBM rep or business partner to be able to order as you have been. It could take a special bid or some other minor red tape. But remember, IBM is not known for refusing to take your money.

Regarding support, nothing has changed. Quickr is supported. Well, versions 8.2 and 8.5.x are, and will be for a long time. How long? I’ll give you my predictions right now, according to IBM’s support policies. Quickr for Domino 8.2, Quickr for Domino 8.5 and Quickr for Portal 8.5 are all on IBM’s “Enhanced” support product list. This means they will be supported for “5+3” years – five years from the initial release, plus three years after the end of support (EOS) with an extra fee to IBM.

So, let’s take the most popular version we have out there now, Quickr 8.5.1 for Domino. Its base version is Quickr 8.5.0 which was released October 8, 2010. Add five years, we have October 8, 2015. Since it’s only a week past a normal EOS date of September 30 (IBM routinely only drops support on April 30 and September 30) we’ll call it September 30, 2015. At this point, you have a choice to request and pay for extended support for up to three more years. September 30, 2018.* So of course, start to panic.

Your other choice in 2015, of course, will be to continue to use your licenses without IBM support. Not that anyone would ever do that. Never. I’m talking to you, Hi-Test C API shop on Notes 3.0c!

There is the ever-popular route of engaging an IBM business partner to assist with your planning, strategy and eventual migration or continued support. I know there’s one around here somewhere.

*This date is not published and is strictly my prediction based on published IBM support policies. No animals were harmed in the creation of this paragraph.

IamLUG: Still a few slots left!

IamLUG300IamLUG, the largest user group meeting in the US for IBM collaboration professionals and users, is happening May 6-7 in St Louis. I’ll be there speaking as will Jerald Mahurin from my team. My session “So a gadget and a widget walk into a bar…” is almost done, but I’m still working on the punch line. Of course this is about OpenSocial and iWidgets in IBM Connections. Jerald will be taking the stage on IBM Connections user interface design – themes and more.

For the first time (like, ever, anywhere) SNAPPS is also going to be a silver-level sponsor at IamLUG. So we’ll have a pedestal and the talented Liz and Julie from our team will be there to introduce you to SNAPPS service and products. Yes, we actually do more than speak and write!

So I’m told there are a few attendee spots left, but the insanely cheap hotel rooms are going fast. If you would like to join a few hundred of the industry’s best and brightest for two days of a great training and learning experience, and hang out with the gang, be sure to snag one of the remaining spots at iamlug.org.

See you in St Louis!

Sticking with Quickr a While? Some Suggestions

QuickrLogoTinyAs you contemplate the document-management-collaboration-teamspace-workflow-process world in the coming months and years, it’s likely that many of you will want to wring everything you can out of your investment over the past 14 years (that’s right, 1999) in Lotus Quickr and its previous married and maiden names.

I’ve heard from companies who are planning to migrate to Connections Content Manager 4.5 (coming soon to a server near…me), and some that plan to migrate in and out to everything from PDFs (we do that) to Sharepoint (uh, huh) to IBM ECMs and other collaborative platforms like Liferay.

But for many, sticking with Quickr Domino for the foreseeable future is a very valid choice. Your users know it well and don’t need training, or use the Quickr Connectors religiously, or you have a customization in place that conforms to paragraph 17 section 42 subsection d of the corporate style guide. Whatever the reason, if you intend to maintain a Quickr Domino server I have a few technical and business suggestions to bring and keep you up to date.

Internet Sites Documents

Starting with an earlier fixpack of Quickr 8.5.1 (currently 37), Quickr officially began to support Domino’s Internet Site Documents. Prior to this, we all used the Web Configuration document and standard MSSO / LtpaToken combination. And if you did, it’s not likely you switched because things are working. Switch. Two reasons — if you are still on Domino 8.5.1 (see below) you can add a custom header to provide better support for IE9 by putting it into compatibility mode. But more importantly, when using Internet Site documents, you have the option to have the server automatically compress (gzip) files from the file system as they are fed to the browser, cutting down traffic. And Quickr traffic, and these files, number in the hundreds. Multiply this by hundreds or thousands of users and this represents a significant savings and performance boost.

Domino – Upversion

Starting with Quickr 8.5.1 Fixpack 34, the team separated the Dojo installation to the point where Quickr no longer depended on the Domino Dojo version 1.3.2 being in a specific directory. Don’t get this wrong – Quickr still uses Dojo 1.3.2, but it installs its own copy. This has made the Quickr server more independent from the Domino version, meaning…it’s more likely we’ll see Quickr supported on Domino 9 when the time comes. (That is not an official or even informed statement, it’s just technically more feasible.) So, upgrade Domino to 8.5.3 (FP1, HF618 specifically) and when doing so, be sure you understand that there are two fixpack code streams now – and install the Quickr fixpack for Domino 8.5.3 going forward.

Fixpacks – Do Them

Quickr fixpacks are released every month. I suggest a maintenance release schedule of every two months, one month behind IBM, unless there is a specific fix for you or a showstopper bug (to you!) in a fixpack. Applying fixpacks is easy, despite the best efforts of the documentation to be confusing. Once you’ve done a few of them it becomes second nature and can take little to no downtime. Be sure to read the fix lists and consult the sample qpconfig xml document for new parameters and options, and once in a while even some features.

RTQM

With each fixpack comes an updated release document, and while you may be tempted to skip it, there are often hidden gems, like the time that all the notification templates were updated, or XSRF security was added. Have a look through this document, then, as I suggested above, compare your existing qpconfig.xml configuration file to the newly deposited qpconfig_sample.xml file. You may in fact find undocumented new settings (I know of one for sure, because I put it there!).

Collaboration Space Lifecycle

Quickr places that are designed for project work are temporal in nature (I love throwing ST:TNG terms into my blog), but more often than not at the end of their usefulness they sit on the server taking up space, processor, indexing time, and resources. Just like the more granular corporate document management lifecycles and retention policies, the lifecycle of Quickr places and their documents, collaborations and bastions of tacit knowledge should be planned as well. We have tools to export to PDFs, which may or may not work for you, and there are other storage options out there…

Tools and Apps and Workflows, Oh My!

Once you’ve settled on an updated Quickr instance, it’s time to add in some moderate helper tools, optimizations and easily pluggable customizations to enhance the user experience. Sitemaps, widgets to do pretty much anything, custom notification templates (branding), themes, views and HTML forms are all part of the more mature, high-ROI Quickr environments I’ve worked with for 14 years. It doesn’t take a rocket scientist to deduce that you get more out of software when a) people like using it and b) it helps get their job done faster and better. So consider some of the free and paid add-ons out there. A few are in my post below (well those are more full-blown apps). One was even done for a rocket scientist. Honest.

 

Lotus Quickr is only Mostly Dead

So you’ve heard by now that Lotus Quickr is dead. Doornail, zombie, Betamax, rotary dial, dead. Somebody came back from what used to be called Lotusphere, said there were no sessions, saw a tweet and now has you scrambling for an answer to the pressing, urgent, mission critical need to provide a replacement. Dead, I say!

MiracleMax“Whoo-hoo-hoo, look who knows so much. It just so happens that your friend here is only MOSTLY dead. There’s a big difference between mostly dead and all dead. Mostly dead is slightly alive. With all dead, well, with all dead there’s usually only one thing you can do.”
-Miracle Max, The Princess Bride

A side effect of thundering silence, which is what we heard about Quickr for a year, is a desire for new direction. I recognize that, and of course counsel clients to be best of my ability when they are making strategic, tactical, or weekly conference call decisions.

So, I shall put my powers of deductive reasoning to work here and provide you with my view of the situation and perhaps, some direction.

Quickr is far from “dead.” In the IBM software world, “dead” takes place over a period of years and takes the shape of changes to the official product lifecycle status. First we’ll see a version reduction (there are two, some could argue three, versions) with the older versions being withdrawn first. In our case, Quickr for Domino has version 8.2, and two slightly different versions of 8.5.1 – one that runs on Domino 8.5.1 and one that runs on Domino 8.5.3. By “withdrawn” I mean that the lifecycle status will change to what they used to call (and I still do) “EOL” or “End of Life” then eventually “EOS” or “End of Support.” When a product hits EOL, it is removed form IBM’s offerings and no longer sold, a letter is published about its withdrawal from marketing, and maintenance is no longer extended. EOS comes later, as customers can actually buy a product until the EOL date and expect support. Even after EOS, companies can purchase extended support contracts to keep themselves covered for longer term use.

SecondOpinion

OK, here’s one:

“First of all, I want to make it very clear, that Quickr is going to be continued to be supported for a very long time. So, there is no immediate action required on the customer side to do something right now. You can all continue to use Quickr.”
-Rene Schimmer, IBM (Ask the Product Managers, IBM Connect 2013)

But really, all that is just the mechanics of availability. What about you thousands of Quickr customers? Well IBM has laid out a roadmap, and that is a partial migration to IBM Connections Content Manager 4.5, to be released next month, and a utility to migrate Quickr for Domino or J2EE libraries to it. Problem solved! Well, for some of you.

When you start classifying your current use of Quickr, the answer you’re after gets a bit more complex.

Customizations
You see, many companies (I claim 50%) have some sort of a) non-library, b) custom, c) workflow, or d) extranet use for Quickr. Or a combination. Here’s a sample from memory: Quickr is used for law firm caseloads, extranets, group calendars, marketing campaign tracking, oil exploration scientific taxonomies, network procedure tracking, drug approvals, multi-phase editing cycles, leave approvals, insurance certificate delivery, employee timesheets, global trademark legal processes, quality assurance reporting, global feedback management, training delivery systems, on-demand surveys, trade ministry envoy support, and presidential speech delivery.

Let’s say you have some level of customization, but at the end of this article believe you should still migrate to Connections Content Manager. You’ll need some services to get your Quickr server data in order, or migrate the customization work and data. That effort might be an item of value for you, or it might not. It will take individual analysis to come up with the best strategy.

Size Matters
There are indeed customers who may fit the use profile but do not have Connections today, are running Quickr on a single Domino server or cluster, who in order to migrate need multiple high powered servers, a services engagement for installation and configuration, and a need to acquire or hire WebSphere skills. If you’re a small shop or operate on a smaller budget, this could be a challenge.

Extranets
As a replacement strategy IBM is offering a solution that does not YET have an extranet or external user story. Quickr Domino is very often used for these purposes. In fact this was the original marketing message for QuickPlace in 1999. Also, when Quickr customers use local users, the additional burden of converting to an LDAP solution comes into play.

Conclusions
The best advice I can give a Quickr customer is more like a meme: STAY CALM and CHOOSE WISELY. It’s a bit obvious. IBM has said that Quickr Domino will be around and supported for many years to come. It’s just not going to get new features. It will receive what they’re calling “currency updates” which means support for new browsers and operating systems on the client end…at least what can be supported based on the architecture. For those who choose to follow the migration roadmap, I propose an analysis of the current environment, feature comparisons and a readiness check for your Quickr environment.

So to migrate or not to migrate? Start asking these questions.

  1. If you have no customizations but use Quickr for document storage only, plus for migration
  2. If you already have IBM Connections, plus for migration
  3. If you don’t have IBM Connections but do have WebSphere skills, small plus for migration
  4. If you have customizations that are functional or business process oriented, plus for Quickr stability
  5. If you have an extranet, plus for Quickr
  6. If you have a small installation and no IBM Connections, plus for Quickr
  7. If you want some stability for several years while you work it out, plus for Quickr
  8. Keep in mind there are a few other options besides the roadmap — other products for collaborative document management
  9. More than likely, you have mixed answers

A final thought – being up to date on Quickr will be key to that “stable” environment, if sticking with Quickr is your choice. And once you’re there, there is no harm in investing in add-on products, MODERATE customizations and additional support services to enhance your business processes and client experience. Quickr is quite flexible today, and the stability of several years of support for the same version means your risk associated with ISVs and customization is actually lower now than at any time in the past. Think about that as you make your choices for 2013, 14, 15, 16…

On Becoming a Connections Developer

I had the pleasure of presenting at IBM Connect 2013 last week on this topic in the Show and Tell track. Normally I keep presentations a bit closer to the vest as they’re reused in parts throughout the year. This one, though, is more instructional in nature and I thought wider distribution would be a good thing.

Jerald Mahurin and I put some 200 hours into preparation for the session, not including the slide prep. Believe me when I say that this track is quite intense. I had perhaps four hours of material, fit into two hours, noted on arrival that I only had one hour forty five minutes, and had to start ten minutes late due to the OGS overrun (saw it coming…)

My goal with the session wasn’t to show everyone exactly how to code for Connections. That’s a job for weeks or months. Rather I wanted to get across some key points:

  1. What tools will I be using?
  2. What languages, toolkits, and big concepts must I understand?
  3. What can I do with them?

This third point was key to the session’s stated goal, which is the ability to “frame” business problems and integration possibilities with skill and speed. Like we do with Domino applications — we know at a glance what we’re going to build in most cases, and how. Never mind that there are 50 options in the Designer navigator, we know how all those pieces fit.

So, please enjoy what I call the “ridiculously long” presentation. I might suggest breaking your reading and exercises into several smaller sittings. Don’t forget to stretch. Do not go into the water until one hour after finishing.

Of course, feel free to use the form at the end to contact me! I’m happy to help with strategy, consulting, development approaches, and integration possibilities.