Saturday, 25 February 2012

Installing Rational Software Architect 8.0.3 on CentOS Linux 6.2

More fun with CentOS, this time it's Rational Software Architect …

Initially, I saw the same sort of issues that I'd previously seen with IBM HTTP Server including: -

...
/bin/bash: /tmp/RSA803/RSA_SETUP/InstallerImage_linux_gtk_x86/install: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory


...
libgcc_s.so.1 must be installed for pthread_cancel to work

which I resolved with: -

$ sudo yum install ld-linux.so.2

and

$ sudo yum install libgcc_s.so.1

respectively.

However, I was still struggling, with errors such as: -

$ ./InstallerImage_linux_gtk_x86/installc -acceptLicense

CRIMA9C35370BE ERROR: The package IBM® Rational® Software Architect requires system library libstdc++.so.5 or libstdc++.so.6. Make sure libstdc++.so.5 or libstdc++.so.6 is available in the system library path before installing this package.

which I resolved with: -

$ yum install libstdc++.so.6

and: -

$ ./InstallerImage_linux_gtk_x86/installc -acceptLicense

java.io.IOException: Cannot run program "lsb_release": java.io.IOException: error=2, No such file or directory

which I resolved with: -

$ sudo yum install redhat-lsb

Finally, I needed to use strace as follows to dig into the additional missing packages e.g. 

$ strace -o /tmp/output.txt ./InstallerImage_linux_gtk_x86/installc -acceptLicense

which led me to install these additional packages: -

$ sudo yum install libX11.so.6
$ sudo yum install libgdk-x11-2.0.so.0
$ sudo yum install libpk-gtk-module.so
$ sudo yum install libcanberra-gtk-module.so

Having done that, the RSA 803 installation took 5-10 minutes.

Job done :-)

Tuesday, 21 February 2012

Got Portal, Get Connections - no, really, GET Connections NOW

We knew this was coming from around the Lotusphere 2012 timeframe, but it's taken a few weeks to make it into the official news e.g. an IBM Announcement Letter ( ULET )

IBM WebSphere Portal Server V7.0.0, IBM WebSphere Portal Enable V7.0.0, and IBM WebSphere Portal Extend V7.0.0 add entitlement to IBM Connections Files and IBM Connections Profiles

If you have IBM® WebSphere® Portal Server, IBM WebSphere Portal Enable, or IBM WebSphere Portal Extend on an active Passport Advantage® Software Subscription and Support contract, you are now entitled to use IBM Connections Files and IBM Connections Profiles. This entitlement lets users find experts and easily share content with other people.

With this new entitlement, you can access IBM Connections Profiles and IBM Connections Files capabilities directly or from within WebSphere Portal Server, WebSphere Portal Enable, or WebSphere Portal Extend. You can now more easily share your organization's collective knowledge.

IBM Connections Files allows users to easily share content with other people. It also allows you to make the content you create available so other people can easily find it, make recommendations, and share it.

IBM Connections Profiles helps users find the people they need by searching across the organization's content using tags to identify expertise, current projects, and responsibilities. It shares skills, interests, and organizational structure for others to discover and use to their benefit.

IBM WebSphere Portal web experience software offerings help organizations create highly customized, engaging, personalized web experiences. Each offers capabilities essential for delivering and sustaining exceptional online experiences, and now include use of social services that help you quickly locate the people and content you need.

See here for more information. There's also a PDF version available here.

SQL1041N The maximum number of concurrent databases have already been started

Saw this referenced in a thread on the IBM Connections Community Chat, moderated by the nice Mr Stuart McIntyre ( SocialStu ), and thought it was worth re-posting.

Problem(Abstract)

This technote explains how to resolve an SQL1041N error that can occur when trying to connect to an IBM® DB2® Test Datastore from IBM Rational® TestManager (TM).

Cause

The default number of databases that can be concurrently active (that is, have applications connected to them) is 8.

Resolving the problem

Change the number of databases that can be concurrently active to the desired number. The valid range is 1 to 256.

To change this number:

