Friday 29 October 2010

Mailing function in Communities fails when alwaysUseGlobalSender set to yes

From Marco Ensing here is his experiences of diagnosing and solving a problem with the outgoing mailing function in Lotus Connections 2.5 Communities.

Marco used Stuart's Skype Community chat for Lotus Connections to share the problem and, a day or so later, the solution.

Want to know more ? Check out the blog post for this, and much much more.

Aide Memoire - Linux on Thinkpad - Debugging Hardware and OS

sudo dmidecode -t 1

returns: -

# dmidecode 2.9
SMBIOS 2.4 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: LENOVO
Product Name: 4061BL5
Version: ThinkPad W500
Serial Number: R8XNGZN
UUID: FA45B001-5083-11CB-A73D-F2BA9561D842
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: ThinkPad W500

lsb_release -irs; uname -a

returns: -

Ubuntu
10.10
Linux dmhw500 2.6.35-22-generic-pae #35-Ubuntu SMP Sat Oct 16 22:16:51 UTC 2010 i686 GNU/Linux

lspci | grep -i "vga"

returns: -

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3650

Tuesday 26 October 2010

Proxy server versus the HTTP plug-in: Choosing the best WebSphere Application Server workload management option

Since IBM® WebSphere Application Server Version 6.0, the WebSphere proxy server has been available to provide intelligent routing of HTTP requests based on configured routing rules and performance metrics. Although not as smart as the on-demand router component of IBM WebSphere Virtual Enterprise, the proxy server can provide services above-and-beyond the traditional WebSphere HTTP plug-in implementation seen in practically all IHS-fronted WebSphere Application Server clusters. This article compares these solutions so you can make determine the best choice for your requirements: -

http://www.ibm.com/developerworks/websphere/techjournal/1010_pape/1010_pape.html

WebSphere Technical Exchange Webcast - Troubleshooting the WebSphere Edge Load Balancer

This WebSphere® Support Technical Exchange is designed to review debug strategies for setting up a WebSphere Load Balancer for MAC address forwarding.

Date

02 Nov 2010

Time

11 AM EDT (GMT-4)

URL

http://www-01.ibm.com/software/websphere/support/TE/techex_H826356P06686J63.html

Thursday 21 October 2010

Out Now - Lotus Symphony 3

Nearly missed this, but I noticed that the most recent version of Lotus Symphony, 3, was released yesterday - October 20.

Having  used Symphony for most of the past three years, I've been getting more and more impressed as the version numbers have incremented.

Version 3 has been out in beta for a while now, and I've been using the latest version 4 beta.

Well, no more ....

Once the download completes, I shall remove the beta and install the GA version.

I'm running Symphony on Ubuntu 10.04, but ( as you'd imagine ) it's also available on other platforms,

          o Windows XP SP3, Windows Vista SP2, Windows 7
          o SuSE Linux Enterprise Desktop 11, RedHat Enterprise Linux 5 Update 4, Ubuntu 8.04
          o Macintosh OS X 10.5, Macintosh OS X 10.6.2, Intel only

Have you tried Symphony yet ?

If not, why not ? It's free, and might be a good investment of a little time.

In the words of Mrs Doyle, "...Aw go on, you'll have some. Go on go on go on go on go on go on go on go on GO ON!...."

The code is available from here.

Wednesday 20 October 2010

SPNEGO SSO Deployment in Lotus Quickr 8.5 Services for Lotus Domino

Earlier today, my IBM colleague, Jiao Jian, published the following article in the Lotus Quickr Wiki: -

SPNEGO SSO Deployment in Lotus Quickr 8.5 Services for Lotus Domino

The SPNEGO SSO is supported by Domino8.5.1, the Quickr8.5 bases on Domino8.5.1, so it also supports the SPNEGO SSO now, the SPNEGO is new SSO solution for Quickr8.5, this article will introduce how to configure the Quickr8.5's SPNEGO SSO, using the SPNEGO, user only needs log in Active Direcoty Domain by Domain User from a Windows Client, then will not meet any authentication dialogs when user visits the Quickr by browser or connector.

This is something that a few of our customers have been looking for, so I'm glad that we're finally able to talk about and, more importantly, implement it.




