Thursday 30 January 2014

IBM BPM 8.5 - Learning about IBM Process Designer

Saw this from IBM BPM Support on Twitter: -

Thirteen tutorials for IBM BPM's Process Designer V8.5 tooling

Process Designer
  • Adding ad hoc actions to process applications
  • Improving process applications to increase user efficiency
  • Getting Started with IBM Process Designer V8.5 Part 1
  • Getting Started with IBM Process Designer V8.5 Part 2
  • Creating a dashboard
  • Tracking groups
IBM Blueworks Live
  • IBM Blueworks Live integration with IBM BPM V8.5 Coaches
  • Coaches enhancements in IBM BPM V8.5
  • Introduction to coaches and coach views
  • Using coach templates
Web services

  • What is new in web services

Work management
  • Teams for flexibility

ECM consistent document management 

  • Introduction to ECM consistent document management

Tuesday 28 January 2014

IBM Redbooks - There's an app for that - dare I say "iRedbook" ??

This from my IBM frolleague, Jon Marshall : -

IBM Redbooks® publications give you what you need, when and where you need it. 

The IBM Redbooks mobile app provides on-the-go access to Redbooks publications, announcements, and social sites. Available for iOS devices.

For nearly 50 years, IBM Redbooks publications have provided trusted product positioning, expert guidance, and installation and implementation experiences. Responding to the evolving needs of our users, we now also offer materials that provide the "just in time" technical information users need to quickly understand offerings and to make effective decisions. From classic books and papers to new Solution Guides and Product Guides, Point-of-View publications, blogs, and videos, we provide what you need, when and where you need it. And now you can access all of this content in one mobile app on your iOS device. 

Features of the app include:

•Read thousands of Redbooks publications, from classic Redbooks to the latest Solution Guides, Product Guides, Redguides, and more
•Find Redbooks publications by those most recently published or updated, most popular, subject area, or publication type
•Search within publications and create bookmarks 
•Save your favorite publications and organize them in convenient, customizable folders
•Share what you're reading through Facebook, Twitter, and email 
•Get the latest news from Redbooks, including announcements and listings of new residencies and workshops
•Connect with Redbooks through social channels, from Facebook to Twitter and more
•Link to the latest Redbooks blog posts and videos

Knowledge Collection: Troubleshooting documents for IBM Business Monitor

From @IBM_BPM on Twitter: - 


This Knowledge Collection is a focused compilation of links to documents for troubleshooting.


A Knowledge Collection is a focused compilation of links to documents that share a common theme. Knowledge Collections are navigation aids that organize content to help users quickly find relevant information. Knowledge Collections are not designed to be an all-inclusive list of all documents dealing with the specific theme.

Saturday 25 January 2014

Obfuscating JavaScript code in Worklight applications

Saw this on Twitter via IBM developerWorks: -

The goal of this post is to shed some light on what obfuscation is, what JavaScript obfuscation is, how to obfuscate your JavaScript code using Google Closure Compiler app, how to integrate JavaScript code obfuscation into a larger build process and how it all comes together in a Worklight context.

For me, this is a useful guide to obfuscation of JS code, regardless of the target platform - it may also be relevant to IBM BPM Coaches, which make heavy use of JS.

Friday 24 January 2014

WebSphere Application Server 8 - Unpacking the Binaries

Just going the build process for IBM Business Process Manager 8.5, IBM Operational Decision Manager 8.5 and IBM Business Monitor 8.0, and need to install both WAS 8.0 and 8.5.

This blog post is an aide memoire to remind me what to unpack from my trusty USB drive: -

WAS 8.0

IBM WebSphere Application Server Network Deployment V8.0 (1 of 4)
IBM WebSphere Application Server Network Deployment V8.0 (2 of 4)
IBM WebSphere Application Server Network Deployment V8.0 (3 of 4)
IBM WebSphere Application Server Network Deployment V8.0 (4 of 4)
IBM WebSphere Application Server V8.0 Supplements (1 of 4)  
IBM WebSphere Application Server V8.0 Supplements (2 of 4)
IBM WebSphere Application Server V8.0 Supplements (3 of 4)
IBM WebSphere Application Server V8.0 Supplements (4 of 4)