• Open the DB2 Control Center
• Expand All Systems -> [server name] -> Instances
• Right-click on the instance that you want to change (DB2 instance) and choose Configure Parameter from the pop-up menu
• Scroll down to NUMDB (under Environment)
• Change the value to the desired number
• Restart the DB2 service (Start -> Run -> services.msc)

As Stuart also pointed out, for those of us who (a) prefer command lines or (b) choose not to use DB2 Control Centre or (c) choose not to run DB2 on Windows, the NUMDB parameter can be set via the DB2 CLI: -

$ db2 update database manager configuration using numdb 15
$ db2stop
$ db2start
$ db2 get database manager configuration

( as the DB2 instance owner of the Connections - or other application - databases )


Saturday, 18 February 2012

More on Lotus Notes 8.5.3 on the Mac - Pruning Preferences to Recover Crashes

Having twice managed to break my Notes installation by "fickering" around with the preferences - now one could say that this shouldn't cause the client to fail to start but …. ;-(

I *think* I created the problem by incorrectly setting the URL for the Activities client to: -


rather than: -


but I may be wrong :-)

Last time around, I managed to recover the client by clearing down the Workspace folder ( /Users/david_hay/Library/Application Support/Lotus Notes Data/Expeditor ), as per this blog post.

This time, I found a more quick and simple solution - I merely cleared down this folder: -

/Users/david_hay/Library/Application Support/Lotus Notes Data/Expeditor/Applications/.metadata/.plugins/org.eclipse.core.runtime/.settings

I'm still not 100% convinced that a configuration change should "break" the client quite so seriously but ….

Thursday, 16 February 2012

WebSphere User Group - London - Wednesday 21 March

I may have mentioned this previously, but it's an event that's worth mentioning over and again.

The WebSphere User Group are having one of their UK meetings at IBM South Bank on Wednesday 21 March.

The full agenda etc. is available on the WUG site here and there's some great content being planned, including a session on the WebSphere Application Server 8.5 "Liberty Profile".

I'll be there, hope to see you there :-)

Tuesday, 14 February 2012

IBM Connections and IBM Tivoli Directory Integrator - @ Symbol Causes Problems in LDAP Distinguished Name

I saw this Technote: -


in my IBM Connections Fixes ATOM feed earlier.

Problem

Attempts to use the ProfileConnector to write custom attributes result in "dn is null" when using 
Tivoli Directory Integrator for IBM Connections.

Symptom

Standard user LDAP attributes are being populated and synchronized by the sync_all_dns.bat/sh Tivoli Directory Integrator (TDI) script. There is also a need to populate additional user information from a separate data source.

The ProfileConnector was used for this task to retrieve, create and update the extension data.
It was found that the synchronization was working correctly for standard and extension fields, with the exception of users whose LDAP distinguished name (DN) contained the ampersand '@' character.
e.g. CN=JoeBloggs@domain,OU=Division,O=IBM

For these users, no population or sychronization of extension data was made and in the TDI log files it was found that the error "dn is null" was written.

Cause

The ProfileConnector code as part of the TDISOL package for IBM Connections was unable to handle these type of distinguished names correctly.

Sadly, the Technote doesn't list specifically what fix one needs. I'll try and find out, and report back …..

Friday, 10 February 2012

Could it be magic ? Making my narrowband more broad ….

So I've been trying to get to the bottom of why my home broadband bandwidth was so poor, both BEFORE and AFTER I moved to BT Broadband, with their Home Hub, BTFON and OpenZone service.

This meant that even basic web activity took time, including podcast downloads ( I need my geeky fix on a regular basis, almost as regular as my caffeine fix ) and streaming TV, including BBC iPlayerITV Player4ODDemand 5 etc.

The Home Hub has a great geeky user interface, and I was able to see, at a glance, how poor the bandwidth WAS: -


Whilst lurking around the BT website, I found mention of this BT Broadband Accelerator - working on the principle that, if it seems too good to be true, it probably is, I kept on browsing, and got lost in the wonderful world of line tests and speed tests.

However, I did go back to the Accelerator ( formerly known as the iPlate - perhaps before our friends in Cupertino copyrighted the letter 'i' !! ).

It's a simple piece of hardware, that clips into the standard BT master telephone socket, and seems to "smooth" out the spikes, noise and crackles caused by extension wiring - of which we have plenty.