Released - WebSphere Portal version 6.1.0, fix pack 5 (6.1.0.5) and 6.1.5, fix pack 2 (6.1.5.2)

As of October 11, the most recent fix packs for WebSphere Portal 6.1 were released; 6.1.0.5 and 6.1.5.2 ( the latter referring to the 6.1.5 Feature Pack that was provided alongside version 6.1.0.3 last year ).

Here are some of the relevant documents: -

Resources available: WebSphere Portal version 6.1.0, fix pack 5 (6.1.0.5) and 6.1.5, fix pack 2 (6.1.5.2)

This includes the following Readme files: -

6.1.0.5: Readme for IBM WebSphere Portal 6.1 fix pack 5 (6.1.0.5) - stand-alone

6.1.0.5: Readme for IBM WebSphere Portal 6.1 fix pack 5 (6.1.0.5) - cluster

6.1.5.2: Readme for IBM WebSphere Portal 6.1.5 fix pack 2 (6.1.5.2) - stand-alone

6.1.5.2: Readme for IBM WebSphere Portal 6.1.5 fix pack 2 (6.1.5.2) - cluster

Am downloading as I type ... will update my Portal 6.1.5.2 installation at some point later today ...


Tuesday 19 October 2010

Lotus Connections and Lotus Quickr Community Chats via Skype

Stuart McIntyre <stuart@collaborationmatters.com> from Collaboration Matters is hosting ongoing community chats for Lotus Connections and Lotus Quickr practicioners on Skype.

If you're interested in joining, please let Stuart know.  

Lotus Connections 2.5 - Changing the way in which URLs are handled in the Homepage

One of our partners has a requirement to integrate Lotus Connections 2.5 into WebSphere Portal, using the Web Application Integrator portlets.

As part of this, they want to force any links opened from within the various widgets to open in the same, rather than a new page/window/tab. In this way, they can use WAI across all of the Connections features and preserve the Portal navigation.

With a lot of help from Adrian Spender, who leads the IBM Dublin development team responsible for the Homepage and aggregation services, I was able to come up with a solution.

In my own environment, I chose to focus on the Communities widget that appears within the My Page subpage of Homepage (!).

The links that this iWidget generate are controlled by an Extensible Stylesheet Language Transformations (XSLT) file which, for Homepage, is located here: -

/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/lc25Node01Cell/Homepage.ear/dboard.war/xslt

The XSL file ( communities.xsl ) contains the following two snippets: -

...
<xsl:template name="entries" match="/atom:feed">
                <xsl:for-each select="atom:entry">
                <div class="entry">
                        <div class="icons">
                                <a target="_blank">
                                        <xsl:attribute name="href">
...

and: -

...
   <h4>
                                <a target="_blank">
                                                <xsl:attribute name="href">
                                                        <xsl:value-of select="atom:link[@rel='alternate']/@href" />
                                                </xsl:attribute>
...

Having backed up the file, it's then a simple matter to replace: -

<a target="_blank">

with: -

<a>

and save the file.

Once this is done, I restarted WAS to clear down any cached copies of the XSL ( in my case, I found it necessary to restart the entire cluster, and clear down /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/temp/ and /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/wstemp/ as well as clearing my browser cache ).

Once Connections was restarted, I logged back into Homepage, and confirmed that, when I click on a Community name under Communities -> My Communities, that the Community itself opened up in the SAME rather than a NEW page.

Again, credit to Adrian for his advice :-)

WebSphere Portal v7 and WebDAV

Following a question from a friend, I've had a very quick play with the enhanced WebDAV support in WebSphere Portal v7.

It looks like one can now use a WebDAV client ( which provides file-system-like access via HTTP ) to interact with the WP7 page navigation, themes and hierarchy.

This provides a quick mechanism to create, edit, delete themes and pages etc. without needing to use the normal WP7 Administration portlets ( Manage Pages, Themes and Skins etc. ) or XMLAccess scripts.

Now, as regular followers of this blog will know, I use Ubuntu as one of my two main desktop operating systems ( the other being OSX ), and Ubuntu kindly comes with built-in support for WebDAV, via the Places -> Connect to Server menu structure. This is effectively part of the Nautilus file manager application.

