Thursday, 7 January 2010

Plug Plug Plug - IBM Lotus Connections 2.5: Planning and Implementing Social Software for Your Enterprise














Guess what I'll be reading on the plane to Boston ...

The Practical, Complete Guide to Leveraging the Power of Social Networks with Lotus Connections 2.5

The first book to cover the newest version of the breakthrough product from IBM: Lotus Connections 2.5. This book includes practical techniques for building dynamic networks of coworkers, partners, and customers that promote innovation, business agility, and authoritative guidance for business and technical planning, deployment, integration, and much more. Social networking is the newest frontier in business collaboration, and IBM Lotus Connections 2.5 gives businesses the tools they need to make the most of it–easily, securely, and cost-effectively.

In this book, a team of IBM Lotus Connections 2.5 experts thoroughly introduces the newest product and covers every facet of planning, deploying, and using it successfully. The authors cover business and technical issues and present IBM's proven, best-practices methodology for successful implementation. The authors begin by helping managers and technical professionals identify opportunities to use social networking for competitive advantage–and by explaining how Lotus Connections 2.5 places full-fledged social networking tools at their fingertips. IBM Lotus Connections 2.5 carefully describes each component of the product–including profiles, activities, blogs, communities, easy social bookmarking, personal home pages, and more. The book contains practical coverage of administering Lotus Connections 2.5 and detailed guidance of integrating and extending Lotus Connections 2.5.


VMware Server 2.0.2 and it's use of datastores

If you're like me (!), and prefer scripts to GUIs, then you might find this to be of some use.

I've recently written some scripts for my VMware Server environment to register, start, stop and list VMs. I'm using VMware Server on Ubuntu 9.10 64-bit, and use it to run products such as Lotus Connections, WebSphere Portal etc.

Here're the scripts: -

registerVM.sh

#!/bin/bash
vmrun -t server -h https://orac:8333/sdk -user root -password passw0rd register "[standard] $1/$1.vmx"


startVM.sh

#!/bin/bash
vmrun -t server -h https://orac:8333/sdk -user root -password passw0rd start "[vmwares] $1/$1.vmx"


stopVM.sh

#!/bin/bash
vmrun -t server -h https://orac:8333/sdk -user root -password passw0rd start "[vmwares] $1/$1.vmx"


listVM.sh

#!/bin/bash
vmrun -t server -h https://orac:8333/sdk -user root -password passw0rd list

and, for Lotus Connections especially, there's this one: -

startAll.sh

#!/bin/bash
./startVM.sh Domino
./startVM.sh DB2
./startVM.sh WASND
./startVM.sh Connections


Now, most of these scripts have one thing in common; they all refer to "[vmwares]" which is an alias that points to the physical directory (in my case, this is  a mount point called /vmwares that points to a 1 TB SATA2 internal drive ).

The path is set by the vmwareConfig.pl script *BUT* the alias is not; it's set to a default of standard by a configuration file; /etc/vmware/hostd/datastores.xml.

This meant that my scripts were failing - in the case of registerVM.sh, I was seeing: -

Error: The virtual machine cannot be found

Therefore, in my case, I've amended this file to reflect the alias as vmwares rather than standard as follows: -

<ConfigRoot>
<LocalDatastores>
<_length>1</_length>
<_type>hostd.host.LocalDataStoreEntry[]</_type>
<e id="0">
<_type>hostd.host.LocalDataStoreEntry</_type>
<id>1</id>
<name>vmwares</name>
<path>/vmwares</path>
</e>
<NasVolumes>
<_length>0</_length>
<_type>host.host.NasDataStoreEntry[]</_type>
</NasVolumes>
</ConfigRoot>

In other words, I've changed: -

<name>standard</name>

to: -

<name>vmwares</name>

PS It's worth noting that, depending upon your environment, you may also have a NEW_datastores.xml as well as the original datastores.xml file. Be aware that the NEW file takes precedence over the original version; therefore, ensure that you modify the right version.

The simplest trick is to change the file and then restart VMware Server via the command: -

service vmware stop
service vmware start

or: -

service vmware restart

Check the amended configuration file to ensure that the new alias has been picked up.

Wednesday, 6 January 2010

Want to add a CD/DVD repository to Ubuntu's APT sources.lst ?

If so, run this command: -

sudo apt-cdrom add

and, when prompted, insert the relevant CD or DVD, and let Ubuntu do the rest ....

Patching things using Ubuntu Server 9.10