It looks something like this: -

Given that BT wanted to charge me the princely sum of £1.30 ( for delivery, as the unit was "free" to existing BT customers ), I thought it was worth a try - after all, for £1.30, I can barely get an espresso in my favourite coffee chain :-)

I ordered it on Wednesday, it arrived on Thursday, and installation took about 2 minutes - I merely had to open up the master socket ( Caveat Emptor ), and plug the Accelerator in to the existing socket.

Having done this, I plugged the Home Hub back into the faceplate, and waited for 2-3 minutes for it to re-establish the connection.

Almost immediately, the Home Hub started reporting a fairly significant rise in the Downstream connection: -


Almost immediately, my perception was that downstream performance had improved, with a few podcasts coming down nice and quickly, and no obvious stuttering on the BBC iPlayer.

I left it for a while ( BT recommend 48 hours to 14 days to be sure ), and then ran speed tests using ThinkBroadBand: -




So far, so good.

You pays your money, you takes your chance ( or, in my case, your change !! )

Wednesday, 8 February 2012

WebSphere and VMware Together - The Balloon Goes POP!!

I'm working on a couple of projects where our client is running various WebSphere Application Server-based products, including IBM Connections, IBM WebSphere Portal and IBM Web Content Manager, on VMware ESX.

One specific item of interest is the wonderfully named "Memory Ballooning"  …..

Memory Balloon Driver

The balloon driver, also known as the vmmemctl driver, collaborates with the server to reclaim pages that are considered least valuable by the guest operating system. It essentially acts like a native program in the operating system that requires more and more memory. The driver uses a proprietary ballooning technique that provides predictable performance that closely matches the behavior of a native system under similar memory constraints. This technique effectively increases or decreases memory pressure on the guest operating system, causing the guest to invoke its own native memory management algorithms. When memory is tight, the guest operating system decides which particular pages to reclaim and, if necessary, swaps them to its own virtual disk.

You need to be sure your guest operating systems have sufficient swap space. This swap space must be greater than or equal to the difference between the virtual machine's configured memory size and its reservation.



For us, this caused some performance problems, with symptoms such as hung JVMs, hung threads, apparent 100% CPU utilisation etc., both on the VMs running real end-user workload e.g. IBM Connections, which we have clustered across two nodes, each with oodles of memory and oodles of CPU core. We also saw the same symptoms on our Deployment Manager servers, which aren't exactly what I'd call heavyweight workloads.

We've now disabled this behaviour, and things appear to be a little better.

These two VMware-sourced documents were of considerable use: -


the latter of which says: -

It is recommended that you do not overcommit memory because the JVM memory is an active space where objects are constantly being created and garbage collected. Such an active memory space requires its memory to be available all the time. If you overcommit, memory ballooning or swapping may occur and impede performance.

An ESX/ESXi host employs two distinct techniques for dynamically expanding or contracting the amount of memory allocated to virtual machines. The first method is known as memory balloon driver (vmmemctl). This is loaded from the VMware Tools package into the guest operating system running in a virtual machine. The second method involves paging from a virtual machine to a server swap file without any involvement by the guest operating system.

In the page swapping method, when you power on a virtual machine, a corresponding swap file is created and placed in the same location as the virtual machine configuration file (VMX file). The virtual machine can power on only when the swap file is available. ESX/ESXi hosts use swapping to forcibly reclaim memory from a virtual machine when no balloon driver is available. The balloon driver might be unavailable either because VMware Tools is not installed or because the driver is disabled or not running. For optimal performance, ESX/ESXi uses the balloon approach whenever possible.

However, swapping is used when the driver is temporarily unable to reclaim memory quickly enough to satisfy current system demands. Because the memory is being swapped out to disk, there is a significant performance penalty when the swapping technique is used. Therefore, it is recommended that the balloon driver is always enabled, but monitor it to verify that it is not being invoked when that memory is overcommitted.

Both ballooning and swapping should be prevented for Java applications. To prevent ballooning and swapping, refer to BP5 – Set memory reservation for virtual machine needs.

Bottom line, ballooning and WebSphere aren't a good fit ….