Happily WAS 8.5 uses a much more sensible file naming convention: -

WAS 8.5

( and there are fewer of them ! )

Thursday 23 January 2014

Building a Worklight mobile application without code in Worklight v6.1

This from our very own Jon Marshall: -

Worklight v6.1 has a couple of interesting new capabilities (amongst many others of course!), which I wanted to explore here:

• Service Discovery – allows you to introspect an existing web service or SAP endpoint to automatically create a Worklight adapter to interface to it
• WebSphere Application Framework – allows you to create a mobile application framework without coding to interface with the discovered service.  This is currently in beta

We are going to use an existing weather forecast web service to create a very simple weather forecast mobile application.

Setting up my first Network Attached Storage

I was fortunate enough to get my hands on a brand-new Synology DS414 Network Attached Storage (NAS) device a few weeks back, and have finally had time to set it up.

Initially, I wanted to run it directly from the Ethernet port of my MacBook Pro, but I didn't have a spare Ethernet hub/switch kicking around.

Therefore, I was hoping that I could simply plug the Mac's Thunderbolt Ethernet cable into the DS414, and magically connect.

Well, it wasn't quite as simple as that.

I plugged the supplied Ethernet cable into one of the NAS' two ports, and also into the Thunderbolt adapter, which was plugged into my Mac.

I then launched the Synology Assistant software ( downloaded from their website, as I couldn't easily read the supplied CD-ROM on my diskless Mac ): -

and asked it to scan the network for the NAS.

Sadly, it responded with the electronic equivalent of a raspberry: -

I double-checked the Ethernet connection on the Mac: -

which suggests to me that the Synology box includes a DHCP server; I say that because (a) I didn't set the IP address of and (b) I've seen reference to 169.254.x.x addresses on various Synology fora.

So what was going on ?

I rebooted the NAS a few times, and also did a reset ( using a safety pin stuck into the reset port on the backside of the device ), but to no avail.

Then I remembered something else I'd read on one of the Synology forums a week or so ago - my Mac was connected to not one, but TWO networks - Thunderbird Ethernet AND WiFi.

What if the Synology Assistant software was only looking on the WiFi LAN, and ignoring the Ethernet LAN ?

So, to test this, I turned off the WiFi adapter, meaning that Ethernet was the only LAN in town.

I re-ran the Search function and …. hey presto, abracadabra and voila …. HERE'S Johnny ( or, to be more precise, HERE'S SYNOLOGY !! ) : -

I double-clicked on the DiskStation line in the Assistant, and up popped a link, in Firefox, to the NAS: -

from where I could then install the DiskStation Manager (DSM) software: -

which I'd downloaded from the Synology site here.

I'm now up and running nicely, creating Shared Folders and updating DSM to the latest level ( even though I only downloaded it yesterday evening !! ).

PS For the record, I have my NAS connecting to my WiFI using the teeniest little WiFi adapter that I bought for my Raspberry Pi a while back: -

Wednesday 22 January 2014

IBM Business Process Manager v8.5 - A Comparison

I found this on the IBM website whilst looking for something else - it must be serendipity :-)

IBM Business Process Manager v8.5 - Compare editions

That's only part of the picture :-)

Want to see more ?

Then go here: -

Tuesday 21 January 2014

Argh, escaping from the hell of escape characters with WebSphere Application Server

This follows on from my earlier blog post: -

and reflects a very annoying hour or so, trying ( and failing ) to create WAS profiles using WAS 8.5.

This is what I kept seeing: -

$ /opt/IBM/WebSphere/AppServer/bin/ -response dmgrBPM85.rsp 

