The Liberty profile has support for java 8 for some time. If you want java 8 on WebSphere 8.5.5 full profile you must apply the fix pack 9 first.

Installing the optional Java 7.0 or Java 7.1 or 8 does not imply that profiles can take advantage of this new version of Java.  The managesdk command has to be used to switch Java or the WAS Admin Console. wsadmin can also be used.

Instructions on how to use the managesdk can be read on this IBM TN

See the SDK version for each WAS version on this link


I try several times to setup Forms Expericence Builder (8.5 and 8.6) on top of Portal Cluster (2 nodes) using the Installation Manager (IIM)

I got the following error during the ear deployment.

WASX7015E: Exception running command: “source “/opt/ibm/WebSphere/wp_profile/ConfigEngine/config/work/was/curJaclScript.jacl””; exception information:
com.ibm.bsf.BSFException: error while eval’ing Jacl expression:
java.lang.IllegalArgumentException: WASX7122E: Expected “-” not found.
-appname “”Forms Experience Builder”” -cluster PortalCluster -MapResRefToEJB { {“IBM Forms Experience Builder WAR” “” builder.war,WEB-INF/web.xml jdbc/BuilderDataSource “javax.sql.DataSource” “jdbc/IBM_FORMS_DATA_SOURCE” “” “”} {“IBM Forms Experience Builder WAR” “” builder.war,WEB-INF/web.xml mail/BuilderMailSession “javax.mail.Session” “mail/IBM_FORMS_MAIL_SESSION”}} -MapModulesToServers { {.* .* WebSphere:cell=dmgrCell01,cluster=PortalCluster}} -MapRolesToUsers { {“UseApplicationsUsers” No Yes {} {}} {“AdministrativeUsers” No No {adminportal} {}} {“EditApplicationsUsers” No Yes {} {}}} -usedefaultbindings -CtxRootForWebMod { {“IBM Forms Experience Builder WAR” builder.war,WEB-INF/web.xml /forms} {“IBM Forms Experience Builder Basic Auth WAR” builder-basic.war,WEB-INF/web.xml /forms-basic}}

I search a lot about the problem without success. I raise a PMR and the answer was:

“You cannot install FEB into a Portal server at this time, there are a few known issues with the IIM installer.   If you want to install FEB into the same WAS as portal then you will need to deploy the .ear manually, the steps can be found in the Knowledge Center -> http://www.ibm.com/support/knowledgecenter/SS6KJL_8.6.0/FEB/in_deploying_was.dita”

Doing the manual steps i got FEB working with WebSphere Portal


This can be done using an agent that is run by an ID that has access and delete rights to all the mail files on the server. The email will have the same Universal ID(UNID) in all of the mail files. This will allow you to get a handle on that particular email. The example code below gets a handle to the People view of the server’s name and address book. From the person document, it obtains the mail file for the user and then opens the mail file, locates the email and removes it.

The first step is to locate the UNID. This can be found by bringing up the document properties for the email you want to remove and looking at the beanie tab:

The UNID will be the 32 characters on the first 2 lines without the OF from the first line and the ON from the second line. Also, do not include the colon : on the 2 lines. So, the UNID for the above screen shot would be – EF883FE6FC7A14D185257F8E005D7D7D

The following code is an example that can be used to accomplish this. Please note that this code is provided as an example only. IBM support will not be able to modify or customize this agent. A version of this agent will need to be run on all mail servers in your environment. It can be set to run as a scheduled agent or via action menu selection. The target in both the scheduled version and action menu selection should be set to None

Sub Initialize
Dim s As New NotesSession
Dim perdoc As NotesDocument
Dim pview As NotesView
Dim mailDB As NotesDatabase
Dim db As NotesDatabase
Dim strServerName As String
Dim doc As NotesDocument

On Error Resume next

‘Set the strServerName variable to point to your server name
strServerName = “YourServer/YourDomain”
Set db = s.Getdatabase(strServerName, “Names.nsf”, False)
Set pview = db.GetView(“($People)”)
Set perdoc = pview.GetFirstdocument
While Not perdoc Is Nothing
Set maildb = s.Getdatabase(strServerName, perdoc.Getitemvalue(“mailFIle”)(0), False)
If Not maildb Is Nothing Then
Set doc = maildb.Getdocumentbyunid(“<Target document UNID goes here>”)
If Not doc Is Nothing Then
Call doc.Removepermanently(True)
End If
End If
Set perdoc = pview.Getnextdocument(perdoc)
End Sub

I found the information above on http://www-01.ibm.com/support/docview.wss?uid=swg21980866

Domino Uncategorized

This week i am working with TDI to sync MS AD and Domino. There are several ways to sync this two ldap servers.

Searching on the web on how can i generate hundreds user accounts on the MS AD test server,  i found LDIF Generator.

This little java code generate a LDIF file and you can import using, for example, the Apache Directory Studio.



The badge is using Mozilla OpenBadges technology to let people display verifiable acheivements.


“There are a number of aspects to consider when choosing between the traditional WebSphere Application Server (WAS full profile, or WAS Classic) and WAS Liberty for deployment. If you
have a hard requirement which is only available on one or the other (such as a particular API) then the choice is easy, but as the Liberty function has grown, it has become more common to
need to weigh the pros and cons of each more closely; to consider topology choices, operational capabilities and security options. Over one hundred and fifty IBM products have shipped with
Liberty as their internal application server and an ever-growing number of IBM SaaS offerings, such as BPM Workflow and Watson Analytics, are running on Liberty.”
See this document from IBM