IBM Content Template Catalog V3.0 (CTC) and WebSphere Portal 7.0.02

This IBM Technote plopped into my In-Box earlier today, and I immediately shared it via Sametime with a number of my colleagues, most of whom are working with the IBM Content Template Catalog (CTC) right now.

IBM Content Template Catalog V3.0 (CTC) is broken after upgrade to WP/WCM V7.0.0.1 CF009 (or later) or 7.0.0.2 fix pack

Abstract

The IBM Content Template Catalog V3.0 (CTC3) can be installed on IBM Web Content Manager (WCM) V7.0.0.1 or 7.0.0.2. Installing the Combined Cumulative Fix 009 or 010, or upgrading to fix pack level 7.0.0.2 renders CTC3 unusable.

Content

A fix will be made available in the near future and this page will be updated when more information is available.

The IBM Content Template Catalog V3.0 (CTC3) is documented here: -

http://www-10.lotus.com/ldd/portalwiki.nsf/dx/IBM_Content_Templates_Catalog_V3.0

One of the files necessary for its successful operation is overwritten when installing either Combined CF009, CF010, or fix pack 7.0.0.2. The .jar file, "wp.wcm.templating.jar", is installed into the WCM shared apps directory during a CTC3 install.

To correct the issue, copy the original .jar file from CTC3 back into the shared apps directory (replacing the file present) and restart the server. 

The .jar file is located in "/wp.ctc/components/wp.ctc/enablment/" in the CTC PAA. The non-CTC3 file will be 31KB after installing the CF or fix pack but the CTC3 version is 80KB.

After the restart, the templating functions should be working again.


Integrating IBM Connections 3.0.1 with WebSphere Portal 7.0 using Page Builder 2 Themes

This popped up on Twitter earlier today - it's a new article up on the Connections Wiki, written by Roberto Boccadoro and Andrea Fontana.

This article describes how to integrate IBM Connections 3.0.1 with WebSphere Portal 7 when using Page Builder 2 themes (the default for Portal 7). 

Integrating IBM Connections 3.0.1 and WebSphere Portal 7 is not possible using WebSphere Application Integrator (WAI) because WAI does not support Page Builder 2 themes. This article shows how to obtain a result similar to the one that was possible with WebSphere Portal 6 using WAI, namely, hiding the navigation header of IBM Connections and allowing navigation only through Portal.

• 1 Overview
• 2 Creating a Stylesheet to Customize the UI
• 3 Creating a Stylesheet to Hide the IBM Connections Navigation Header
• 4 Modifying JavaServer Pages (.jsp) Files
• 4.1 Activities
• 4.2 Blogs
• 4.3 Communities
• 4.4 Bookmarks
• 4.5 Files
• 4.6 Profiles
• 4.7 Wikis
• 4.8 Forums
• 4.9 Home Page
• 5 Building the Integration Pages in the Portal
• 6 Verifying Results
• 7 Creating URLs Instead of Pages
• 8 About the Authors


Saturday, 4 February 2012

IBM Tivoli Directory Integrator - java.lang.IllegalArgumentException: Bad arguments

This one baffled me for a good 10-15 minutes on Friday.

When I ran any TDI script ( this is TDI 7.0.0.5 as used with Connections 3.0.1 ), including populate_from_dn_file.sh

<snip>
CTGDKD024I Remote API successfully started on port:1099, bound to:'SessionFactory'. SSL and Client Authentication are enabled.

