Friday 28 September 2012

New month, new job - leaving Lotus, working with WebSphere

So, after precisely 3.5 years in IBM Software Services for Collaboration (ISSC), focused on portal, web content and collaboration solutions delivered by the IBM Collaboration Solutions ( formerly Lotus ) brand, I've now switched jobs, roles and brands to IBM WebSphere, and start as a consultant within the IBM Software Services for WebSphere (ISSW) team.

From an historical perspective, I'm going back to my roots - when I first joined IBM Software Group in 2000, I spent four years helping Business Partners and Independent Software Vendors port to, and test, their applications on WebSphere Application Server and WebSphere Portal  covering a number of different OS platforms, including OS/400, AIX, Linux and Windows.

It wasn't until 2004-5, that I joined the Lotus brand, along with WebSphere Portal, and started to acquire a familiarity, understanding and interest in collaboration software - IBM Workplace, IBM Sametime, IBM QuickPlace ( now Quickr ), IBM Web Content Management etc.

More recently, in 2007, when IBM started to develop it's social software strategy, I acquired experience with, and a passion for, social software such as IBM Connections.

Interestingly, throughout this period, I continued to maintain a proficiency with WebSphere Application Server (WAS), mainly because it formed, and continues to form, a core component of a number of products within the Lotus brand. Of course, this didn't stop me acquiring an interest in other non-WAS-based products such as Lotus Notes / Domino.

So, after ten years focused on WebSphere Portal and eight years in Lotus, I'm returning to my roots.

Obviously, it's early days, but I expect to be focused on a number of new (to me) solution areas, including mobile ( IBM Worklight ), security and integration ( IBM DataPowerIBM Cast Iron etc. ), I'll also continue to focus on application server infrastructure, hopefully including IBM PureSystems and IBM Workload Deployer.

Right out of the gate, I expect to be learning more about the newest member of the WAS family, WebSphere Application Server V8.5, and it's Liberty Profile, starting on Monday 1 October.

During my time in Lotus, I have been privileged to work with the best, most passionate and intelligent people, both inside AND outside IBM, including my peers and colleagues in the UK team, my world-wide colleagues, the IBM Business Partner community and, perhaps most importantly, our customers.

Those who know me, and who have followed my exploits here on the blog and elsewhere, will know that I'll dedicate an equal amount of passion to my new job, brand and team, and will continue to share my acquired knowledge and experience whenever and wherever possible.

Keep in touch ...

IBM Redpaper - WebSphere Application Server: New Features in 8.5

IBM WebSphere Application Server helps drive business agility with an innovative, performance-based foundation to build, reuse, run, integrate, and manage service-oriented architecture (SOA) applications and services. From business critical enterprise-wide applications to the smallest departmental level applications, WebSphere Application Server offers reliability, availability, security, and scalability.

WebSphere Application Server V8.5 addresses the needs of today's agile enterprises and developers. For the enterprise, it provides a choice of application server solutions with fidelity for the available editions. It also provides increased scalability, resiliency, and security for critical applications and the flexibility to deploy new offerings quickly and efficiently. It includes a lightweight and powerful, yet simple, application server to satisfy multiple requirements around a simplified "low-end" application environment. For the developer, it provides an improved developer experience and a simplified server configuration that can have multiple versions and be maintained in source control along with the applications.

This IBM Redpaper publication presents a high-level view of some of the features and enhancements in WebSphere Application Server V8.5.



Hmmm, I've got that syncing feeling - iTunes 10.7 and iPhone 4 and iOS 6 not playing nice :-(

Managing and Replacing WebSphere 6.1 SSL Certificates

This post makes reference to an issue that a friend of mine saw recently with expired self-signed SSL certificates. 

In essence, WAS was complaining that one of the internal certificates had expired - the certificate in question was located here: -

/opt/WebSphere/AppServer/profiles/dmgr/etc/trust.p12

It turned out that he had automatic certificate replacement enabled, which had resulted in the Deployment Manager having an up-to-date certificate, but that on the Node Agent was still out-of-date.

The solution was to manually synchronise the node with the cell, using the syncNode.sh script.