The following validation errors were present with the command line arguments: 
signingCertDN: Enter only one value for the signingCertDN parameter.
importPersonalCertKSType: importPersonalCertKSType cannot be empty.
importSigningCertKS: importSigningCertKS cannot be empty.
personalCertDN: Enter only one value for the personalCertDN parameter.
importSigningCertKSType: importSigningCertKSType cannot be empty.
importPersonalCertKS: importPersonalCertKS cannot be empty.
importPersonalCertKSAlias: importPersonalCertKSAlias cannot be empty.
importSigningCertKSAlias: importSigningCertKSAlias cannot be empty.

using a response file like this: -

-profilePath=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01,ou=Root Certificate,ou=bpm85Cell,ou=bpm85Node1,o=IBM,c=US

I've highlighted the two most annoying messages, as the others shouldn't have appeared, as I'm not importing signer or personal certificates.

Can you spot what I missed ?

Yes, that's right - I'd NOT read my own blog post, and escaped out the commas.

This is what I wrote last time: -

It took me a while to work it out, but the WAS Information Center was of great use: -

manageprofiles command

which says: -

When you specify a single value that contains a comma character, such as the distinguished names for the personalCertDN and signingCertDN parameters, use a double-backslash before the comma character. For example, here is how to specify the personalCertDN value with a distinguished name:\\,ou=Root Certificate\\,  ou=testCell\\,ou=testNode01\\,o=IBM\\,c=US 


So, once I amended my response file: -

profilePath=/opt/IBM/WebSphere/AppServer/profiles/Dmgr01\\,ou=Root Certificate\\,ou=bpm85Cell\\,ou=bpm85Node1\\,o=IBM\\,c=US

it all worked nicely.

Now to do the same thing for the Node profile …..

Aide Memoire - Java, Unix and Host Names

I can't precisely remember why I needed to know this, but I'm sure it'll be useful some day.

Here's a Java class: -


public class hostStuff
public static void main(String[] args)

InetAddress address = InetAddress.getLocalHost();
System.out.println("My IP address ( via InetAddress.getLocalHost() ) is " + address.toString());

System.out.println("My hostname ( via InetAddress.GetHostName() ) is " + address.getHostName());
catch (UnknownHostException e)
       System.out.println("I'm sorry. I don't know my own name.");

byte[] ipAddr = new byte[] { 127, 0, 0, 1 };
InetAddress addr = InetAddress.getByAddress(ipAddr);
String hostnameCanonical = addr.getCanonicalHostName();

System.out.println("My canonical hostname ( via InetAddress.getByAddress() and InetAddress.getCanonicalHostName() ) is " + hostnameCanonical);
catch (UnknownHostException e)
System.out.println("I'm sorry, I don't even know my own name.");

and here's what it returns ( on my Mac ) : -

$ java hostStuff
My IP address ( via InetAddress.getLocalHost() ) is DMHMBP.local/
My hostname ( via InetAddress.GetHostName() ) is DMHMBP.local
My canonical hostname ( via InetAddress.getByAddress() and InetAddress.getCanonicalHostName() ) is localhost

and here's what it returns ( on Red Hat Enterprise Linux ): -

$ java hostStuff
My IP address ( via InetAddress.getLocalHost() ) is
My hostname ( via InetAddress.GetHostName() ) is
My canonical hostname ( via InetAddress.getByAddress() and InetAddress.getCanonicalHostName() ) is localhost

I suspect I was trying to find out the difference between a hostname and a canonical hostname, as returned by different Java methods.

Nice, eh ?

WebSphere Application Server - What is Health Management ?

This rather useful IBM Technote came my way via Twitter thanks to @IBM_AppServer


What is Health Management?


Health Management is part of WebSphere Virtual Enterprise environment, which is integrated in WebSphere Application Server 8.5. 

Intelligent Management provides a health management feature to monitor the status of your application servers, as well as sense and respond to problem areas before an outage occurs. You can manage the health of your application serving environment with a policy-driven approach that enables specific actions to occur when monitored criteria are met. For example, when memory usage exceeds a percentage of the heap size for a specified time, health actions can run to correct the situation.