Platform: 'Generic' 
java.lang.IllegalArgumentException: Bad arguments 
        at javax.crypto.Cipher.doFinal(Unknown Source) 
        at com.ibm.di.security.RSACrypto.decrypt(RSACrypto.java:145) 
        at com.ibm.di.util.PropertiesFile$Property.decryptPropertyValue(PropertiesFile.java:411) 
        at com.ibm.di.util.PropertiesFile$Property.getValue(PropertiesFile.java:221) 
        at com.ibm.di.util.PropertiesFile.getProperty(PropertiesFile.java:795) 
        at com.ibm.di.connector.PropertiesConnector.findEntry(PropertiesConnector.java:635) 
        at com.ibm.di.connector.PropertiesConnector.getNextEntry(PropertiesConnector.java:595) 
        at com.ibm.di.config.interfaces.TDIPropertyStore.advanceIterator(TDIPropertyStore.java:693) 
        at com.ibm.di.config.interfaces.TDIPropertyStore.hasNext(TDIPropertyStore.java:648) 
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
        at java.lang.reflect.Method.invoke(Method.java:618) 
        at com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:298) 
        at com.ibm.jscript.types.FBSObject.call(FBSObject.java:153) 
        at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:151) 
        at com.ibm.jscript.ASTTree.ASTWhile.interpret(ASTWhile.java:61) 
        at com.ibm.jscript.std.FunctionObject._executeFunction(FunctionObject.java:230) 
        at com.ibm.jscript.std.FunctionObject.executeFunction(FunctionObject.java:162) 
        at com.ibm.jscript.std.FunctionObject.call(FunctionObject.java:148) 
        at com.ibm.jscript.types.FBSObject.call(FBSObject.java:153) 
        at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:151) 
        at com.ibm.jscript.ASTTree.ASTObjectLiteral.interpret(ASTObjectLiteral.java:72) 
        at com.ibm.jscript.ASTTree.ASTAssign.interpret(ASTAssign.java:90) 
        at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:102) 
        at com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:399) 
        at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:249) 
        at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:236) 
        at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:239) 
        at com.ibm.jscript.JSInterpreter.interpret(JSInterpreter.java:53) 
        at com.ibm.di.script.ScriptEngine.interpret(ScriptEngine.java:867) 
        at com.ibm.di.script.ScriptEngine.exec(ScriptEngine.java:495) 
        at com.ibm.di.script.ScriptEngine.loadScript(ScriptEngine.java:622) 
        at com.ibm.di.script.ScriptEngine.includeAllScripts(ScriptEngine.java:726) 
        at com.ibm.di.script.ScriptEngine.includeAllScripts(ScriptEngine.java:752) 
        at com.ibm.di.server.AssemblyLine.autoIncludeScripts(AssemblyLine.java:2626) 
        at com.ibm.di.server.AssemblyLine.initScriptEngine(AssemblyLine.java:2205) 
        at com.ibm.di.server.AssemblyLine.msStart(AssemblyLine.java:3243) 
        at com.ibm.di.server.AssemblyLine.executeMainStep(AssemblyLine.java:3145) 
        at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:2818) 
        at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:2801) 
        at com.ibm.di.server.AssemblyLine.executeAL(AssemblyLine.java:2770) 
        at com.ibm.di.server.AssemblyLine.run(AssemblyLine.java:1275)


2012-02-03 14:42:40,652 INFO  [convert_uids_for_customer] - CTGDIR103W The properties file '/opt/IBM/TDI/V7.0/tdisol_FM/TDI/301.properties' for  was not found, and will be created if anything is written to it. 
2012-02-03 14:42:40,789 ERROR [AssemblyLine.AssemblyLines/dump_profiles.1] - [read_whole_db] CTGDIS810E handleException - cannot handle exception , initialize java.lang.IllegalArgumentException: Bad arguments 
        at javax.crypto.Cipher.doFinal(Unknown Source) 
        at com.ibm.di.security.RSACrypto.decrypt(RSACrypto.java:145) 
        at com.ibm.di.util.PropertiesFile$Property.decryptPropertyValue(PropertiesFile.java:411) 
        at com.ibm.di.util.PropertiesFile$Property.getValue(PropertiesFile.java:221) 
        at com.ibm.di.util.PropertiesFile.getProperty(PropertiesFile.java:795) 
        at com.ibm.di.connector.PropertiesConnector.findEntry(PropertiesConnector.java:635) 
        at com.ibm.di.config.interfaces.TDIPropertyStore.getPropertyEntry(TDIPropertyStore.java:426) 
        at com.ibm.di.config.interfaces.TDIPropertyStore.getProperty(TDIPropertyStore.java:384) 
        at com.ibm.di.config.interfaces.TDIProperties.getProperty(TDIProperties.java:351) 
        at com.ibm.lconn.profiles.api.tdi.connectors.Util.AbstractProfilesConnector.initializeInternal(AbstractProfilesConnector.java:72) 
        at com.ibm.lconn.profiles.api.tdi.connectors.Util.AbstractProfilesConnector.initialize(AbstractProfilesConnector.java:53)

        at com.ibm.di.server.AssemblyLineComponent.doInitialize(AssemblyLineComponent.java:1129) 
        at com.ibm.di.server.AssemblyLineComponent.initialize(AssemblyLineComponent.java:1110) 
        at com.ibm.di.server.AssemblyLine.initConnectors(AssemblyLine.java:1865) 
        at com.ibm.di.server.AssemblyLine.msInitConn(AssemblyLine.java:3335) 
        at com.ibm.di.server.AssemblyLine.executeMainStep(AssemblyLine.java:3157) 
        at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:2818) 
        at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:2801) 
        at com.ibm.di.server.AssemblyLine.executeAL(AssemblyLine.java:2770) 
        at com.ibm.di.server.AssemblyLine.run(AssemblyLine.java:1275) 