There was a webcast, back in 2008 (!), covering this area, where my IBM colleague, Brett Ostrander, walked through the problem and solution of replacing WAS 6.1 certificates.

The webcast replay is here: -



Definitely worth a read - an oldie but goodie.

Wednesday 26 September 2012

Getting started with IBM Worklight

As per my previous post, I'm looking at mobile application development, deployment and management for the very first time. To do this, I'm using IBM Worklight: -

IBM Worklight provides an open, comprehensive and advanced mobile application platform for smartphones and tablets, helping organizations of all sizes to efficiently develop, connect, run and manage HTML5, hybrid and native applications Leveraging standards-based technologies and tools, the platform ships with a comprehensive development environment, mobile-optimized middleware, and an integrated management, and analytics console, supported by a variety of security mechanisms.

Now I'm never going to become an application developer by trade, although I have written code on and off for the past 20 years ( as an IBMer, from CL and RPG on the AS/400 platform, through SQL stored procedures in DB2 UDB and C++ agents on Lotus Domino, to Java servlets and portlets on IBM WebSphere ). In addition, I'm not including BBC Basic, Pascal, Comal, COBOL and ADA ( all from my pre-IBM student days.

However, downloading Eclipse and installing Worklight Studio was pretty darn simple - and it runs on my Mac :-)

Therefore, you can be sure that I was very pleased to find this rather useful ( and free free free ) enablement resource on the IBM website: -


Developers and IT professionals can get started with the latest version of IBM Worklight (V5.0.0.3) by using the materials on this page.

You will find step-by-step guidance on using the different parts of the IBM Worklight V5.0 product in the modules (PDF files) below. Some modules include exercises; the solutions to those exercises are in the accompanying code samples (ZIP files).

You can get a ZIP file with all modules, a ZIP file with all exercises, the Worklight starter applications, as well as the files for the previous versions of IBM Worklight in the Additional resources at the bottom of this page.

which includes: -

Setup

 Module 02 - Setting Up Your Development Environment (PDF, 691KB)
 Module 02.1 - Setting Up Your iOS Development Environment (PDF, 966KB)
 Module 02.2 - Setting Up Your Android Development Environment (PDF, 528KB)
 Module 02.3 - Setting Up Your BlackBerry Development Environment (PDF, 280KB)
 Module 02.4 - Setting Up Your Windows Phone Development Environment (PDF, 647KB)

Basics

 Module 03 - Writing Your First Application (PDF, 636KB)   Exercise and code sample (ZIP, 51.6KB)
 Module 03.1 - Previewing your Application in iOS environment (PDF, 729KB)
 Module 03 2 - Previewing your Application in Android environment (PDF,725KB)
 Module 03.3 - Previewing your Application in BlackBerry environment (PDF, 902KB)   
 Module 03.4 - Previewing your Application in Windows Phone environment (PDF, 660KB)   
 Module 03.5 - Rich Page Editor (PDF, 417KB)
 Module 03.6 - Mobile Browser Simulator (PDF,705KB)
 Module 04 - Worklight Client API Basics (PDF, 492KB)  Exercise and code sample (ZIP, 53.6KB)

Server-side development

 Module 05 - Integration Adapters (PDF, 518KB)
 Module 05.1 - Creating SQL Adapters (PDF, 508KB)  Exercise and code sample (ZIP, 14.7KB)
 Module 05.2 - Creating HTTP Adapters (PDF, 1.31MB)

 Module 05.3 - Using HTTP Adapters with SOAP Services (PDF, 301KB)  Exercise and code sample (ZIP, 14.5KB)
 Module 05.4 - Creating Cast Iron Adapters (PDF, 407KB)
 Module 05.5 - Using Java in Adapters (PDF, 285KB)  Exercise and code sample (ZIP, 12.8KB)
 Module 06 - Invoking Adapter Procedures from the Client Applications (PDF, 370KB)  Exercise and code sample (ZIP, 53.7KB)
 Module 06.1 - Advanced Adapter Usage and Mashup (PDF, 603KB)  Exercise and code sample (ZIP, 58KB)

etc. 

What's not to like ?

Tuesday 25 September 2012

My first foray into mobile application development and delivery with IBM Worklight