Using this approach, I was able to connect to my local instance of WebSphere Portal v7 as follows: -

  1. Select Places -> Connect to Server
  2. Set Service type to WebDAV (HTTP)
  3. Set Server to the hostname of the Portal server ( dmhw500.uk.ibm.com or, in my case, localhost )
  4. Set Port to 10039 ( this is the new default HTTP port on which WebSphere Portal listens; in v6.0  this was 10038 and in v6.1 it was 10040, so it's time for another change ! )
  5. Set Folder to the appropriate URL e.g. /wps/mycontenthandler/dav/fs-type1/themelist ( for the available themes ) or /wps/mycontenthandler/dav/contentmodel/wps.content.root ( for the overall page hierarchy )
  6. Enter the User Name e.g. wpsadmin
  7. Enter a Bookmark name e.g. Themes etc. - this is useful when you want to come back to the folder at some later date
  8. Click Connect
  9. You will be prompted to enter the password for the user ( wpsadmin etc. ) and also to choose whether you want to cache the password in Ubuntu's rather useful keyring manager ( aka Seahorse )
You should now be able to see the folder structure, and browse the tree, view files, create/edit//delete etc. For me, I did see a dialogue box stating: - The item could not be renamed. Sorry, could not rename "untitled folder" to "plobb": The specified location is not mounted when I created or renamed a file or folder. This appeared to be some kind of timeout problem - once I hit [F5] to refresh, the previous action had "taken". That's as far as I've gone for the moment, but it does look rather useful. With thanks to Sunil Patil and his most excellent WebSphere Certification blog, including these three posts: - http://wpcertification.blogspot.com/2010/10/using-webdav-to-manage-portal-pages.html http://wpcertification.blogspot.com/2010/09/using-webdav-to-work-with-theme-in-wps.html http://wpcertification.blogspot.com/2010/10/modify-title-metadata-properties-of.html
 
***DANGER, WILL ROBINSON***
Remember, with great power comes great responsibility (TM), and the ability to DELETE files and folders could quickly break your Portal implementation far easier than one might using the more conventional approaches.
***DANGER, WILL ROBINSON***

*UPDATE 19/10/2010*
The WebDAV path: -

http://dmhw500.uk.ibm.com:10039/wps/mycontenthandler/dav/fs-type1/themelist


is known as a File System Entry Point, whereas there are other entry points for themes: -


http://dmhw500.uk.ibm.com:10039/wps/mycontenthandler/dav/themelist/all

and skins: -


http://dmhw500.uk.ibm.com:10039/wps/mycontenthandler/dav/skinlist/all


Note the syntax of these two URLs - other documents describe these URLs as: -



http://dmhw500.uk.ibm.com:10039/wps/mycontenthandler/dav/themelist
http://dmhw500.uk.ibm.com:10039/wps/mycontenthandler/dav/skinlist


e.g. without the /all suffix.


It transpires that some WebDAV clients don't handle this particularly well, hence the need for the /all suffix.


For me, using Nautilus 2.30.1 in Ubuntu 10.04, I needed to use the /all suffix.


Via these two Entry Points, I can, for example, create a new folder at the same level as the two existing themes - Page Builder and Portal - and that newly created folder will then appear dynamically / automagically as a new theme.


*UPDATE 19/10/2010*

Monday 18 October 2010

Troubleshooting Lotus Sametime 8.5 using WebSphere Application Server configuration files and logs

Rainer Vetter's blog, RV Has Parked, drew my attention to this article on the Sametime Wiki: -

The document below describes several WebSphere Application Server configuration files and logs that can be helpful for determining the current configuration of Lotus Sametime 8.5 and troubleshooting issues that occur in the Sametime environment. Document: Troubleshooting Lotus Sametime 8.5 using WebSphere Application Server configuration files and logs

The topics covered in the document are: -
  • WebSphere Application Server configuration files in the context of Sametime
  • How to manually synchronize Sametime configuration changes
  • How to automate synchronization of nodes
  • WebSphere Application Server log files in the context of Sametime
  • How to enable Trace for WebSphere Application Server based Sametime servers
  • How to bind ports


Hmmm, security problems with WebSphere Application Server 6.1.0.29

I hit an interesting problem with my Lotus Connections 2.5 server today - the symptoms including my apparent inability to log in using the WAS administrator ID via the Integrated Solutions Console: -

https://lc25.uk.ibm.com:9043/ibm/console/logon.jsp

as well as these errors in the SystemOut log: -

[10/18/10 18:34:24:240 BST] 00000039 LTPAServerObj E   SECJ0369E: Authentication failed when using LTPA. The exception is <null>.
[10/18/10 18:36:32:799 BST] 0000003c FormLoginExte E   SECJ0118E: Authentication error during authentication for user lcadmin

and this error: -

ADMU0002E: Exception attempting to process server dmgr: javax.management.JMRuntimeException: ADMN0022E: Access is denied for the getState operation on Server MBean because of insufficient or empty credentials.

when I tried to administer the server from the command line using the command: -

/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/serverStatus.sh -all -user lcadmin -password wpsadm1n

My first thought was that LDAP was down, so I checked the VM in which LDAP ( IBM Tivoli Directory Server 6.2 ) and DB2 are running, but all appeared to be well. I could PING the LDAP server from the Connections box, and also TELNET to it on port 389, indicating that LDAP was ready and willing to receive.

I even stopped and started LDAP, but to no avail.

However, when I looked further into the logs, by tailing the LDAP error log: -

/home/dsrdbm01/idsslapd-dsrdbm01/logs/ibmslapd.log

I found: -

10/18/2010 09:09:40 PM GLPSRV200I Initializing primary database and its connections.
10/18/2010 09:09:41 PM GLPRDB001E Error code -1 from function:" SQLConnect " ldapdb2b .
10/18/2010 09:09:41 PM GLPSRV064E Failed to initialize be_config.
10/18/2010 09:09:41 PM GLPSRV040E Server starting in configuration only mode due to errors.
10/18/2010 09:09:41 PM GLPCOM024I The extended Operation plugin is successfully loaded from libloga.so.
10/18/2010 09:09:41 PM GLPCOM024I The extended Operation plugin is successfully loaded from libidsfget.so.
10/18/2010 09:09:41 PM GLPSRV180I Pass-through authentication is disabled.
10/18/2010 09:09:41 PM GLPCOM003I Non-SSL port initialized to 389.
10/18/2010 09:09:41 PM GLPSRV009I 6.2.0.0 server started.
10/18/2010 09:09:41 PM GLPSRV036E Errors were encountered while starting the server; started in configuration only mode.

and, when I looked again at the logs generated by my custom start LDAP script -

su db2inst1 -c '/home/db2inst1/sqllib/adm/db2start'
export DB2INSTANCE=dsrdbm01
/opt/ibm/ldap/V6.2/sbin/ibmslapd start

I saw the same errors: -

GLPSRV200I Initializing primary database and its connections.
GLPRDB001E Error code -1 from function:" SQLConnect " ldapdb2b .
GLPSRV064E Failed to initialize be_config.
GLPSRV040E Server starting in configuration only mode due to errors.

Thinking that this was looking like a DB2 "problem", I decided to attempt a connection to the database to find out for sure: -

su - dsrdbm01
db2 connect to LDAPDB2B

which returned: -

SQL8001N  An attempt to connect to the database failed due to a product licence problem.  SQLSTATE=42968

which, according to: -

db2 ? SQL8001N

means: -

SQL8001N An attempt to connect to the database failed due to a product licence problem. 

Explanation:

The connection attempt failed due to one of the following DB2 licensing issues:

o   A license key is not present. 
o   A license key has not been correctly installed. 
o   A license key has expired. 
o   This DB2 product edition does not support a license key. 

User Response:

Instruct your database administrator to verify that a valid license key for the DB2 product is installed correctly, and has not expired. 

o   Use the db2licm -l command or DB2 License Center to view licenses.
o   Use the db2licm -a command or DB2 License Center to register a license.
o   You can obtain a license key for the product by contacting your IBM representative or authorized dealer. 

sqlcode :  -8001
sqlstate :  42968

Following the recommendation, I checked the DB2 license key: -

db2licm -l

which returned: -

Product name:                     "DB2 Enterprise Server Edition"
Expiry date:                      "Expired"
Product identifier:               "db2ese"
Version information:              "9.1"

Thankfully, I had the DB2 Enterprise Server Edition 9.1 license key available, in a previously downloaded package on my USB drive.

I installed it using the command: -

db2licm -a ~/db2ese_t.lic

and re-ran the command: -

db2licm -l

which now returns: -

Product name:                     "DB2 Enterprise Server Edition"
License type:                     "Trial"
Expiry date:                      "01/15/2011"
Product identifier:               "db2ese"
Version information:              "9.1"
Annotation:                       "-5;(_t)"

and also re-tested the connection: -

db2 connect to LDAPDB2B

which now returns: -

   Database Connection Information

Database server        = DB2/LINUX 9.1.9
SQL authorization ID   = DSRDBM01
Local database alias   = LDAPDB2B

Finally, I stopped LDAP: -

export DB2INSTANCE=dsrdbm01
/opt/ibm/ldap/V6.2/sbin/ibmslapd -k

and started it again: -

su db2inst1 -c '/home/db2inst1/sqllib/adm/db2start'
export DB2INSTANCE=dsrdbm01
/opt/ibm/ldap/V6.2/sbin/ibmslapd start

Once I restarted my WAS instance ( sadly I had to force it to quit using the "nuclear" kill switch of killall java ), I was able to authenticate into WAS using the ISC, run commands such as serverStatus.sh etc.

The moral of the story - if you get an authentication problem with WAS, check that your DB2 license hasn't expired :-)

Wednesday 13 October 2010

Using the updated IBM Content Templates Catalog application and the newly released IBM WebSphere Portal Solution Installer ...

Following on from earlier blog posts here and here and here, I have spent some time today looking at the updated IBM Content Templates Catalog asset in the Catalog as the asset has been updated to support WebSphere Portal v7.

One other major change is that the CTC asset is now installable using the new Portal Solution Installer solution: -

The IBM WebSphere Portal Solution Installer is a utility for installing, uninstalling and updating solutions or applications to an instance of WebSphere Portal Server. The basis of the Solution Installer is a standard format for application distribution, the Portal Application Archive (PAA) format. This will make it more straightforward to install Portal Applications without the need for custom installation scripts.

The Solution Installer should be used to install applications which are in the PAA format and  can be used by application developers to prepare their applications to be distributed in the PAA format.

The asset can be downloaded from the Greenhouse here.

Having downloaded the Solution Installer package ( as SolutionInstaller.zip ), you can expand it: -

cd /tmp
unzip /home/hayd/Downloads/SolutionInstaller.zip

and then customise it to support WebSphere Portal 7 - it defaults to version 6: -

cd /tmp/SolutionInstaller/components/SolutionInstaller/
cp SolutionInstaller.properties SolutionInstaller.properties.original
fromdos SolutionInstaller.properties                            - I needed to perform this step as the file had been formatted with CR/LF characters from Windows Notepad or similar
vi SolutionInstaller.properties

by changing: -

portal_version=6

to: -

portal_version=7

Once done, copy it to the Portal Server directory: -

cp -Rf /tmp/SolutionInstaller/ /opt/IBM/WebSphere/PortalServer/

and install it using ConfigEngine: -

cd /opt/IBM/WebSphere/wp_profile/ConfigEngine/
./ConfigEngine.sh -install -assemblyRoot /opt/IBM/WebSphere/PortalServer/SolutionInstaller -installPath /opt/IBM/WebSphere/PortalServer -user wpsadmin -pwd passw0rd -hostname dmhw500.uk.ibm.com -port 10025 -offeringName PortalServer -assemblyName SolutionInstaller -expandBinaries false

On completion, you should validate the installation: -

cat /opt/IBM/WebSphere/wp_profile/ConfigEngine/registry.xml | grep SolutionInstaller

and check for the following lines: -

<snip>
...
    <assembly xmi:id="Assembly_1286957656418" assemblyName="SolutionInstaller" installLocation="/opt/IBM/WebSphere/PortalServer/SolutionInstaller" lastModified="10/13/2010" version="6.1.0.0">
      <component xmi:id="Component_1286957656506" compName="components/SolutionInstaller" installLocation="/opt/IBM/WebSphere/PortalServer/SolutionInstaller/components/SolutionInstaller" version="6.1.0.0"/>
...
</snip>

Add passwords ( WasPassword and PortalAdminPwd )  to the ConfigEngine properties file: -

vi /opt/IBM/WebSphere/wp_profile/ConfigEngine/properties/wkplc.properties

Setup the Solution Installer

./ConfigEngine.sh si-setup

and look for the "BUILD SUCCESSFUL" message.

Download the CTC from here and unpack it: -

cd /tmp
unzip /home/hayd/Desktop/1WP1002G6.zip
unzip 1WP1002G6_7.zip
cd 1WP1002G6

and then install it using the newly installed Solution Installer: -

ConfigEngine.bat install-paa -DPAALocation=/tmp/1WP1002G6/wp.ctc.paa

and check for the "BUILD SUCCESSFUL" message.

Once this has completed, run the following command to complete the registration of the CTC asset: -

./ConfigEngine.sh deploy-paa -DappName=wp.ctc

Again, this should completed with a "BUILD SUCCESSFUL" message - for me, this took 23 minutes on a Thinkpad W500 dual core with 8 GB RAM. WARNING, YOUR MILEAGE MAY VARY !!

Post installation, I accessed my portal server via the normal URL, and see the purty loveliness that is the CTC content.

Enjoy !

PS For me, on my Ubuntu box, I hit the "Too many open files" exception when I initially ran this command, so I needed to: -

(a) Stop WebSphere Portal
(b) Increase the hard/soft files handle limit using the command ulimit -n 10240
(c) Start WebSphere Portal
(d) Re-run the deploy-paa command again

I'll fix the ulimits permanently at a later date ...


Open Mic call: ID Vault & Notes Shared Login - 20 October 2010

IBM will host an ID Vault & Notes Shared Login Open Mic conference call with Lotus Development and Support Engineers on 20 October 2010.

Here's the URL for the call itself: -

http://www-01.ibm.com/support/docview.wss?uid=swg21432993

with dial-in details and LotusLive web conference information.

In addition, the team are looking for input, questions etc. in advance of the call, via a response to this Notes/Domino 8.5 Forum posting: -

http://www-10.lotus.com/ldd/nd85forum.nsf/5f27803bba85d8e285256bf10054620d/f21a3f427dd0ef84852577b2005d66b9?OpenDocument

Are you using ID Vault or Notes Shared Logon ? If so, I'd recommend you check this out ...

Lotus Web Content Management >Troubleshooting

The Lotus WCM Wiki has a nice ( and growing ) collection of articles and documents describing how to identify, resolve and avoid problems with WCM: -

http://www-10.lotus.com/ldd/portalwiki.nsf/xpViewCategories.xsp?lookupName=WCM%20Troubleshooting

It's definitely worth a read if you're doing anything with WCM.

Enjoy !

Tuesday 12 October 2010

Lotus Web Content Management - LunchByte Sessions

Cody Burleson has pulled together some useful 10-minute sessions on Lotus WCM. Currently, we have these two: -

Lunch Byte - WCM Security

Lunch Byte - Understanding WCM Libraries

but I'm sure that more are coming.

Go on, check them out, you know you want to ...

Friday 8 October 2010

Securing Lotus Connections via Tivoli Access Manager for e-Business ( WebSEAL )


One of our UK customers, City University, has been having fun and games with LC and TAM/WebSEAL integration - their chief WebSphere guru, Sharon Bellamy, has blogged about her experiences here, as has the TAM consultant from a Tivoli partner, Pirean, Stephen Swann.   Stephen also references a guide from our own En Hui Chen, on the Wiki here.   This is something that I have not yet tried, as we didn't need to use WebSEAL with Connections, as we were accessing Connections only through Portal ( via WebSEAL ) rather than directly as in Sharon's case.  

Problems editing Gnome 2.30.2 menus on Ubuntu 10.04

Having performed many many installations of various WebSphere products since I first installed Ubuntu 10.04 on my new Thinkpad back in June, I had a plethora of IBM WebSphere menus appearing in the Applications menu that, for me, sits in the top-left corner of the screen, flagged with the Ubuntu logo.

I'd tried, and failed, to remove these entries many many times - I'd right-click on Applications, and choose Edit Menus.

This would bring up the appropriate tool ( cleverly called Alacarte - A La Carte ), which would show all of the entries, but I'd be unable to edit them.

If I ran the alacarte command as root ( having previously run sudo bash ), I could see the entries for the root user, but not for my own local user - hayd.

I then ran the alacarte command from a terminal session, as hayd, and noticed that, when I tried to change a menu entry, I was getting: -

IOError: [Errno 13] Permission denied: '/home/hayd/.config/menus/applications.menu.undo-0'

Therefore, via my root console, I changed the ownership of the appropriate directory structure: -

chown -R hayd:hayd /home/hayd/.config/

and retried the update using alacarte and I'm in like Flynn, with a nice neat set of menus :-)

Tuesday 5 October 2010

ephox WebRadar

Had an interesting meeting yesterday with Tracey and Natalie from ephox at which they showed version 2 of their new WebRadar product.

This looks to be rather useful, as it allows a Lotus Web Content Management (WCM) customer to analyse and report on their web content, using meta-data to provide details of, for example, content item owners, content recently published, content soon to expire etc.

In addition, along with reporting, the user can also "multi-edit" a series of content items to, for example, quickly change the owner or add a piece of missing meta-data.

The tool includes a search crawler-like scheduled task to analyse the content and a 100% portal-based dashboard to provide the reporting, with single-click access to the original content item ( assuming the user has authority ) and the ability to export the reports to CSV files for off-line analysis.

ephox have an evaulation option up on their website here: -

http://webradarwcm.com/

as well as a set of videos showing how it works.

This, along with EditLive! and the newly released TinyMCE, are a good set of tools, and are worth a look.

Sunday 3 October 2010

Skype on Linux - Hiding off-line contacts

Having been a great fan of Skype for many many years, it's always annoyed me that, on the Linux platform, I couldn't see an obvious way to hide contacts that are off-line - on Mac and Windows, this is an easy option, yet on the Linux platform it's always been something I couldn't achieve.

Having spent a half hour or so online this morning, I finally found this undocumented "hack" and it's embarrassingly simple - press the keys [Ctrl] and [U] to  hide those contacts who are off-line; pressing [Ctrl] + [U] again "unhides" the contacts again.

So, in short, use [Ctrl] + [U] to hide and "unhide" the contact list.

Easy when you know how :-)