2012-02-03 14:42:40,790 ERROR [AssemblyLine.AssemblyLines/dump_profiles.1] - CTGDIS266E Error in InitConnectors. Exception occurred: java.lang.IllegalArgumentException: Bad arguments 
java.lang.IllegalArgumentException: Bad arguments 

        at javax.crypto.Cipher.doFinal(Unknown Source) 
        at com.ibm.di.security.RSACrypto.decrypt(RSACrypto.java:145) 
        at com.ibm.di.util.PropertiesFile$Property.decryptPropertyValue(PropertiesFile.java:411) 
        at com.ibm.di.util.PropertiesFile$Property.getValue(PropertiesFile.java:221)

</snip>

I was getting really really cross as I couldn't see what had led to this problem. However, having just updated the SSL certificates between TDI and LDAP ( Active Directory ), I wasted a bit of time checking that the certificates were correct.

Then I remembered that I'd also updated the password in profiles_tdi.properties for the target database ( DB2 UDB ) ….

Even with that clue, it still took me two or three attempts to realise that, when I'd pasted the new password into profiles_tdi.properties, I'd inadvertently included a …. CR/LF character.

I was fooled because the encoded password wraps around onto a second line so I saw: -

{protect}-dbrepos_password={encr}f9dfa8r348rufdu9r8849089df8f89dfhdjhrkhwerjh32984r9fud9f9dsu90r[23ij4repdfua9sudf90[dsr0u2390ruefjaf
9832rufdifp8dsgy7sysuhuhrh3ur3y48dfsf8sdafkjhlkhrew

and read it as: -

{protect}-dbrepos_password={encr}f9dfa8r348rufdu9r8849089df8f89dfhdjhrkhwerjh32984r9fud9f9dsu90r[23ij4repdfua9sudf90[dsr0u2390ruefjaf9832rufdifp8dsgy7sysuhuhrh3ur3y48dfsf8sdafkjhlkhrew

whereas it was actually stored in the file as: -

{protect}-dbrepos_password={encr}f9dfa8r348rufdu9r8849089df8f89dfhdjhrkhwerjh32984r9fud9f9dsu90r[23ij4repdfua9sudf90[dsr0u2390ruefjaf [CR/LF]
9832rufdifp8dsgy7sysuhuhrh3ur3y48dfsf8sdafkjhlkhrew

meaning that TDI didn't know what to with this line: -

9832rufdifp8dsgy7sysuhuhrh3ur3y48dfsf8sdafkjhlkhrew

in its properties file, hence the nasty ( but actually quite revealing ) java.lang.IllegalArgumentException.

Bottom line, check your property files, and avoid copy/paste.

Newbie error :-)

Thursday, 2 February 2012

Lialis - WebDAV for IBM Connections & Lotus Quickr

Luis Benitez blogged about this solution earlier today

• Downloading synchronizing content from/to IBM Connections Files
• Deliver shared drives connected to IBM Connections to the users PC (OS independent)
• Allow easy archiving of content stored in IBM Connections by coping the files from the file share
• Readers apps supported: Goodreader, Readdledocs, Bitknex, WebDrive, readers for Android (*)
• Download files from IBM Connections, upload files to IBM Connections via WebDAV
• Delete files in IBM Connections via WebDAV
• Create communities or profiles inside the IBM Connections via Webdav
• Parallel user sessions supported

Now I've used WebDAV in the past with WebSphere Portal and IBM Web Content Manager, but haven't seen it used in this way before.

As a Mac user, I like Luis' next point ….

To me the most exciting feature is the ability to use IBM Connections as a mounted drive directly on your computer. For example, if have a Mac like me you could use this solution to mount all of your IBM Connections Files directly in Finder. Set up your Finder as described here in 3 steps and you are done! Very cool, right?

Guess what I'm going to do next ?

Lialis' website is here ....

Webinar - Kapow Software: Automating Web Content Migrations to IBM WCM

One of my IBM colleagues kindly shared this with me earlier today, and I thought it might be of use to other WCM customers and prospects: -

Date - Thursday, February 9, 2012
Time - 1:00 PM - 2:00 PM EST

Kapow's software is typically reducing the time and cost of web content migrations time by 80-90%, all while improving accuracy and eliminating business disruptions.   More specifically Kapow offers a stand-alone content migration platform that can extract content and metadata (from unstructured/flat/static html content and many other sources), transform/enrich content and metadata, map source content to target templates and load directly into IBM WCM …….all with no coding and no freeze on content.  

Want to know more ? Please visit here and register.

Wednesday, 1 February 2012

IBM WebSphere Application Server - Working with Secure Sockets Layer and LDAP

We needed to apply this iFix to WebSphere Application Server 7.0.0.17 ( under IBM Connections 3.0.1 ) in order to allow WAS to pull/use the root CA SSL certificates from the client's Active Directory servers via their Big IP F5 Load Balancer.


Abstract

The end cert is typically shorter lived then the root certificate so the tasks are changed to get the root certificate.

Error Description

The retrieveSignerFromPort task should return the root signer certificate from the port's certificate chain when available.

Users Affected

All users of IBM WebSphere Application Server that use the console or task options to retrieve signers from port of remote servers.

Prior to this, we were seeing different behaviour between Connections and WebSphere Portal, which runs on WAS 7.0.0.19 - Portal was automatically pulling back the root CA certificates, whereas Connections was pulling the "end" certificates, and occasionally throwing up chaining errors :-(

I opened a PMR with IBM Support, and discovered that this iFix was sneaked into WAS 7.0.0.19 and above, which explained why Portal was working differently to Connections.

Seemples :-)

IBM Connections 3.0.1 - Email Notifications

Following on from  a question via the Twitter-sphere about whether it was possible to change the date/time that Connections sends out it's email notifications, I checked a couple of existing sources, including the Wiki and the excellent whitepaper - Customizing IBM Lotus Connections 3.0 email digests and notifications - and then asked one of the IC Development team, based in Dublin, Eire, from whence this response comes: -

There is no set 'time' for the digests, they are processed/delivered throughout the day.

The users in the system are split into 20 tranches. 
Each hour, a task runs to pick up the next applicable tranche (i.e. one whose daily digest was not processed in last 24 hours, or whose weekly digest has not run in 168 hours).

You could change the time of the hour that the task runs, but this will not give the behaviour you are looking for.

The power of social, from Twitter to Sametime to email to blog post …….

Administering IBM WebSphere Portal 7.0: A comprehensive workshop

This plopped into my inbox this morning - kudos to Thomas Hurek and Falk Posch for creating this useful document: -

The goal of this white paper is to explain the various administration and configuration tools offered by IBM WebSphere Portal 7.0. Learn about which tool to use for which task and about the new capabilities of WebSphere Portal 7.0, and understand differences from previous versions of WebSphere Portal. We take you through exercises for each tool so you can learn hands-on how to use them.

ToC

• Introduction
• What is WebSphere Portal?
• WebSphere Portal installation
• WebSphere Portal file system structure
• Command line tools
• Administration user interface: Admin portlets
• WebSphere Application Server Admin user interface
• Conclusion
• Resources
• About the authors

Jenkins and the Case of the Missing Body

I was repeatedly seeing this: - java.lang.IllegalStateException: There is no body to invoke with a Jenkins Pipeline that I was executing...