Whilst trying to install VMware Server 2.0.2 on a freshly squeezed Ubuntu Server 9.10 installation, I needed to run a script that patches the out-of-the-box VMware install scripts.

This script, found here ( amongst other places ) uses the patch command. Sadly, for some strange reason, the script itself kept failing with: -

Testing patch ./vmware-server.2.0.1_x64-modules-2.6.30.4-fix.sh: 71: patch: not found Sorry, problem with the patch, I can't apply it 
After mucking about with permissions etc., I Googled around and found that the problem was that the patch command ( /usr/bin/patch ) wasn't installed - however, the command: -

sudo apt-get install patch

didn't find owt, and Synaptic Package Manager implied that patch was already installed as part of the same package that includes the diff command - which WAS there.

To cut a long story short, the trick was to run: -

sudo apt-get update

( with an Internet connection, of course )

and then re-run: -

sudo apt-get install patch

Once done, /usr/bin/patch miraculously appeared, and the aforementioned script worked without a problem.

Simple ? I DON'T BLOOMIN' THINK SO ...

Tuesday, 5 January 2010

Changing the default search engine for Firefox keyword searches ...

Whilst helping a friend / colleague / buddy / fellow caramel latte consumer, I stumbled upon a need to change the search engine that Firefox uses for keyword searches ( those entered via the Address Bar rather than the Search box ).

Mike wanted to enter a search string ( apparently known as a keyword search ) into the Address Bar and have it use http://www.google.co.uk rather than http://www.google.com.

The solution ?

Change the Firefox internal configuration using the URL about:config ( heeding the warnings re dragons, warranties etc. ) and set the value of: -

keyword.URL

from: -

http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=

to: -

http://www.google.co.uk/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=

If it's of interest, the about:config URL/command actually updates an underlying Firefox preference files ( prefs.js ) which, on my Mac, is stored here: -

/Users/davehay/Library/Application\ Support/Firefox/Profiles/4htddm23.default/prefs.js

CTGDKE039E Error occurred when creating TDI Property store

Finally, having bashed my head against the screen of my Thinkpad repeatedly for the past few days, I've cracked a problem that was baffling me with Tivoli Directory Integrator V6.1.1 FP7.

In short, I have created an Assembly Line that reads from Domino Directory via the LDAP Connector, and only returns users who are members of a specific group. This is to help resolve a problem that I'm seeing at a customer, where they're looking to use group membership to "control" who gets added to the Profiles database within Connections.

The TDI wizard that is supplied with Connections 2.5 is great, but doesn't have that specific tweak, and Domino LDAP doesn't seem to have the equivalent of the memberOf filter that other LDAPs support.

Anyhow, having created my Assembly Line, I was struggling to execute it as a command line ( via a shell script ). It worked perfectly well within the TDI toolkit itself ( /opt/IBM/TDI/V6.1.1/ibmditk ), but not via the command-line interface ( /opt/IBM/TDI/V6.1.1/ibmdisrv ).

The exception that I kept receiving was: -

CTGDKE039E
Error occurred when creating TDI Property store. Property store: Solution-Properties Exception: null
CTGDKE039E
Error occurred when creating TDI Property store. Property store: System-Properties Exception: java.net.ConnectException : Error opening socket to server localhost on port 1527 with message : Connection refused

The port number was niggling me, as I'd seen reference to 1527 before.

After a while it hit me. When I got back off the floor, I remembered .... port 1527 is often used by the Apache Derby database ( fka Cloudscape ).

I checked within my TDI solution directory ( I'm actually running my script from within the Connections Wizard subdirectory ( /root/Wizards/TDIPopulation/TDISOL/linux ) and found a script entitled derby.sh. I executed said script: -

./derby.sh start

and saw the friendly message: -

Server is ready to accept connections on port 1527

Lo and behold, my TDI script now works.

The reason that this was occuring, methinks, is because I'm using an external properties file to configure the TDI Assembly Line to talk to a specific Domino server with a specific search filter and a specific set of credentials. The objective being to allow my customer to change the properties file without needing to change the Assembly Line itself.

Looking at the Assembly Line configuration,I'm guessing that TDI needs to iterate through all available properties: -

Solution-Properties
Global-Properties
Java-Properties
System-Properties

*BEFORE* it gets to my own properties file.

I'll blog my Assembly Line etc. in the next day or so ....

Product Positioning

With thanks to my fiend Darren for sharing this: -




Note to self - Firefox and local connections

 Whilst trying to hit my NAS from Firefox on my Mac, I kept seeing errors such as:- Unable to connect Firefox can’t establish a connection t...