Saturday 2 October 2010

Adjusting the picture size on the Samsung D75

I'm sharing this, because it's something that I wasn't able to find online or in the manual.

We have a Samsung D75 digital camera, which gets used occasionally ( as the Fuji Finepix S7000 does most of the heavy lifting ).

At present, the D75 has a measly 32 MB SD card, and we were finding that a few pictures would wipe it out.

Looking at the display at the rear of the camera, it turned out that we were taking 3M pictures ( which are a lot bigger than the usual 1M that the camera used to do ).

I assumed that this could be changed via the camera's Setup menu, but sadly no such setting existed.

In a moment of madness, I tried pressing other buttons on the rear of the camera, until I found the one marked with a rubbish/trash can - this is usually used to delete pictures from the camera's disk. However, it has a second role; in normal picture taking mode ( as opposed to review mode ), it has a +/- icon on it, which allows one to increase the resolution ( to a massive 7M ) or reduce it downwards - guess which way I went.

So, now you know ....

PS Am going to buy a slightly larger SD card for the camera, given that a 4 GB card is about £5 now :-)

I may then get to use the camera more often - rather than relying upon the rather awful camera in my BlackBerry .....

Friday 1 October 2010

Adding Java to Mozilla Firefox 3.6.9 on Red Hat Enterprise Linux 5.5