IBM Redbook - Configuring and Deploying Open Source with WebSphere Application Server Liberty Profile

Thanks to one of my IBM colleagues, Richard Gamblin, for sharing this: -

This IBM® Redbooks® publication explains the capabilities of WebSphere® Application Server Liberty profile, whereas, the product is extremely lightweight, easy to install, and very fast to use. It provides a convenient and capable platform for developing and testing your web and OSGi applications. The Liberty profile server is built using OSGi technology and concepts. The fit-for-purpose nature of the run time relies on the dynamic behavior inherent in the OSGi framework and service registry. As bundles are installed or uninstalled from the framework, their services are automatically added or removed from the service registry. The result is a dynamic, composable run time that can be provisioned with only what your application requires and responds dynamically to configuration changes as your application evolves.

This IBM Redbooks publication will help you install, tailor and configure several popular Open Source technologies that can be deployed effectively with the WebSphere Application Server Liberty profile. The following list represents a selection of popular open source toolkits for the Liberty profile server:
> Apache Maven
> Spring Framework
> Hibernate
> Jenkins
> Opscode Chef
> Arquillian
> MongoDB

Each product was selected based on the significant enhancements they provide to the web application development process.

In this IBM Redbooks publication the 'Todo' sample to is used to demonstrate the usage of multiple open source framework/toolkit with Liberty profile server including: Maven, MongoDB, Spring, JPA, Arquillian, Wicket, etc. The 'Todo' sample is a simple application, it can be used to create, update and delete todo items, todo lists, and put the todo items into related todo list.

IBM Operational Decision Manager - What It Is

IBM® Operational Decision Manager V8.5.1 helps you detect and react to data patterns within a specified time period and provide the appropriate response to transactional and process-oriented business systems. It enables the creation of applications to intelligently automate a wide range of decisions, from product promotions to fraud determinations.

IBM Operational Decision Manager helps you adapt quickly to changing conditions, align across business and IT and act with precision and reliability. It provides visibility to achieve clearer line of sight to business operations, collaboration capabilities to foster cross-functional and cross-divisional outcomes and built-in governance to align business operations with strategic intent.

IBM Operational Decision Manager V8.5.1 delivers:

• A new Decision Engine to help improve load time and execution time of decision services within Decision Server.
• A new incremental migration tool in Decision Center to help migrate database content from one version to another on a per project basis.
• Greater deployment opportunities with new application server's support and availability of the business Console all supported ones.

plus an ebook: -

Operational Decision Management (ODM) is the evolution of business rules management. It provides a complete, easy-to-use system for automating day-to-day operational decisions that allows business people and IT to collaborate on business rules.

ODM not only allows you to automate your business rules. It enables you to detect real-time business events (such as a person making a credit card charge) and use rules to automate the appropriate response to those events.

Download this eBook to learn the basics of Operational Decision Management and whether it's right for your organization. In this useful guide, you'll also learn how to get started and what to look for in best-in-class ODM systems.

Table of Contents
• Chapter 1: What is Operational Decision Management?
• Chapter 2: Is ODM Right for You?
• Chapter 3: Looking Under ODM's Hood
• Chapter 4: The Life Cycle of Rules
• Chapter 5: Getting Started with ODM
• Chapter 6: Ten ODM Use Cases
• Chapter 7: Ten Characteristics of Best-in-Class ODM Systems

IBM BPM 8.5 - Download Guide - And some other things ....

Whilst preparing for an upcoming client engagement, I wanted to ensure that I had the most recent IBM BPM code: -

This document provides the eAssembly part numbers that are required to download IBM Business Process Manager Advanced Version 8.5 files from the Passport Advantage website.

IBM Business Process Manager is a comprehensive and consumable business process management platform that provides visibility and management of business processes. It includes tools and a runtime environment for process design, execution, monitoring, and optimization. It is specifically designed to enable process owners and business users to engage directly in the improvement of their business processes.

plus, in case it arises: -

This document explains how to download Operational Decision Manager V8.5 eAssembly images from IBM Passport Advantage Online.

