Moving this blog

As of today I moved my blog to my new site.

From now on you can find the blog at http://www.robertoboccadoro.com

Please if you bookmarked this blog, point to the new address, this blog will not be updated anymore and new posts will appear only in the new site.

Thanks

Roberto Boccadoro

A kind request to conference organizers

In those last two years I spoke at several conferences, from IBM Connect to various user group meetings. I have a request for the conference organizers; if you give to the attendees a sheet for the sessions evaluations, please share the results of the evaluations with us speakers. This does not always happen. It would be beneficial for me as a speaker to know how good or bad I performed. If something is wrong I can work towards correcting it, is not just a matter of ego, though everyone likes a good rating.

IBM Verse on Premises 1.0.0.1 integration with Connections Files. How to make it work – Updated

 

I installed Verse on Premises 1.0.0.1 in my environment but when I tried to add a link to a file in Connections when composing an email I got an error “Sorry we cannot retrieve your files at the moment”.

After a chat with my excellent friend and IBM Champion Christoph Stoettner, he found the problem and the solution.
The official documentation about integrating VoP with Connections says to add a few lines at the end of the httpd.conf file:

 

  • Make a backup copy of httpd.conf.
  • Remove any comment symbols (#) from the following lines:
    LoadModule headers_module modules/mod_headers.so
    LoadModule rewrite_module modules/mod_rewrite.so
  • Find the following two lines:
    LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so
    WebSpherePluginConfig /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml

    Copy the following lines and paste them directly after the two lines:

    RewriteEngine on
    
    # Minor change to adjust for Cloud vs On-Premises API variation of parameter name
    RewriteCond %{REQUEST_METHOD} PUT
    RewriteCond %{QUERY_STRING} ^(.*)uid=(.*)
    RewriteRule ^/profiles/photo.do /profiles/photo.do?%1userid=%2 [L]
    
    # Added necessary CORS headers when Origin header present
    Header unset Access-Control-Allow-Origin
    SetEnvIf Origin "^https://(vop_server_hostname\.)?(domain_name)$" origin_is=$0
    Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is
    Header always set Access-Control-Allow-Credentials "true" env=origin_is
    Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, slug" env=origin_is
    Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" env=origin_is
    
    Header always set Access-Control-Max-Age "1000" env=origin_is
    Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" env=origin_is
    # Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding, slug" env=origin_is
    Header always set Access-Control-Allow-Headers "X-Requested-With, Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma, slug, X-Update-Nonce" env=origin_is
    Header always set Access-Control-Expose-Headers "Content-Disposition, Content-Encoding, Content-Length, Date, Transfer-Encoding, Vary, ETag, Set-Cookie, Location, Connection, X-UA-Compatible, X-LConn-Auth, X-LConn-UserId" env=origin_is
    
    # Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
    RewriteCond %{REQUEST_METHOD} OPTIONS
    RewriteRule .* - [R=200,L]
    
    # Remove the Origin header if it exists for other requests (POST, GET, DELETE, PUT). Causes problems with Connections returning 403 response.
    RequestHeader unset Origin env=origin_is
     You have to change this line

    SetEnvIf Origin "^https://(vop_server_hostname\.)?(domain_name)$" origin_is=$0

    putting your server name and domain name.
    Examples
    vop_server_hostname = mail01
    domain_name = company.com

    `SetEnvIf Origin “^https://(mail01\.)?(company.com)$” origin_is=$0`

This is not enough.
Since in the httpd.conf I use a virtual host, as is common in Connections, you need to add those lines also in the virtual host definition, so I copied them after the line

SSLProtocolDisable SSLv2 SSLv3

in the virtual host definition.

Restarted the http server and now the integration works.

UPDATE

The excellent Tim Clark, a good friend of mine and an IBM Champion, made a couple of interesting and useful suggestions in his comment to this post. I will put them here because not everyone read the comments

  1. It is possible to make the https optional with the following RegEx, http(s)?
    So it all looks like this in the end.
    `SetEnvIf Origin “^http(s)?://(mail01\.)?(company.com)$” origin_is=$0`
  2. you can put all the lines to copy and paste in a separate file so that you don’t have to have it listed twice in your httpd.conf file and then use an include to insret it (**twice**) where you need it.

    `Include “X:\IBM\HTTPServer\conf\vop.conf”`

 

Want a discount for attending IBM Connect ?

Stealing the post from my good friend Sharon Bellamy James. I couldn’t say this better.

Being an IBM Champion is great and it does come with some benefits.

Today all IBM Champions are happy to announce that we can offer YOU a discount of $100 for IBM’s upcoming ICS event – IBM Connect in San Francisco

So what do you need to do – just reach out to an IBM Champion tell us why you want to go to Connect and what your expectations are and as if by magic we will give you the discount code.

Now is a great time to register,  so ping a champ and get the code 🙂

IBM Champion for 2017

I had the great honor of being selected as IBM Champion for 2017, is my second year in a row.
Is great to be part of this group, and I would like to thank Amanda Bauman and Libby Ingrassia from IBM who look after us and do a great job for the Champions community.

There are 7 Champions from Italy, up from 5 of 2016. You can find the complete list here
https://www.ibm.com/developerworks/community/blogs/762e655e-e86c-4624-9662-ee81c6874de1/entry/Introducing_the_2017_IBM_Champions?lang=en

Error with database when editing with IBM Docs

On a server where I installed Docs I could not edit any file; whenever I tried to open in Docs a file I received an error “service is not available” in the browser and in Docs server SystemOut.log I see this:

000000f3 DocumentEdito E   CLFAD1003E: error occurs when getting editors from database                                 com.ibm.db2.jcc.am.SqlSyntaxErrorException: “CONCORDDB.DOCEDITORS.LEAVESESSION” is not valid in the context where it is used.. SQLCODE=-206, SQLSTATE=42703, DRIVER=4.19.26

I asked to the Docs guru, my friend Martti Garden, and I discovered that also on one of his servers he had the same error; he fixed it and told me what the solution was.
I forgot to run the updateschema command after applying CR1. By default when you install Docs and run the updateschema command, it brings the schema of the CONCORD db to 24. But when you apply CR1 you have to run the version of the command that comes with it and that brings the schema to 26.
After running the command all problems were gone and I can edit files in Docs.

Error when upgrading Connections 5.5 with CCM to CR2

While upgrading FileNet CE Server I got an error

ERROR occurred while installing FileNet applications
————————————————————
Traceback (most recent call last):
File “C:\IBM\Connections\lib\ccm.py”, line 400, in map_to_web_servers
ce.map_to_servers(self.web_servers)
File “C:\IBM\Connections\lib\wasobj.py”, line 1735, in map_to_servers
for m in self.installed_modules():
File “C:\IBM\Connections\lib\wasobj.py”, line 1726, in installed_modules
text = AdminApp.view(self.name, [‘-MapModulesToServers’])
com.ibm.ws.scripting.ScriptingException: com.ibm.ws.scripting.ScriptingException: com.ibm.websphere.management.exception.ConnectorException

org.apache.soap.SOAPException: [SOAPException: faultCode=SOAP-ENV:Client; msg=Read timed out; targetException=java.net.SocketTimeoutException: Read timed out]

————————————————————

Looking at it you can see is a SOAP timeout error.

I edited the file soap.client.props which is in C:\IBM\WebSphere\AppServer\profiles\Dmgr01\properties and changed the value of com.ibm.SOAP.requestTimeout from 180 (which is the default) to 0 (which means no timeout).

After the change I retried the update and everything worked fine.

Many thanks to Michael Urspringer for the suggestion.

I’ll be speaking at SUTOL 2016 in Prague

2016-10-12_15-48-43

I will be speaking at SUTOL 2016, the Czech User Group meeting which is in November 10-11 in Prague.

I will have two sessions:
– IBM Docs 2.0 from zero to hero, where I will demo a live installation of IBM Docs 2.0
– A Hitchhiker’s guide to troubleshooting Connections, together with the wonderful lady geek Sharon Bellamy-James

I have been before twice to Prague and I love the city, the availability of good beer is a plus :-), so I can’t wait to be there and meet some of my fellow IBM Champions and other friends.

