Sunday, 30 January 2011

More on WebDAV and WebSphere Portal

Following on from an earlier blog post, whilst using WebDAV to do some work with the Page Builder theme in WebSphere Portal 7, I was perplexed to keep seeing: -

Internal Server Error

in my WebDAV client ( Nautlius 2.3.2.0 ), with: -

1/30/11 12:02:50:131 GMT] 00000088 servlet       E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Uncaught exception created in one of the service methods of the servlet PROTECTED_HANDLER_47555912 in application wps. Exception created : java.lang.IllegalArgumentException: key:null
        at com.ibm.ws.cache.util.ValidateUtility.objectNotNull(ValidateUtility.java:47)
        at com.ibm.ws.cache.DistributedObjectCacheAdapter.common_get(DistributedObjectCacheAdapter.java:523)
        at com.ibm.ws.cache.DistributedMapImpl.get(DistributedMapImpl.java:59)
        at com.ibm.wps.services.cache.DistributedMapCache.get(DistributedMapCache.java:116)
        at com.ibm.wps.filestore.JCRDataSource.getCacheScope(JCRDataSource.java:176)
        at sun.reflect.GeneratedMethodAccessor138.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:600)
        at com.ibm.wps.util.ContextWrapper$Handler.invoke(ContextWrapper.java:127)
        at $Proxy205.getCacheScope(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor138.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:600)
        at com.ibm.wps.util.ContextWrapper$Handler.invoke(ContextWrapper.java:127)
        at $Proxy208.getCacheScope(Unknown Source)
...

in SystemOut.log on my WP7 server.

Thankfully, a quick search found this Technote: -

PM25317: WEBDAV COPY OPERATION ON FOLDERS MAY LEAD TO ILLEGALARGUMENTEXCEPTION

Am just applying the fix ( part of Cumulative Fix 001 for WebSphere Portal 7 , and will report back ...

Adding WebSphere Portlet Factory Designer 7 to Rational Software Architect 8

Well, I like WebSphere Portlet Factory Designer and I like Rational Software Architect, but which one is best ?

No, but seriously, some times I need to simply use WPF and other times I need the full majesty of RSA.

Therefore, being able to run one inside the other is a nice-to-have.

Oh, and of course, I want to run it on Ubuntu Linux 10.10 :-)

Well, it's easier than I thought, and much easier than the past.

Simply put, you install WPF and then you install RSA, and then you tell one to know about the other.

So, for me, I have WPF Designer v7 installed here: -

/opt/IBM/WebSphere/PortletFactory/Designer

and RSA 8 installed here: -

/opt/IBM/SDP

To add WPF into RSA, it's a simple matter to create a subdirectory called links under RSA: -

mkdir /opt/IBM/SDP/links

and then copy a file - com.bowstreet.designer.link - from WPF into it: -

/opt/IBM/SDP/links
cp /opt/IBM/WebSphere/PortletFactory/Designer/eclipse/com.bowstreet.designer.link .

Next time I start RSA, I have WPF available, and can create projects and models to my heart's content.

Thanks to the WPF wiki for the tip....

Thursday, 27 January 2011

Error "CWWIM4512E The password match failed" seen using WebSphere Portal Express v7 on Linux

During the start-up of my WebSphere Portal Express v7 installation on Ubuntu ( I know, it's not supported, but it's fun ), I started seeing: -

...
21/01/11 23:02:32:665 GMT] 0000002a exception     W com.ibm.ws.wim.adapter.file.was.FileAdapter login CWWIM4512E The password match failed.
[21/01/11 23:02:32:666 GMT] 0000002a exception     W com.ibm.ws.wim.adapter.file.was.FileAdapter login
                                 com.ibm.websphere.wim.exception.PasswordCheckFailedException: CWWIM4512E The password match failed.
        at com.ibm.ws.wim.adapter.file.was.FileAdapter.login(FileAdapter.java:2015)
        at com.ibm.ws.wim.ProfileManager.loginImpl(ProfileManager.java:3381)
...

in SystemOut.log.

Digging further, I found this rather useful Technote: -

CWWIM4512E error during login requires reset of user's password in file registry

which relates to the same problem, and links to this even more useful Technote: -

How to reset the administrator's password in the file registry

which outlines how to fix the problem, summarized below: -

i) Start the wsadmin client

/opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/wsadmin.sh -conntype NONE

ii) Update the password for the admin user - wpadmin in my case

$AdminTask changeFileRegistryAccountPassword {-userId wpadmin -password <PASSWORD>}
$AdminConfig save
quit

iii) Update the password in the Portal and WAS configuration - assuming that you're using the same ID for both admin roles

cd /opt/IBM/WebSphere/AppServer/profiles/wp_profile/ConfigEngine
./ConfigEngine.sh wp-change-portal-admin-user -DnewAdminId=uid=wpadmin,o=defaultWIMFileBasedRealm -DnewAdminPw=<PASSWORD> -DnewAdminGroupId=cn=wpsadmins,o=defaultWIMFileBasedRealm
./ConfigEngine.sh wp-change-was-admin-user  -DnewAdminId=uid=wpadmin,o=defaultWIMFileBasedRealm -DnewAdminPw=<PASSWORD>

iv) Restart Portal

v) Login to WAS admin ( Integrated Solutions Console )

Use the Manage Users and Groups link to reset the password for, in my case, wpadmin to be consistent with the above scripts.

vi) Re-run the process to update the WAS Admin password

cd /opt/IBM/WebSphere/AppServer/profiles/wp_profile/ConfigEngine
./ConfigEngine.sh wp-change-was-admin-user  -DnewAdminId=uid=wpadmin,o=defaultWIMFileBasedRealm -DnewAdminPw=<PASSWORD>