Operational Decision Manager V8.5 enables business users and developers to manage action and event rules used in business applications. This page provides information for downloading and installing the product.

and: -

This document provides the eAssembly part numbers required to download IBM Business Monitor Version 8.0.1 files from the Passport Advantage website.

IBM Business Monitor is a comprehensive business activity monitoring (BAM) software product that provides an up-to-date view of your business performance. Personalized business dashboards process business events and data, and calculate key performance indicators (KPIs) and metrics. Business Monitor can collect events and data from a wide variety of sources including IBM Business Process Manager and IBM FileNet P8 BPM. In addition, you can use adapters to collect events from additional sources.

Monday 20 January 2014

IBM BPM 8.5 - A Proof of Technology - IBM South Bank - 26/27 March 2014

This on Twitter from my IBM colleague @Callum_Bloor

UPDATED: IBM Business Process Manager V8.5 Proof of Technology at IBM Southbank on 26/27th of March 2014. Let me know if you wish to attend.

If you use Twitter, please let Callum know. If not, please contact me and I'll put you in touch with him.

Sunday 19 January 2014

Thursday 16 January 2014

WebSphere Application Server - Liberty Profile - Oh, what fun

A recent comment on my blog reminded me that I'd not "played" with the Liberty profile in a while.

I installed it on my Mac a while back, so it was an easy task to find it and fire it up.

This is what I did ( from Terminal ): -

Navigate to the Liberty directory

$ cd ~/wlp

Navigate to the bin directory

$ cd bin

Get the version of Liberty installed

$ ./productInfo version

Product name: WebSphere Application Server
Product version:

Check the status of the defaultServer instance

$ ./server status

Server defaultServer is not running.

Start the defaultServer instance

$ ./server start

Server defaultServer started with process ID 11626.

Stop the defaultServer instance

$ ./server stop

Server defaultServer stopped.

I then deployed a web application ( SuperSnoop ) from this old-but-useful IBM Techdoc: -

This document is almost 10 years old, dating from September 2004, but the Snoop servlet contained therein is still useful.

I'd previously packaged the sample Javacode up into a WAR file - SuperSnoopWeb.war - so it was a simple matter to place the WAR file and then restart the Liberty server: -

$ cp ~/SuperSnoopWeb.war ~/wlp/usr/servers/defaultServer/dropins

and then start the defaultServer instance again: -

./server start

Server defaultServer started with process ID 11823.

and check the logs: -

$ cat ~/wlp/usr/servers/defaultServer/logs/console.log 

