The installation process for the orient me part in connections was interessting.
The installer sets up its own IBM CFC (Spectrum Conductor for Containers) environment complete with docker and kubernetes. I went through all the config steps and soon had access to the new orient me page.
Testing the page I sometimes got an error message “Der Activity Stream konnte nicht geladen werden. Zeitlimit für die Anforderung ist abgelaufen.”

Checking back on the CFC Dashboard

 

Checking the applications, the retrievalservice does not want to start. The restart count is currently beyond 450….

Setting up a second environment this time only 1 worker node with the same result.

 

 

After struggling with the new docker environment, I got the logs (kubectl logs is your friend)

There is a nasty error message.

Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
... 1 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'retrievalControllerImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.ibm.orientme.micros.retrievalservice.service.IStackingService com.ibm.orientme.micros.retrievalservice.controller.RetrievalControllerImpl.stackingService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'stackingServiceImpl' defined in URL [jar:file:/opt/ibm/toscana/retrievalservice/retrieval-service/build/libs/retrieval-service-20170327_131255-standalone.jar!/com/ibm/orientme/micros/retrievalservice/service/impl/StackingServiceImpl.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.ibm.orientme.micros.retrievalservice.service.impl.StackingServiceImpl]: Constructor threw exception; nested exception is org.apache.solr.common.SolrException: Cannot connect to cluster at zookeeper1:2181,zookeeper2:2181,zookeeper3:2181: cluster not found/not ready ....

Unfortunatly the zookeper app is green….

Have a look at the touchpoint/js/touchpoint.js file. Find the var  config={} section and change the values in the  privacyAndGuidelines: {}.
You can also change the default language here. Run touchpoint/nls/copy-nls-de.sh script to create the de-ch, de-at,etc. resources…
If you have configured the persistent language cookie in connection with a different name then lclang you should also change the function for browserlanguage.

 

Tagged with:

Installing Connections 6 in the lab was business as usual. If you have installed connections 5 or 5.5, it’s no big difference.
The fun part starts when you go for orientme or touchpoint.

 

 

 

 

 

 

 

 

One thing that is either missing in the Install instructions or I missed it, is that you have to copy the touchpoint directory (containing the index.html) into your webservers htdocs directory.

 

Installing the new homepage aka orient me is interresting. Installing the CFC and orientme images took a while but it was cool to see how the 3 VM’s got installed with all the needed rpm’s.

Important: don’t change the admin password when you check if the CFC is up otherwise the orient me images won’t install.

 

 

 

 

 

 

 

 

I’ve just filled the environment with my 40’000 users (fakenames). I hope the system will be a bit more responsive tomorrow 🙂

Tagged with: , ,

Note to myself

After applying the Domino 9.0.1 FP8 put the java.pol back on the server (jvm\lib\security }

grant { permission java.security.AllPermission; };

Tagged with: , ,

Last week we had an interesting presentation about the IC 360 . There  are some really cool additions to Connections.
Some of the features we saw

  • Import and export of communities
  • Print a wiki as PDF
  • Migrate a community from internal <-> external
  • Find experts with the Expertise Locater
  • Touchpoint – tool to help with the initial sign in / profile process
  • and much more….

There are some videos on the IBM Support Channel

 

Tagged with: , , ,

Recently we got the request to improve the businesscard.
before:

 

 

 

 

 

 

 

after:

 

 

 

 

 

 

 

Send Email has been replaced with Invite to My Network.

Send Email is still available under More Actions. But who really clicks on More Actions ?

 

How to:

First you have to check out the configuration. See the knowledge center and this for details. The businessCardInfo.ftl only contains the content of the businesscard (picture, name, email,…) but not the actions.
Copy just the Invite to My Network link in the content does not work. Once a person is in your network, the invitation link should dissapear. Digging through the Profiles.ear files also revealed no usefull insights.

Going throught the profiles config as described here I just had to change the order.

Now the Invite to my Network action is the first. Checked the config back in. Restarted profiles.. Hurray…

It’s just a small change, but it makes the Invite to My Network more visible…

 

 

… for your ego.

Recently I discovered the code analyzer Sonar Qube with it’s eclipse plugin SonarLint.
When I uploaded my latest , perfect Java project, it revealed a lot of issues and possible problems.
It took some effort to correct the issues and make Sonar Qube happy. To my surprise the code seems to be cleaner and easier to understand.

Superhuman developers do make errors and they know it.

If you’re using a images in eclipse plugins: DO USE THE RESOURCE MANAGER !

I’m getting more and more into the Java World at the moment. Switching from pure Domino to pure Java. Outside of Domino, there’s a lot about manageing dependencies. The freedom of choice is paid by work to beat different runtimes.
Looking for a decent tool to help managing dependencies I came across Ant, Maven and Gradle.
Ant I new from the past. It’s ok but seems to be a lot of code to write and it’s XML…
Maven? Seems that I’m not smart enough.
I was not able to setup a working multi project setup without installing my sub projects in a repository. And it’s XML too.
Gradle, the youngest among these three, groovy based. After reading through some tutorials, and combing through stackoverflow I was able to setup my multi-project build,
with integratopm into my eclipse environment.

Even a Vaadin client is compiling with the right plugin. So I was not forced to use the Vaadin eclipse plugin at all. One thing I was not happy, the Vaadin plugin compiles some JavaDoc and Sources into my final EAR.

Step 1: Remove the JavaDoc and Sources from the deployment descriptor

deploymentDescriptor{
....
withXml {
def javaDocNode = asNode().module.find { it.ejb.text().contains('javadoc.jar') }
if (javaDocNode) {
asNode().remove( javaDocNode )
}
def sourceNode = asNode().module.find{it.ejb.text().contains('sources.jar') }
if (sourceNode) {
asNode().remove(sourceNode)
}
}
}

 

Step 2: Removing the actual Jar’s from the EAR

This page  helped me creating the following block

import org.apache.tools.ant.taskdefs.condition.Os
task removeJars (dependsOn:'ear'){
description 'Entferne unnötige Source und JavaDoc Jars'

doLast {
	if (Os.isFamily(Os.FAMILY_UNIX)){
	println "Entferne unnötige Source und JavaDoc Jars"
	 exec {
  		executable "zip"
  		args "-d", "build/libs/${project.archivesBaseName}-${project.version}.ear", "*-${project.version}-sources.jar"
 	 }
     exec {
     	executable "zip"
  		args "-d", "build/libs/${project.archivesBaseName}-${project.version}.ear", "*-${project.version}-javadoc.jar"
 	}
 	}
 	else
 	{
 		println "get Linux!"
 	}
 	}
}

 

Now I can build my EAR by simply calling gradle assemble removeJars
 

Tagged with: , ,

A long time ago, on a server far, far away….
There was this Connections Community everybody had to be a member, as there would be most important news posted there. And though shall not only be a member of that community no though shall follow it wherever the community may roam.

I accepted the quest and prepared for a long journey through the internet. From the depth of the IBM Infocenter and other resources I brought back an Assembly Line and some shell scripts.
And all was fine, quest completed, I thought. Creeping back to my cave to find some rest.

Short after I finished the quest I heard a cry. It was demanded to add another community which everybody has to be part of. And some communities you should not be able to not follow or even leave.

My crystal ball revealed that there will be more changes and new communities in the future.
This led me to the decision to throw away Assembly lines and scripts and rebuild the processes with a proper UI.
Soon I’ll be able to delegate that work to my principals and find some rest in my beloved cave….