This open mic presentation has 40 tips on the mail routing subject.

The tip #24 – How to make Domino relay server to route mail to mutiple SMTP hosts help me today.
Within the Domino “Relay host” field, two list delimiters are allowed – comma( , ) and semicolon( ;). The delimiter will set the method
Method 1:Load balancing mode : host1, host2
In this example, the router will take the group of hosts at the same preference level (host1 and host2) and try to connect to these hosts in a random order.
Method 2:Fail over mode : host1; host2
Inthis example, the router will take preference of first host (host1) to route emails. If host1 stops responding, then the Domino router will move on to the next host (host2) i.e the next
preference level


This behavior is related to an intentional change in Java6SR16FP20 to tighten security by disabling the MD5 algorithm by default in latest JVM release. The Domino Server Controller, however, currently requires MD5. IBM is investigating a solution to leverage a more secure cipher for the Domino Server Controller (a.k.a. Domino Java Console). This issue is tracked as SPR# RSSNA6UU79.

Read the complete IBM Technote here


I found  this article today.

It  covers the fundamentals of Domino Replication and options for troubleshooting common issues.

1. Introduction
2. Elements of Replication
3. Creating and Deleting Replicas
4. Running Replication
5. Replication Configurations
6. Other Areas of Replication
7. Logging and Debug options.
8. Troubleshooting


After download all files i just want to rename the files to presentation titles. I search for a rename software but the problem was not about software. The problem was how to get the relationship with the file and the presentation name.

I open every pdf file and get the presentation title and create the relationship. After that a small java program rename all files on a folder.

The file bellow has the relationship


The java code bellow rename the files on the folder. Just put the reanamer.txt and Rename.jar on the same folder of the dowloaded files and run java -jar Rename.jar

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Rename {

    public static void main(String[] args) throws FileNotFoundException {
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";
        String csvFile = "renamer.txt";
        br = new BufferedReader(new FileReader(csvFile));

        try {
            while ((line = br.readLine()) != null) {
                    String[] oldName = line.split(cvsSplitBy);
                    File oldfile = new File (oldName[0]+".pdf");
                    File newfile = new File (oldName[1]+".pdf");
                    if (oldfile.renameTo(newfile)) {
                        System.out.println("Rename sucessfull");
        } catch (IOException e) {

            try {
            } catch (IOException e) {
                // TODO Auto-generated catch block





Obs: Go to this link for a smarter way to download the presentations :-)


Several sessions has the presentation file for download.

I created a file above with links to presentations files i found (51 files). I will update it next week.

To download all files do the steps bellow.

1 – Install DownThemAll! add-on for Firefox. After installing restart Firefox.

2 – Login on the connect2016 site. Go to Firefox menu and select Tools – DownThemAll! Tools – Manager… Right-click inside DownThemAll! screen.

3 – Select context menu Advanced – Import from file.

4 – On Import downloads dialog window make sure you select Text Files in the dropdown list.

5 – Point to the text file connect2016 that contains the URLs. Click Open button.

6 – On Make your selection dialog window, DownThemAll! will load each link it finds in the text file allowing you to select which ones you want to download and the folder where you want the files to be saved as well.

7 – Make your selections, click Start button.



On my connections test server i installed everything in one machine.

The  home directory for db2inst1 user ends the file space

The databases and all containers are under the default of /home/db2inst1. So we can use db2relocatedb to move them.

First i tested this here with the sample database, and it worked. Your configuration file should look like the following (This is for FILES DB, you will have to change at least the DB_NAME for the others):


/* NOTE that I am assuming that all databases are using the default storage path like the FILES DB is. If not, you will need to modify this. You can verify by running for each database:


So if the output shows /home/db2inst1, then you can use my example above. Otherwise you will need to use the actual value for te original location. */


/* For the log directory, with the FILES DB, you are suing the default of /home/db2inst1/etc etc, so you do not need to set this. If the others are the same, then you do not need to set them either. Otherwise you have to.


/* For the above, for the FILES database, you are not using any of them so you can ignore these. For the other databases, if you are not using them OR you are using the default of /home/db2inst1, then you can ignore them.

So ultimately for the FILES database, you would have:


If the other databases are just like files (regarding storage path and log directory), then you will have the same thing except for the database name.

Then perform the following steps:

1. Stop the Connections server and terminate all connections and deactivate the databases – “db2 deactivate db <dbname>”.
2. Stop the instance – “db2stop”.
3. MOVE (do NOT copy!!) the database directory to the new location (VERY IMPORTANT TO MAKE SURE INSTANCE IS STOPPED!!):

mv /home/db2inst1/db2inst1 /dados

Once done you should have /dados/db2inst1/<all the database stuff>. Since all databases are under this directory, you only need to execute the one move command.

4. Ensure that the owner/group/permissions for /dados/db2inst1 are correct (should match old location).
5. Then you would execute the db2relocatedb command FOR EACH database. DO NOT START THE INSTANCE UNTIL ALL ARE DONE!!.

db2relocatedb -f <config file name>

You should see the following output:

[db2inst1@connections ~]$ /home/db2inst1/sqllib/bin/db2relocatedb -f blogs.cfg
Files and control structures were changed successfully.
Database was catalogued successfully.
6. Once the above has been done for each database, you should be able to start the instance and then connect to the databases.

Thanks to IBM IM Support.

Connections DB2