Having helped a friend get this working earlier, I thought I'd document it pour la encourager les autres.

Download the latest Java 6 JRE as an RPM from: -

http://javadl.sun.com/webapps/download/AutoDL?BundleId=40906

This comes down as a 20 MB .BIN file: -

[root@wpx7 ~]# ls -al jre-6u21-linux-i586-rpm.bin

-rw-r--r-- 1 root root 20694516 Oct  1 16:01 jre-6u21-linux-i586-rpm.bin

which needs to be set as executable - I choose to do this using the chmod +x command: -

[root@wpx7 ~]# chmod +x /root/jre-6u21-linux-i586-rpm.bin

[root@wpx7 ~]# ls -al jre-6u21-linux-i586-rpm.bin

-rwxr-xr-x 1 root root 20694516 Oct  1 16:01 jre-6u21-linux-i586-rpm.bin

Once this is done, the .BIN file can be executed to carry out the RPM installation: -

[root@wpx7 ~]# /root/jre-6u21-linux-i586-rpm.bin

Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
  inflating: jre-6u21-linux-i586.rpm 
Preparing...                ########################################### [100%]
   1:jre                    ########################################### [100%]
Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...

Done.

Having done this, I need to identify the current JRE in use: -

[root@wpx7 ~]# which java
/usr/bin/java