Launching defaultServer (wlp-1.0.2.cl0220130316-0213/websphere-kernel_1.0.2) on Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_21-b12 (en_US)
[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://localhost:9080/Liberty1/*
[AUDIT   ] CWWKZ0001I: Application Liberty1 started in 0.72 seconds.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://localhost:9080/SuperSnoopWeb/*
[AUDIT   ] CWWKZ0001I: Application SuperSnoopWeb started in 0.6 seconds.
[AUDIT   ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.

and then test the SuperSnoop Servlet: -

Note that the dropins folder ( ~/wlp/usr/servers/defaultServer/dropins/ ) provides the mechanism for …. well, dropping WAR files in ( and out ) of the Liberty configuration without the need to actually deploy the WAR file ( which typically requires an edit of the server's configuration file ( ~/wlp/usr/servers/defaultServer/server.xml )

In other words, it's the lazy solution :-)

As ever, #LifeIsGood

What's next ?

I note that I'm still running Liberty, and strongly suspect that there's an updated version out there i.e., so I'm off to the web to get a new wlp.jar file :-)

Here's some required reading for you: -

WebSphere Application Server V8.5.5 Liberty Profile - Test drive Liberty, the WAS profile designed for developers.

*UPDATE* 17 January 2014

Yep, and now I have installed: -

$ ./wlp/bin/productInfo version

Product name: WebSphere Application Server
Product version:
Product edition: DEVELOPERS

 $ cat ./wlp/usr/servers/defaultServer/logs/console.log

Launching defaultServer (WebSphere Application Server on Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_21-b12 (en_US)
[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://localhost:9080/SuperSnoopWeb/
[AUDIT   ] CWWKZ0001I: Application SuperSnoopWeb started in 0.215 seconds.
[AUDIT   ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.
SuperSnoop running


Monday 13 January 2014

From spreadsheets to IBM Business Monitor dashboards in under an hour

This from IBM developerWorks via Twitter

In Part 1, you'll earn how to create custom IBM Business Monitor® dashboards in under an hour. Using only a spreadsheet tool, such as Microsoft Excel®, you can define the metrics, KPIs, and reports you desire, and fill in sample data that you want to see in a dashboard. Then learn how to customize that dashboard to more closely meet the visual requirements of your business users. This content is part of the IBM Business Process Management Journal.

Learn how to customize all parts of the IBM Business Monitor dashboards produced by the CSV tool. Customizations include sorting and formatting, adding and configuring widgets, changing display types, and advanced Cognos® report editing. Make your dashboard look just the way your users want in a matter of minutes. This content is part of the IBM Business Process Management Journal.

Learn how to define alerts for when a specified situation occurs, watch the IBM® Business Monitor dashboards update in real time as you feed in further sample data, and learn how to edit the monitor model produced by the CSV tool in Eclipse, if desired. This content is part of the IBM Business Process Management Journal.

IBM BPM 8.X - Creating user interfaces for business processes

This from the IBM BPM 8.0.1 Information Center, via Twitter: -

Users interact with a IBM® Business Process Manager process through human services.

There are two types of user interfaces for human services: task completion and dashboards. A task completion user interface implements a specific activity within a process instance. It has access to the details of that process instance. For information, see the User Task implementation option in Implementing activities and see Building a Human service. A dashboard is a stand-alone user interface that users can run at any time. Users can access dashboards through the Process Portal. For information about dashboards, see Managing processes and workload using dashboards in Process Portal. You can also use a Coach-based dashboard as a WebSphere® portlet. For information, see Generating portlets for human services exposed as dashboards.

To build either type of user interface for human services, you use Coaches or Heritage Coaches. Coaches are composed from user interface controls called Coach Views. You can create Coach Views in Process Designer. For information, see Coaches and Coach Views. Heritage Coaches are composed from a fixed set of user interfaces controls. They are primarily for compatibility with IBM Business Process Manager before version 8.0. For processes created with IBM Business Process Manager v8.0 and later, Coaches are recommended.

and here's the BPM 8.5 version of the same page: -

Using Jython servlets with WebSphere Application Server for more than system administration

This from developerWorks via Twitter: -

It is common for developers to use Jython scripting in IBM® WebSphere® Application Server to perform system management tasks, but with some simple additions, it is easy to add Jython processing to supplement your servlet and JSP application programming. This article describes what you need to do to incorporate Jython servlets into your projects for even greater flexibility. This content is part of the IBM WebSphere Developer Technical Journal.

Friday 10 January 2014

Repost - Building a Topology for Integrations Converted from WebSphere ESB

This from developerWorks: -

If you are considering converting from WebSphere ESB to IBM Integration Bus, then one of the most important technical planning steps is to consider the runtime architecture and topology.

Maybe you have already taken a look at the conversion tool provided in IBM Integration Bus to accelerate conversion of WebSphere ESB development artifacts, and are beginning to think about your development approach.

Definitely worth a read ….

Thursday 9 January 2014

Using IBM Notes support tools on Mac OS X

Following on from my earlier post: -

I decided it was time to do some basic house-keeping on my mail file.

From last time around, I realised that I had to copy two of the required tools to a slightly different directory on my Mac, as follows: -

$ cd /Applications/IBM
$ ln -s Support/NotesFixup .
$ ln -s Support/NotesCompact .

Having done this, I validated that the tools were available in the right location: -

$ ls -al Notes*

-rwxrwxr-x  1 root  admin  29168 15 Oct 09:03 Notes
lrwxr-xr-x  1 hayd  admin     20  9 Jan 14:45 NotesCompact -> Support/NotesCompact
lrwxr-xr-x  1 hayd  admin     18  9 Jan 14:45 NotesFixup -> Support/NotesFixup

I then ran the two tools as follows: -

$ cd /Users/hayd/Library/Application Support/IBM Notes Data
$ /Applications/IBM\ GBHX9675.nsf 

[C231:0002-A15591A8] 09/01/2014 14:45:50   Database Fixup: Started:  GBHX9675.nsf
[C231:0002-A15591A8] 09/01/2014 14:45:50   Performing consistency check on GBHX9675.nsf... 
[C231:0002-A15591A8] 09/01/2014 14:45:53   Completed consistency check on GBHX9675.nsf 
[C231:0002-A15591A8] 09/01/2014 14:45:53   Performing consistency check on views in database GBHX9675.nsf 
[C231:0002-A15591A8] 09/01/2014 14:45:53   Informational, rebuilding view - user specified REBUILD (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf default design note Title:'')
[C231:0002-A15591A8] 09/01/2014 14:45:54   Informational, rebuilding view - notes have been purged since last update (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'Biz\AITS')
[C231:0002-A15591A8] 09/01/2014 14:45:54   Informational, rebuilding view - notes have been purged since last update (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'Personal\Career')
[C231:0002-A15591A8] 09/01/2014 14:45:54   Informational, rebuilding view - notes have been purged since last update (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'($FolderAllInfo)')
[C231:0002-A15591A8] 09/01/2014 14:45:54   Informational, rebuilding view - notes have been purged since last update (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'($FolderInfo)')
[C231:0002-A15591A8] 09/01/2014 14:45:54   Informational, rebuild view needed - collection object was deleted (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'($SoftDeletions) ($SoftDeletion')
[C231:0002-A15591A8] 09/01/2014 14:45:55   Informational, rebuilding view - notes have been purged since last update (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'($ThreadsEmbed) $ThreadsEmbed')
[C231:0002-A15591A8] 09/01/2014 14:45:55   Informational, rebuilding view - notes have been purged since last update (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'($Trash)')
[C231:0002-A15591A8] 09/01/2014 14:45:55   Informational, rebuilding view - notes have been purged since last update (reading /Users/hayd/Library/Application Support/IBM Notes Data/GBHX9675.nsf view note Title:'($Users)')
[C231:0002-A15591A8] 09/01/2014 14:45:55   Completed consistency check on views in database GBHX9675.nsf 
[C231:0002-A15591A8] 09/01/2014 14:45:55   Database Fixup: Shutdown

and: -

$ /Applications/IBM\ GBHX9675.nsf 

[C23F:0005-B036A000] 09/01/2014 14:46:24   Compacting GBHX9675.nsf (Dave Hay),  GBHX9675.nsf
[C23F:0005-B036A000] 09/01/2014 14:47:07   Compacted  GBHX9675.nsf, 40960K bytes recovered (45%),  GBHX9675.nsf
[C23F:0002-A15591A8] 09/01/2014 14:47:08   Database compactor process shutdown 

Shiny shiny shiny :-)

Wednesday 8 January 2014

Purging data in IBM Business Process Manager

IBM® Business Process Manager is a stateful product that accumulates data over time. As with any stateful product, it's essential to its ongoing health to have a strategy for purging some of that state occasionally. This article explores the areas of IBM BPM where data is collected and the methods that exist today to purge that data. This content is part of the IBM Business Process Management Journal.

If data grows without bounds, it can over time lead to disk space issues and to performance issues as database queries take ever longer. In this article, we cover all the areas where IBM BPM collects data either in a database or in the file system. We point out where information is specific to IBM BPM Advanced or Standard editions, and provide release-specific information. We go back as far the V7.5.1.1 release of IBM, though much of what is stated there will apply to the predecessor WebSphere Process Server and WebSphere Lombardi Edition products.

We will cover the following topics in this article:

• Process Center projects and snapshots
• Process Server process and task instance data
• Performance Data Warehouse event data
• Some additional secondary data that can accumulate, though not as fast as the above
• IBM Business Monitor, a complementary product to IBM BPM.

Saturday 4 January 2014

Hmmm, Mac OS X Mavericks - Keychain not playing nicely

Hmmm, I've just updated my MacBook Pro to OS X 10.9.1 Mavericks and, after a cold boot this morning, I started getting prompts for a password for the "Local Items" keychain - neither my login password nor my Apple / iCloud password would let me in.

Thankfully, Google led me to this item on the Apple website: -


After logging in, you are repeatedly prompted to unlock the "Local Items" keychain in multiple apps.


Note: This article is about the "Local Items" keychain, not the "Login" keychain. Please see this article for issues with "Login" keychain password.

Follow these steps to prevent prompts to unlock the Local Items keychain.

• In Finder Select Go > Go to folder… (⇧⌘G)
• In the window that appears, type the following:
• Click OK.
• Look for a folder with a name similar to this "A8F5E7B8-CEC1-4479-A7DF-F23CB076C8B8". 
Note: Each folder has a unique number.
• Move this folder to the Trash.
• Immediately choose Apple Menu () > Restart… to restart your Mac.
After restarting the computer, a new folder is created in the Keychains folder with a name similar to "4B29A0BB-599D-47FC-A2D1-42B5592B130B". There is no need to repeat the steps in this article, or to delete this folder. The new folder is expected and corrects the symptom described in this article.

Scary, but it's all working now :-)

Thursday 2 January 2014

Hmmm, Windows 7, Word 2000 and Scanning

Having upgraded my Aunt's PC to Windows 7 Professional 32-bit over Christmas, I'd asked her to test and report back.

There were a few things left to do, including installing Irfanview and sorting out the drivers for the Nvidia video card.

However, there was one thing that bugged me for most of this afternoon.

Whenever she attempted to insert a scanned image into a Microsoft Word 2000 document, she got: -

Unable to connect to scanner or camera. Check the connection and reinstall driver if necessary

even though the scanner ( in fact, TWO scanners; a Canoscan 8800F and a HP Deskjet 3055A ) worked perfectly outside of Word.

After much Googling and a fair bit of fiddling and faffing, I realised that, if I ran Word as Administrator, the scanner integration worked perfectly.

Long story short, the problem was NOT related to the Canon drivers ( in fact, I reinstalled them ! ), the USB cables betwixt PC and scanners, Word 2000 or the Windows Image Acquisition service.

For some reason, Word 2000 can only see the scanner ( using, I believe, the TWAIN drivers via c:\windows\twain_32 ) *IF* Word is run as Administrator.

I ended up creating a little batch file to make use of the runas command. This allows Word to be started as Administrator from a short-cut on the desktop.

I enabled the Administrator account as follows: -

C:\> net user Administrator /active:true

However, the good news is that it now works.

For my next trick, I need to work out how to add a short-cut to the batch file into the Quick Launch task bar at the bottom of the screen.

*UPDATE - 05/01/2014*

Sadly, this trick didn't work in the long run, mainly because it required me to active the built-in Administrator account, meaning that there were then two accounts listed at boot time - the normal "non-root" user and Administrator.

Running Word as Administrator is easy to do BUT I then have to put up with a User Account Control (UAC) popup each time I start the application, which ruins the end-user experience somewhat.

Therefore, I disabled the Administrator account again: -

C:\> net user Administrator /active:false

and instead, following this post: -

How to Create a Program Shortcut to Run Without the UAC Prompt in Windows 7

created a program shortcut ( which I can drag into the Quick Launch task bar !! ). The shortcut is linked to a scheduled task which starts / runs Word as Administrator.

Therefore, I have a more effective solution, and learned a bit more about the User Account Control (UAC) feature of Windows 7.

*UPDATE - 05/01/2014*

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