vii) Restart Portal

Job done :-)

It's worth re-stating that  this is only necessary where you're using a file-system based password e.g. using WIM with a file registry e.g.

/opt/IBM/WebSphere/AppServer/profiles/wp_profile/config/cells/dmhw500/fileRegistry.xml

as evidenced in: -

...
  <userRegistries xmi:type="security:WIMUserRegistry" xmi:id="WIMUserRegistry_1" serverId="" serverPassword="{xor}" realm="defaultWIMFileBasedRealm" ignoreCase="true" useRegistryServerId="false" primaryAdminId="uid=wpadmin,o=defaultWIMFileBasedRealm" registryClassName="com.ibm.ws.wim.registry.WIMUserRegistry"/>
...

/opt/IBM/WebSphere/AppServer/profiles/wp_profile/config/cells/dmhw500/security.xml

Wednesday, 26 January 2011

Project Wildfire on OpenNTF - An Update

I blogged about Wildfire last year, but have noticed that it's gone through a few more iterations since I last looked at it: -

How many social networks are you a part of? Got Sametime and Connections? Maybe you have multiple of each. Got Twitter as well? Socialtext? Facebook? Wordpress? Bebo? Tumblr? etc etc etc. I bet you have work related networks, personal networks, Yellowverse networks even!

Most of us have many social networks that we try and keep up to date but it is getting harder every day with so many networks. Wildfire! allows you to update multiple communities in one go! You can add all of your networks in the Wildfire application and select which ones to send an update to. You can group them, sort by type, and even view your twitter lifestream from the one interface.

WildFire is a Lotus Notes 8.5 Sidebar Application to Update Status's across a wide range of Social Networks including Sametime, Connections, Socialtext, Facebook, GTalk, PingFm, Plurk, Tumblr, Twitter, Wordpress and more!

You can also have mulitple of each network type!!

Time to have another look, I reckon

Just Released - IBM Lotus Connections 3.0 Files Plug-in for Lotus Notes

I saw this in a Tweet from Luis Benitez last evening,

  • The IBM Lotus Connections 3.0 Files Plug-in provides the following features:

  • Upload files for your own use or to share with others
  • Drag and drop a file from your desktop or attached to a Notes e-mail to Files
  • Send a link to a file
  • Search for files
  • Sort files for easier browsing
  • Open Lotus Connections Files in a browser

Will be taking a look as soon as time allows :-)

It'll also be added to the Lotus Connections 3 documentation  in the Wiki soon.

Tuesday, 25 January 2011

IBM Software on Ubuntu Linux - Fun with DB2 UDB

As part of my ongoing mission to run all of my personal test/demonstration environments natively on Ubuntu Linux, I was hitting a problem with DB2 UDB as installed under-the-covers by WebSphere Portal Express.

I'd previously blogged on the dash vs. bash shell problem, and was able to get around that.

However, I then hit an issue whereby the installation was failing with: -

ERROR:DBI1131E The user ID  wpx70db2 is invalid.

being displayed in the installation log.

This turned out to be due to the earlier installation failing, but leaving bits of itself behind.

*CAVEAT* This is *NOT* the proper way to uninstall a software product *CAVEAT*

As a complete cheat, I'd been *cough* uninstalling merely by: -

  • deleting the contents of /opt/IBM*            rm -Rf /opt/IBM
  • deleting the contents of /opt/.ibm*            rm -Rf /opt/.ibm
  • removing the DB2 users                                     userdel --remove wpx70db2  and userdel --remove wpdb2fen

Sadly, alas, this wasn't enough - I had forgotten to remove the DB2 profiles registry - /var/db2/global.reg.

Again, being a complete hacker, I simply removed the /var/db2 directory - rm -Rf /var/db2.

*CAVEAT* This is *NOT* the proper way to uninstall a software product *CAVEAT*

Having done all of the above hackiness, I then tried the installation again.

This time, it installed but failed to start - this turned out to be because the DB2 instance wouldn't start.

When I tried to do this manually: -

su - wpx70db2
db2start

I got: -

SQL1084C Shared memory segments cannot be allocated. SQLSTATE=57019

Thankfully, somebody else had seen, and blogged the problem AND solution.

This required me to increase the memory available to DB2 by editing: -

/etc/sysctl.conf

and adding: -

kernel.sem=250 256000 32 1024
#Example shmmax for a 32-bit system
kernel.shmmax=1073741824
#Example shmall for 90 percent of 16 GB memory
kernel.shmall=3774873
kernel.msgmax=65535
kernel.msgmnb=65535

to increase the deafult segment size from 256 MB to 1 GB.

Once I did this, and ran sysctl -p, all was well.

I can now start DB2 at will, and WebSphere Portal Express 7 is running like a dream.

Friday, 21 January 2011

MLinked and Lotus Connections - Yet another reason why I want an iPhone ...

One of my Twitter friends, Sjaak Ursinus, drew my attention to this : -

mLinked and mLinked Free are native iPhone applications to communicate with your public or corporate social network based on IBM Lotus Connections. IBM Lotus Connections is the industry leading solution for social software. Through mLinked you are able to connect directly from your iPhone to your network, search for profiles, make status updates and read blogs.


mLinked Free features



mLinked features

  • Configure and connect to your Lotus Connections networks
  • Support multiple networks
  • Status updates
  • Search profiles
  • Profile and network information
  • Call and e-mail directly from profiles
  • Accept and send invitations
  • Read, browse and recommend blogs
  • Supports IBM Lotus Connections 2.5 and 3.0

As per the headline, this just makes me want to find a spare £500 or so to buy a darn iPhone or, perhaps, the iPad 2 :-)


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...