In this post, I'm looking at the newly announced "bundling" of IBM Worklight with IBM WebSphere Portal, as I begin my Worklight journey.

Following today's announcement - IBM Web Experience offerings add entitlement to IBM Worklight - 


If you have IBM® WebSphere® Portal Server, IBM WebSphere Portal Enable, IBM WebSphere Portal Extend, IBM Customer Experience Suite, IBM Intranet Experience Suite, IBM Collaboration Accelerator with WebSphere Portal, IBM Content and Collaboration Accelerator with WebSphere Portal, or IBM Content Manager on an active Passport Advantage® Software Subscription and Support contract, you are now entitled to use two IBM Worklight Consumer Edition mobile applications with WebSphere Portal. This entitlement lets users extend the current robust multichannel capabilities of these IBM Web Experience solutions to include cross platform hybrid mobile applications with IBM Worklight.

With this new entitlement, your WebSphere Portal content and applications can now be extended to access the full capabilities of a wide range of mobile devices giving your organization a rich cross-platform hybrid mobile experience on smartphones and tablets. IBM Worklight Consumer Edition offers organizations a wide set of services aimed at helping manage, develop, and deploy rich, cross-platform mobile applications, and when combined with IBM Web Experience offerings, organizations can create highly customized, engaging, consistent, and personalized experiences across web, mobile web, and mobile hybrid.

I note that there's a new eAssembly for Worklight / Portal available.

This is what I'm downloading: -
  • IBM Worklight V5.0 for WebSphere Portal Server V8.0 Multiplatform Multilingual eAssembly (CRK2JML)
  • Quick Start Guide for Worklight Consumer Edition V5.0 for Multiplatform English Only (CI88MEN)
  • IBM Worklight Consumer Edition V5.0 zip of Installation Manager Repository for IBM Worklight Studio Multiplatform English Only (CI88PEN)
  • IBM Worklight Consumer Edition V5.0 zip of Installation Manager Repository for IBM Worklight Server Multiplatform English Only (CI88QEN)
  • IBM Worklight Consumer Edition V5.0 zip of Eclipse update for IBM Worklight Studio Site Multiplatform English Only (CI88REN)
  • IBM Rational Enterprise Deployment V1.5.2 Windows Multilingual (CI6BZML)
  • IBM Rational Enterprise Deployment V1.5.2 Linux x86 Multilingual (CI6C0ML)
  • IBM Rational Enterprise Deployment V1.5.2 Linux PPC Multilingual (CI6C1ML)
  • IBM Rational Enterprise Deployment V1.5.2 Linux s390 Multilingual (CI6C2ML)
  • IBM Rational Enterprise Deployment V1.5.2 AIX Multilingual (CI6C3ML)
  • IBM Rational Enterprise Deployment V1.5.2 HP-UX Multilingual (CI6C4ML)
  • IBM Rational Enterprise Deployment V1.5.2 Solaris SPARC Multilingual (CI6C5ML)
  • IBM Rational Enterprise Deployment V1.5.2 Solaris x86 Multilingual (CI6C6ML)
  • IBM Rational Enterprise Deployment V1.5.2 IA64 Multilingual (CI6C7ML)