IBM extends support for Notes/Domino until 2021 at least.

IBM has issued a press release announcing it will extend support for IBM® Notes®, IBM Domino®, IBM Notes Traveler, and IBM Enterprise Integrator for version 9 to September 2021.

Now, as my friend Gab Davis said in her blog post here, this does NOT mean support will end in 2021. I also agree the wording could have been better phrased using “at least”, but as Gab said there are IBM lawyers involved in this so things are not always as we would like them to be. Since I am not an IBM lawyer, I have said “at least until 2021” in this post title because since the press release does not mention an end of support, is a reasonable assumption to believe that support will be extended beyond that date.

I believe this statement from IBM is a good thing, it puts an end to the “Domino is dead” rumors that have been spreading around in these days. Why has that happened (again… this is the umpteenth time I heard that phrase, and has always been shown false) ? Because IBM is moving away from a major/minor release number schema in favor of a method of feature release more similar to what happens in the cloud space. How many customers care, or even know, what version is the software they are using in the cloud ? No one. All it matters is that from time to time new features are added and bugs are fixed. From now on IBM will release “Feature packs” that will enhance the functionalities of Notes and Domino, not caring anymore to call that Domino 9.0.2, 9.0.3, 9.1 or 10 or whatever. It will simply be Notes and Domino 9 updated to the latest features set available. So the fact that there will not be a new 9.x release does not means at all that Domino is dead or not evolving.

Domino is alive and evolving as it has been since R1.