[root@wpx7 ~]# ls -al /usr/bin/java

lrwxrwxrwx 1 root root 22 Jul  2 06:44 /usr/bin/java -> /etc/alternatives/java

and then replace it with the newly downloaded/installed Java: -

[root@wpx7 ~]# rm /usr/bin/java
rm: remove symbolic link `/usr/bin/java'? y

[root@wpx7 ~]# ln -s /usr/java/latest/bin/java /usr/bin/

Having done this, the command which java still returns: -

/usr/bin/java

but we have a different version: -

[root@wpx7 ~]# java -version

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)

The final trick is to add the new JRE's plugin to Firefox.

Now this has changed over the years, so it took me a while to find it - in the current Firefox 3.6 world, the easiest way is to create a link to the plugin in a directory underneath the user's home directory.

First we locate the plugin: -

[root@wpx7 ~]# locate libnpjp2

/opt/IBM/WebSphere/AppServer/java/jre/lib/i386/libnpjp2.so
/opt/IBM/WebSphere/AppServer/updateinstaller/java/lib/i386/libnpjp2.so
/usr/java/jre1.6.0_21/lib/i386/libnpjp2.so

As you can see, I already have the WebSphere JRE, but I'm looking to use the Sun JRE within my browser, so I need the third copy of the plugin: -

[root@wpx7 ~]# ls -al /usr/java/jre1.6.0_21/lib/i386/libnpjp2.so

-rwxr-xr-x 1 root root 77510 Jun 22 09:47 /usr/java/jre1.6.0_21/lib/i386/libnpjp2.so

The plugin will need to go into a directory called: -

/root/.mozilla/plugins

( as root is my user )

Although the .mozilla directory exists under my home directory ( /root or ~ for short ), the plugins subdirectory does not.

[root@wpx7 ~]# mkdir /root/.mozilla/plugins

Well, it does now :-)

I now need to create a symbolic link ( aka short-cut ) from the plugin file ( libnpjp2.so ) into this new directory: -

[root@wpx7 ~]# ln -s /usr/java/jre1.6.0_21/lib/i386/libnpjp2.so /root/.mozilla/plugins/

Having done this, I can start Firefox, and type the URL/command: -

about:plugins

into the Address bar.

This, amongst other things, shows me: -

Java(TM) Plug-in 1.6.0_21

    File: libnpjp2.so
    Version:
    The next generation Java plug-in for Mozilla browsers.

MIME Type Description Suffixes Enabled
application/x-java-vm Java™ Plug-in Yes
application/x-java-applet Java™ Plug-in Applet Yes
application/x-java-applet;version=1.1 Java™ Plug-in Yes
application/x-java-applet;version=1.1.1 Java™ Plug-in Yes
application/x-java-applet;version=1.1.2 Java™ Plug-in Yes
....

Having done this, I can now test the newly installed and configured Java plugin, by opening a browser session to: -

http://www.java.com/en/download/help/testvm.xml

at which point I see an applet loading, and: -

Your Java is working
Java update available

Your Java configuration is as follows:

Vendor: Sun Microsystems Inc.
Version: Java 6 Update 21
Operating System: Linux 2.6.18-194.11.3.el5
Architecture: i386

which is nice :-)

Visual Studio Code - Wow 🙀

Why did I not know that I can merely hit [cmd] [p]  to bring up a search box allowing me to search my project e.g. a repo cloned from GitHub...