( well, some of the images anyway - I'll be using Linux x86 )

There's also a video overview of the integration available on YouTube here: -


Finally, for now, there's a useful Worklight training course available online here: -


and, guess what, it's free free free :-)


IBM Websphere Portal 8: Web Experience Factory and the Cloud: RAW

Picking up on my earlier post, I noticed that this book had been announced - as an ebook in RAW format: -

A RAW book is an ebook, and this one is priced at 40% of the usual eBook price. Once you purchase the RAW book, you can immediately download the content of the book so far, and when new chapters become available, you will be notified, and  can download the new version of the book. When the book is published, you will receive the full, finished eBook.

The ToC looks to be awesome: -

Table of Contents
  • Preface
  • Chapter 1: Portal Assessment
  • Chapter 2: Portal Governance: Adopting the Mantra of Business Performance through IT Execution
  • Chapter 3: Portal Requirements Engineering
  • Chapter 4: Portal Architecture: Analysis and Design
  • Chapter 5: Portal Golden and Cloud Architecture
  • Chapter 6: Portal Build, Deployment, and Release Management
  • Chapter 7: Introduction to Web Experience Factory
  • Chapter 8: Service Layers
  • Chapter 9: Invoking Web Services
  • Chapter 10: Building the Application User Interface
  • Chapter 11: The Dojo Builders and Ajax
  • Chapter 12: WEF Profiling
  • Chapter 13: Types of Models
  • Chapter 14: WEF and Mobile Web Applications
  • Chapter 15: How to Implement a Successful Portal Project with WEF
  • Chapter 16: Portlet and Portal Testing
  • Chapter 17: Portal and Portlet Performance Monitoring
  • Chapter 18: Portal Troubleshooting
  • Chapter 19: Portal, WEF, and Portlet Tuning
  • Chapter 20: Portal Post-production
as does the overview: -

• The only book that explains the various phases in a complete portal project life cycle
• Full of illustrations, diagrams, and tips with clear step-by-step instructions and real time examples
• Take a deep dive into Portal architectural analysis, design and deployment
• Understand how profiling can be used to provide variability for customization, personalization and configuration of portlets and environments
• Master the main approaches for classifying, isolating and resolving portal problems via troubleshooting
• Instructions valid for Portal versions 7 and 8

Definitely worth a look


Monday 24 September 2012

IBM Connections 4.0 API Documentation

IBM Connections 4.0 API Documentation






Packt Publishing reaches 1000 IT titles and celebrates with an open invitation

I've blogged about those nice people at Packt Publishing before including: -




etc.

Well, here's the latest news from a press release that they kindly sent me earlier this week: -

Birmingham-based IT publisher Packt Publishing is about to publish its 1000th title. Packt books are renowned among developers for being uniquely practical and focused. Packt books cover highly specific tools and technologies which IT professionals might not expect to see a high quality book on.

Packt would like you to join them in celebrating this milestone with a surprise gift – to get involved you just need to have already registered, or sign up for a free Packt account before 30th September 2012.

Packt published their first book in April 2004. One of the most prolific and fastest growing tech book publishers in the world, they now have books on everything from web development to web graphics, e-learning to e-commerce, IT architecture to games, and app development.

Packt supports many of the Open Source projects covered by its books through a project royalty donation, which has contributed over £300,000 to Open Source projects up to now. As part of the celebration Packt is allocating $30,000 to share between projects and authors in a genuinely unique way, soon to be disclosed on their website.

Dave Maclean, founder of Packt Publishing explains, "At Packt we set out 8 years ago to bring practical, up to date and easy to use technical books to the specialist tools and technologies that had been largely overlooked by IT publishers. Today, I am really proud that with our authors and partners we have been able to make useful books available on over 1000 topics and make our contribution to the development community."

For more information about Packt, the kind of books they publish, and to sign-up for a free account before the 30th of September, 2012, please visit their website: www.PacktPub.com.


Want to know more ? Well, you know what to do - check out their site -  www.PacktPub.com.

Tuesday 18 September 2012

IBM Connections toolbar for Firefox - Now available externally

The IBM Connections toolbar for Firefox facilitates searching and using IBM Connections directly from the toolbar without the need to navigate or search the IBM Connections UI. The toolbar supports IBM Connections 3.0 to 4.0. The following is the layout of the toolbar after you install it, but it is fully customizable so you can move the buttons to other toolbars, and hide the IBM Connections toolbar so that you save screen space. The toolbar is available to download from the button on the right.

The plug-in is available on the Lotus Greenhouse here.


Friday 14 September 2012

IBM Connections 4 - Manually populating the Profiles database - and learning lessons on the way

In this post, I describe how I resolved an issue using IBM Tivoli Directory Integrator 7.1 to populate the Profiles database for IBM Connections 4, using IBM Lotus Domino 8.5.3 FP2 as the source. There's a large amount of trial n' error involved, but I wanted to show my working ( and the tips and tools that I applied ), rather than simply jumping to the solution.

Following on from an earlier post - IBM Connections 3 - Manually populating the Profiles database - who needs wizards anyway ? - I wanted to repeat my previous experience, and set things up manually, rather than relying upon the GUI ( launched by populationWizard.sh ), mainly because I often find myself working on client servers where there's NO GUI.

Having installed TDI 7.1 ( see this post ) and unpacked the Connections 4 Wizards: -

$ cd /tmp
$ tar xvf /mnt/hgfs/Software/IC4/IBM_Connection40_Wzd_LNXAIX_CIA3HML.tar

I then created a working directory for my Connections-related assembly lines: -

$ mkdir /opt/IBM/TDI/V7.1/tdisol_DOMINO

and then copied the assembly lines, property files etc. from the /tmp directory: -

$ cd /opt/IBM/TDI/V7.1/tdisol_DOMINO
$ cp -R /tmp/Wizards/TDIPopulation/linux/TDI/* .

I then manually edited profiles_tdi.properties and set the following properties: -

dbrepos_jdbc_driver=com.ibm.db2.jcc.DB2Driver
dbrepos_jdbc_url=jdbc:db2://ic4.uk.ibm.com:50000/PEOPLEDB
dbrepos_username=db2inst1
dbrepos_password=passw0rd
source_ldap_url=ldap://ic4.uk.ibm.com:389
source_ldap_user_login=CN=wasadmin,O=ibm
source_ldap_user_password=passw0rd
source_ldap_search_base=O=ibm
source_ldap_search_filter=(&(cn=*)(objectClass=dominoPerson))

When I ran the script populate_from_dn_file.sh using the following entry in collect.dns: -

CN=wasadmin,O=ibm

I received: -

Platform: 'Generic'
CLFRN0027I: After operation, success records is 0, duplicate records 0, failure records is 1, and last successful entry is null.
Populate of Database Repository failed


Digging into the logs ( specifically /opt/IBM/TDI/V7.1/tdisol_DOMINO/logs/PopulateDBFromDNFile.log ) I see: -

2012-09-13 15:54:13,207 INFO  [com.ibm.di.log.FileRollerAppender.a84dda54-ee01-4fee-a46a-049ed3ef1676] - CTGDIS087I Iterating.
2012-09-13 15:54:13,397 WARN  [com.ibm.di.log.FileRollerAppender.a84dda54-ee01-4fee-a46a-049ed3ef1676] - CLFRN0209E: Validation failed for field guid. Value is .
2012-09-13 15:54:13,402 ERROR [com.ibm.di.log.FileRollerAppender.a84dda54-ee01-4fee-a46a-049ed3ef1676] - CLFRN1183E: Validation failed for entry CN=wasadmin,O=ibm.

2012-09-13 15:54:13,404 ERROR [com.ibm.di.log.FileRollerAppender.a84dda54-ee01-4fee-a46a-049ed3ef1676] - !com.ibm.di.exceptions.SkipEntryException: CTGDIS393I Throwing this exception to tell the AssemblyLine to skip the current Entry. If used in an EventHandler, this exception tells the EventHandler to skip the remaining actions.!
2012-09-13 15:54:13,413 INFO  [com.ibm.di.log.FileRollerAppender.a84dda54-ee01-4fee-a46a-049ed3ef1676] - CTGDIS088I Finished iterating.


I changed collect.dns to: -

CN=wasadmin

but to no avail, so changed it back to: -

CN=wasadmin,O=ibm

I then validated the LDAP search filter: -

$ su notes -c "cd /local/notesdata; /opt/ibm/lotus/bin/ldapsearch -h ic4.uk.ibm.com -p 389 -b o=ibm -D CN=wasadmin,O=ibm -p passw0rd '(&(cn=wasadmin)(objectClass=dominoPerson))'"

which returned: -

CN=wasadmin,O=ibm
cn=wasadmin
mail=wasadmin/ibm%ibm@uk.ibm.com
displayname=wasadmin/ibm
objectclass=dominoPerson
objectclass=inetOrgPerson
objectclass=organizationalPerson
objectclass=person
objectclass=top
givenname=was
sn=admin
uid=wasadmin
maildomain=ibm


as I'd expect.

Next, I enabled LDAP debugging on the Domino server, using the Domino console command: -

> set config ldapdebug=7

and restarted Domino.

I then monitored the Domino console when I ran the populate_from_dn_file.sh process, and saw: -

<snip>
[07113:00006-3891055472] 14/09/2012 12:01:05.42 LDAP> *** No matching entries & no errors, attempting to find base or closest ancestor of wasadmin ...
[07113:00006-3891055472] 14/09/2012 12:01:05.42 LDAP> *** Base does NOT exist, no ancestor found
[07113:00006-3891055472] 14/09/2012 12:01:05.42 LDAP> ***** Count of search entries returned (total): 0 *****

</snip>

which wasn't of much use, given that I knew that the search base and search filter worked ( using LDAPSearch ).

However, turning my attention to the profiles_tdi.properties file, I then experimented with the two LDAP-related attributes: -

source_ldap_search_base=o=ibm
source_ldap_search_filter=(&(cn=*)(objectclass=dominoPerson))


but to no avail.

I also checked / validated the database related attributes: -

dbrepos_jdbc_driver=com.ibm.db2.jcc.DB2Driver
dbrepos_jdbc_url=jdbc:db2://ic4.uk.ibm.com:50000/peopledb
dbrepos_username=db2inst1
dbrepos_password=passw0rd


but again without any joy.

Finally (!), I looked back at the original errors that I saw: -

/opt/IBM/TDI/V7.1/tdisol_DOMINO/logs/PopulateDBFromDNFile.log )

2012-09-13 15:54:13,397 WARN  [com.ibm.di.log.FileRollerAppender.a84dda54-ee01-4fee-a46a-049ed3ef1676] - CLFRN0209E: Validation failed for field guid. Value is .
2012-09-13 15:54:13,402 ERROR [com.ibm.di.log.FileRollerAppender.a84dda54-ee01-4fee-a46a-049ed3ef1676] - CLFRN1183E: Validation failed for entry CN=wasadmin,O=ibm.

and did a quick Google search, finding this: -


( I've linked to the post where the OP reports Fixed! )

which made reference to the: -

guid={function_map_from_dominoUNID}

element in map_dbrepos_from_source.properties.

When I checked the map_dbrepos_from_source.properties file in , I saw: -

guid=ibm-entryUuid

which goes a LONG way to explain it - this is the property that I'd be using if I was keying against IBM Tivoli Directory Server, rather than Lotus Domino.

TDI has a rather nice JavaScript function to infer the GUID from the dominoUNID field within the Domino Directory.

Therefore, I changed it to: -

guid={function_map_from_dominoUNID}

and, lo and behold, my assembly line burst into life - I was able to run populate_from_dn_file.sh and, c'est voila, my Profiles DB is now populated, as validated below: -

$ su - db2inst1
db2 connect to peopledb
db2 "select prof_given_name,prof_surname,prof_display_name from empinst.employee"

PROF_GIVEN_NAME PROF_SURNAME PROF_DISPLAY_NAME                                                                                                                                                                                                                                               
was admin wasadmin

$ db2 terminate
$ exit

This has been a frustrating journey but, as always, I learned a LOAD on the way, and hope that others may benefit from the solution - especially as the CLFRN0209E and CLFRN1183E messages don't currently point to any hits on Google - until this blog post goes out :-)

Thursday 13 September 2012

IBM WebSphere Portal V 8.0 Performance Tuning Guide

This white paper provides a basis for parameter and application tuning for IBM WebSphere Portal for Multiplatform, for Linux on System Z, and z/OS V8.0. Remember that both tuning and capacity are affected by many factors, including the workload scenario and the performance measurement environment. For tuning, the objective of this paper is not to recommend that you use the values we used when measuring our scenarios, but to make you aware of those parameters used in our configuration. When tuning your individual systems, it is important to begin with a baseline, monitor the performance metrics to determine if any parameters should be changed and, when a change is made, monitor the performance metrics to determine the effectiveness of the change.

The guide is available, in PDF form ( w00t ), in the WebSphere Portal Wiki here.

Following the script - installing IBM Tivoli Directory Integrator V7.1 using a response file ( silent installation )

This follows on from my previous post: -


which covered the silent ( response file ) installation of IBM Tivoli Directory Integrator V7.0 ( as included with IBM Connections 3.0 ).

This new post is focused upon IBM Tivoli Directory Integrator V7.1, which is now the pre-requsite for IBM Connections 4.0 ( see the IC4 System Requirements for further information ).

It's much the same, but TDI V7.1 has a different format to it's response file.

So I started by unpacking the TDI product: -

$ cd /tmp
tar xvf /mnt/hgfs/Software/TDI71/CZ9MNML.tar

and then recorded a new response file: -

./linux_x86_64/install_tdiv71_linux_x86_64.bin -r /tmp/tdi71_responsefile

This is a good way of validating the differences between the old response file: -

-V TDI_Install_Current="true"
-V TDI_Add_Features="false"
-V TDI_Upgrade_Previous="false"
-V licenseAccepted=true
-P installLocation="/opt/IBM/TDI/V7.0"
-V IS_SELECTED_INSTALLATION_TYPE=custom
-P tdiServerFeature.active=true
-P tdiCEFeature.active=false
-P tdiCEUpdateSiteFeature.active=false
-P tdiJavadocsFeature.active=false
-P tdiExamplesFeature.active=false
-P tdiIEHSFeature.active=false
-P tdiLWIFeature.active=false
-P tdiAMCFeature.active=false
-V TDI_Soldir_UnderHome="false"
-V TDI_Soldir_InstallDir="false"
-V TDI_Soldir_SelectDir="false"
-V TDI_Soldir_Working="true"
-V TDI_Bundled_ISC_Chosen="false"
-V TDI_Custom_ISC_Chosen="false"
-V TDI_No_ISC_Chosen="false"
-V TDI_Migrate_Cloudscape="false"

and the new response file: -

# Thu Sep 13 13:44:57 BST 2012
# Replay feature output
# ---------------------
# This file was built by the Replay feature of InstallAnywhere.
# It contains variables that were set by Panels, Consoles or Custom Code.

#Has the license been accepted
#-----------------------------
LICENSE_ACCEPTED=TRUE

#Choose Install Folder
#---------------------
USER_INSTALL_DIR=/opt/IBM/TDI/V7.1

#Choose Install Set
#------------------
CHOSEN_FEATURE_LIST=Server,CE
CHOSEN_INSTALL_FEATURE_LIST=Server,CE
CHOSEN_INSTALL_SET=Custom

#Solutions Directory
#-------------------
TDI_SOLDIR_HOME=0
TDI_SOLDIR_INSTALL=0
TDI_SOLDIR_SELECT=0
TDI_SOLDIR_CWD=1

#Server Port Values
#------------------
TDI_SERVER_PORT=1099
TDI_SYSTEM_STORE_PORT=1527
TDI_REST_API_PORT=1098
TDI_MQE_SYSTEMQ_PORT=41001

#Register Server as Service
#--------------------------
TDI_REGISTER_SERVER=0


If nothing else, the new response file is way shorter, especially if I take out the comments: -

LICENSE_ACCEPTED=TRUE
USER_INSTALL_DIR=/opt/IBM/TDI/V7.1
CHOSEN_FEATURE_LIST=Server,CE
CHOSEN_INSTALL_FEATURE_LIST=Server,CE
CHOSEN_INSTALL_SET=Custom
TDI_SOLDIR_HOME=0
TDI_SOLDIR_INSTALL=0
TDI_SOLDIR_SELECT=0
TDI_SOLDIR_CWD=1
TDI_SERVER_PORT=1099
TDI_SYSTEM_STORE_PORT=1527
TDI_REST_API_PORT=1098
TDI_MQE_SYSTEMQ_PORT=41001
TDI_REGISTER_SERVER=0


:-)

Now, for me, my work here is done, as I've installed TDI 7.1 as well as generating the response file :-)

However, next time around, I'll need to actually install the product using the response file.

This is how I'll do it: -

install_tdiv71_win_x86.exe -i silent -f /tmp/tdi71_responsefile

#LifeIsGood

Thanks to the TDI documentation here for some useful information on the silent installation process.

IBM WebSphere Portal Cache Viewer

In WebSphere Portal, caches are used to store entries of key-value pairs in main memory for faster access. As the size of the main memory is limited and is cleared after system restart, the WebSphere Portal caches hold only copies of data stored elsewhere, for example in a database or directory server. Using and configuring a cache is a trade-off between memory consumption and faster data access. The idea is to cache only data which is often used.

You can tune the WebSphere Portal caches to improve the portal performance. The WebSphere Portal Cache Viewer can help you determine which caches might be worth tuning to improve the performance of your portal.

The Cache Viewer shows you the state of all WebSphere Portal caches. In addition, it provides tuning suggestions for those caches. For more information regarding portal tuning and portal cache architecture, consult the WebSphere Portal Performance Tuning Guides. The guides are available as part of the WebSphere Portal Family wiki.

The Cache Viewer can be downloaded from the Greenhouse here.

Wednesday 12 September 2012

IBM Lotus Domino 8.5.3 - Firing the Firewall

In this article, I describe how I hit a problem connecting to an IBM Lotus Domino 8.5.3 server, via web browser, and, more importantly, how I was able to diagnose and then resolve the problem. 

For the umpty-leventh time, I hit: -


when I attempt to access my Domino server's web administration interface: -


Domino is running on a Red Hat Enterprise Linux (RHEL) VM running on VMware Fusion 5.0.1 on my MacBook Pro, and I'm attempting to access it via my Mac's Firefox browser.

I proved that the problem was NOT with Domino, as I was able to access it locally ( using Firefox on the VM ): -


However, I wanted to use my host OS' browser for two reasons: -

(a) Firefox on the Mac has Java enabled, and the Domino WebAdmin tool uses a Java applet
(b) It's easier to take screenshots

The next acid test was to ensure that the networking between the host and guest OS was working: -


Therefore, I knew that the problem was on the Linux VM, so thought: -

(a) Security-Enhanced Linux ( selinux )
(b) Firewall ( iptables )

I checked selinux first of all: -

$ cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


I then checked the firewall: -

chkconfig --list | grep iptables

iptables        0:off 1:off 2:on 3:on 4:on 5:on 6:off

Ah-ha, so that was the problem :-)

I stopped the firewall ( this is my own development VM so I do not need a firewall - YOUR mileage WILL vary ): -

service iptables stop

iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: nat mangle filte[  OK  ]
iptables: Unloading modules:                               [  OK  ]


and then validated that it was stopped: -


Finally, I then went ahead and disabled the firewall permanently, as the service iptables stop command will not survive a reboot: -

chkconfig iptables off

and validated that it's now disabled: -

$ chkconfig --list | grep iptables

iptables        0:off 1:off 2:off 3:off 4:off 5:off 6:off

Job done.

Monday 10 September 2012

Lotus Notes 8.5.4 on Mac OS X - Killing me hardly (sic) ...

On occasion, I feel the need, the need to .... force Lotus Notes to quit, normally as a result of my living on the bleeding edge, and choosing to run the beta version of Lotus Notes 8.5.4 CD4.

Whilst there's a perfectly usable pair of applications to do this: -


located here: -

/Applications/Lotus\ Application\ Support/Collect\ Lotus\ Notes\ hang\ data\ and\ exit\ client.app
/Applications/Lotus\ Application\ Support/Collect\ Lotus\ Notes\ hang\ data\ and\ leave\ client\ running.app

this doesn't always work, especially for this beta version.

In that case, it's back to the old favourite, NSD.

***WARNING: This *could* result in lost data - use with caution, you have been warned: WARNING ***

On the Mac, this can be invoked as follows ( via Terminal, of course ): -

$ cd /Users/david_hay/Library/Application Support/Lotus Notes Data
sudo /Applications/Notes.app/Contents/MacOS/Support/nsd.sh 

This typically takes a minute or so to complete, at least it does on my shiny new MacBook Pro with Retina Display, partially down to the super-fast Flash ( SSD ) drive.

Once completed, you have a nice set of log files located here: -

~/Library/Application\ Support/Lotus\ Notes\ Data/IBM_TECHNICAL_SUPPORT/

which you could choose to send off to IBM Support, by way of a PMR.

***WARNING: This *could* result in lost data - use with caution, you have been warned: WARNING ***

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