Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

Looking forward to DNUG in Darmstadt next week

Daniel Nashed  15 June 2018 16:43:23

IMHO this DNUG will be the most interesting DNUG we had for years.
Our track for Notes/Domino isn't the only interesting track. I also saw many interesting other sessions poping up in my Facebook stream the last days which I did not spot on the agenda (DNUG gave all the speakers a graphic to use for their session).
There are great guys coming from the development side. At Engage in Rotterdam those have been the most interesting and refreshing sessions at the conference.
"HCL" is the new "Iris inside" branding and those guys want to deliver functionality that we are waited for!
If you have the chance to attend, you should go!  IBM and specially HCL is looking for feedback and they are very open to answer questions.
Beside the technical sessions we planned round table sessions and you will be able to see and feel the new Notes client on iPad (aka Nomad). The beta is about to be shipped and the Notes/Domino first round of beta is planned for this month as well. I am pretty sure we will at least see some live demos and hear about the current feature list.
As said before Notes/Domino 10 is just the beginning of the new journey. Domino 11 has been mentioned before and is currently planned for 2019. Mike Gagnon from HCL has a technical session about Domino 10 and beyond!

If you still bleed yellow DNUG next week is the place to be!
For DNUG members the conference this year is free again. And I still have my personal ticket to give away, because as a speaker and track manager I can give away my personal ticket.
https://dnug.de/dnug45-jahreskonferenz-im-darmstadium/

-- Daniel

@Transform -- a very powerful Notes formula function

Daniel Nashed  31 May 2018 10:39:57

Notes Formula language is a very powerful part of Notes/Domino which has been around since the first Notes version.
We take it for granted but this is really a key element of the flexibility and RAD we have in Notes.
It's used in forms, views, can be invoked from Lotus Script and even C-API. I am using it every day.
There isn't ,much current training material but it's derived from spreadsheet formula language (this is where actually Notes has it's roots as well).

The @Transform function is very powerful and I don't know why I did not use it for a long time. After I rediscovered it I have used it for views multiple times in a week!

When you work with lists you can only do list operations on the whole list. But if you want to do different operations depending on the element you would need to implement a loop -- which is possible as well in @formulas.
But there is a more convenient function that you can use.

@Transform allows you to operate on each element and build a new list.

The syntax is pretty simple. You provide a list and define a variable that is used in the formula that is executed on each element. The result is a new text list.

Here is a simple example:

mylist:="abc":"edf"; @Transform(mylist; "x"; @if (@Begins(x;"a"); @Right(x;"a"); x))


You can only execute one formula but you can use @Do to group multiple operations if needed.
In a formula I wrote yesterday, I even used a @Transform inside another @Transform.

I had to build a view showing the delegation used in mail-databases based on my own catalog application ("nshdbcat").
Depending on the ACL entry I show the different delegation.
This can be done in a view and it is pretty fast. Rebuild of the view takes a couple of seconds even with 30000 database entries in the catalog.

So if you are working with lists and need flexible operations, @Transform is your friend. I don't know why I forgot about this @function. But it is very usefull!

I have appended the syntax below and my view column formula I build yesterday for evaluating delegation as a more complex example.

-- Daniel


Syntax
@Transform( list ; variableName ; formula )

Parameters
list - Text, number, or time-date list. The list to be acted upon.
variableName - Text. The name of a variable. Use this variable in the formula to refer to the list element being acted upon.
formula - Valid formula that evaluates to a result. The remainder of @Transform after the second parameter is the formula that is applied to each element of the input list. The formula must return a value.

Return value- list
Text, number, or time-date. The result of the transformation on the input list. The first value returned by the formula determines the data type of the list. Subsequent return values must be of the same type.

Usage
An iteration of the formula can return a list, which adds multiple values to the return list.
@Transform returns an error if any iteration of the formula returns an error.
If an iteration of the formula returns @Nothing, no element is added to the return list.



u:="User\\";
g:="Group\\";
public:= @Transform (NoAccess; "x";
@If (
@Trim (x) = ""; @Nothing;
@Contains (@Word (x; "|"; 3); "W"); "2. PublicWrite\\"+@Transform(@Word(x; "|"; 1);"z";@If(@Begins (z;"CN="); u; g)+@Name([Abbreviate];z));
@Contains (@Word (x; "|"; 3); "R"); "1. PublicRead\\"+@Transform(@Word(x; "|"; 1);"z";@If(@Begins (z;"CN="); u; g)+@Name([Abbreviate];z));
@Nothing));


r:=@Transform(@Word(Reader; "|"; 1);"z";@If(@Trim(z)=""; @Nothing;@If(@Begins (z;"CN="); u; g)+@Name([Abbreviate];z)));
a:=@Transform(@Word(Author; "|"; 1);"z";@If(@Trim(z)="";  @Nothing;@If(@Begins (z;"CN="); u; g)+@Name([Abbreviate];z)));
e:=@Transform(@Word(Editor; "|"; 1);"z";@If(@Trim(z)="";  @Nothing; z=MailFileOwner; @Nothing; @If(@Begins (z;"CN="); u; g)+@Name([Abbreviate];z)));


all:=@Trim(public:
@If (r="";@Nothing; "3. Reader\\"+ r):
@If (a=""; @Nothing; "4. Author\\"+a):
@If (e=""; @Nothing; "5. Editor\\"+e));
@If (all=""; "-- No Delegation --"; all)

Domino Startup Program Docs by Weekday

Daniel Nashed  31 May 2018 08:50:03
We ran into this by coincident. Usually this doesn't happen when you have a new program doc.
But we copied existing program docs and modified them.

If you change your program document from "Enabled" to "At server startup only" the weekdays to run the program are hidden in the UI.
You would assume that the program is started when the server starts at any day -- But the weekdays are still effective for this program document!

In our case the Saturday wasn't selected because Saturday is our maintenance day and we copied the program doc from other program docs before modifying the trigger.
We had scheduled server maintenance on Saturdays. So this program doc wasn't executed when the server was booted...

In most cases when you create a program doc from scratch this will never cause any issues because by default all weekdays are selected.
The UI and the code are not following the same logic. And at least this isn't an intended behavior and I don't see that I would have a use case for that.

If you are a copy&paste fan like me, you should check your startup program docs!
The fieldname is Field Name: WeekDays and the textlist should contain the numbers "1" to "7".

-- Daniel



Font Rendering Changes in 9.0.1 FP9/FP10

Daniel Nashed  28 May 2018 23:13:18

There is a font encoding change introduced in 9.0.1 FP9  to better display fonts when send in MIME messages.

-- snip --

Full fidelity for fonts in Notes emails

When Notes users send email over the internet, the font size in the MIME body is
rendered correctly in the recipient email. No notes.ini setting is needed.
-- snip --


But sending MIME messages to older Notes Client versions the fonts might look different. For example "serif" font might be displayed as "san serif".

Here is an example:



-- Feature Pack 9  --


</span><span style#dx3#" font-size:10pt;font-family:sans-serif">


-- Feature Pack 8 --


<font size#dx3#2 face#dx3#"sans-serif">





There have been improvements in the font rendering in FP10 to display sent messages and incoming messages in FP10 correctly.

But if you have many older Notes Clients you send MIME mails to and want to avoid that the client shows the wrong font, you might want to revert back to the previous font encoding.


9.0.1 FP10 introduces a new Notes.ini setting to revert back to the previous font encoding.

Because I am communicating with many Notes recipients over the internet, I have decided to revert my font encoding back to the previous fomat for now.


-- snip --

"SPR# SSIRAS99AG - Added an ini
"DisableFontSizeMimeImprovement" to disable the fix for SPR #SSIRAAGJX8 that went into 901FP9"
-- snip --



But the notes,ini setting in the SPR description is missing the underscores. The correct setting is:


notes.ini
DISABLE_FONT_SIZE_MIME_IMPROVEMENT=1


-- Daniel

Image:Font Rendering Changes in 9.0.1 FP9/FP10

First impressions from Engage Conference in Rotterdam this week

Daniel Nashed  23 May 2018 22:39:40
Just back from #engageug. The conference was the best conference I have been for a long time!
Beside the great venue on the cruise ship the HCL sessions technical session and specially the round tables have been a big positive surprise for me.


As a already posted this week my impression is that the move from IBM to HCL gave a big positive push to the development team!

The feedback they took and there reactions to our ideas what the details we got about Notes/Domino/Verse/Sametime 10 was more than positive.

I am really looking forward to get my hands on the first beta arriving for a closed group in June and a beta 2 is planned in July for a larger audience.


HCL is not only investing in the Domino server and all the new stuff like
https://nodejs.org support, the client on iPad and on Android tables that is coming but they also invest in the Notes client!
Beside the new client functionality we have seen in the sessions there way more in the round table discussions that HCL and IBM did tell us. And they have been very open for additional feedback!

Not all of it will make it into Notes/Domino 10 but they are already planning for a Notes/Domino 11 release (planned for 2019).


Beside of of the features there is great news for AIX, iSeries/System i, SLES customers.

At our Linux round table we got the info Domino 10 is planned to be supported on all of those platforms!!

The only platform that will be dropped is Win32. The plan is introduce Win64 support for Sametime 10 and remove the remaining road blocker for dropping Win32.


In addition to that there is great news for customers who want to run Domino on CentOS.

CentOS is a long term release/free community edition which is source code compatible with REHL.

So with the feedback we gave at the conference and in our roundtable IBM/HCL is planning to introduce "best effort" support for CentOS 7 in Domino 10!

That means that you will be able to submit PMRs. You will not longer have to reproduce it on one of the other supported platforms!

One of the other reasons is that the base image for Docker in Domino 10 will be very likely CentOS as well.


There are already many smaller customers using CentOS for their Domino environment. And I am also supporting CentOS for my Domino start script.


So I am very happy about this move! This will be specially interested for smaller customers and maybe new developers who want start to look into the new stack that is planned for Domino 10 with Node JS.


HCL showed live code in their sessions and had iPads with the current build of the HCL Nomad to play with!

I am really looking forward to get my hands on the betas!


Thanks again to Theo and the team this marvelous conference!

Daniel




Domino 9.0.1 FP10 IF2 - one important fix is missing

Daniel Nashed  21 May 2018 09:06:21
Domino 9.0.1 FP10 IF2 has been released with some important fixes.

If you are on FP10 you should apply IF2. If you did not install FP10 you should wait for IF3.

There is one missing fix for a Domino server hang that you should be aware of.  I personally know at least about 3 customers who ran into this issue.
It can happen if two processes are updating the same database. For example update, replica, router and server!

It wasn't clear when IF2 was released and I had to double check with IBM before posting. That took some time.

So if you are not on FP10 you should wait for IF3 which should have those two fixes.

SWAS96ZP5B: Server hang due to semaphore deadlock between a doc update & nsf search (cc# 323200)
JMANAS8HZP - Crash on router after upgrade to 901FP9 on nIMAP with PANIC: OSBBlockAddr: Bad BBlock handle (FFFFFFFB) (cc# 322553)

-- Daniel


Interim Fix 2
                       
RMASAT7KEX         Fixed an issue where LDAP does not properly escape # character in results        
YYYYAQK8QM         Fixed an HTTP PANIC on LookupHandle        
VNEN8J2MUZ         Fixed a router PANIC on LookupHandle        
RDUK5E6U8Z         Fixed an issue where sending a message from iNotes a second instance of "MIME-Version: 1.0" occurs in MIME header        
SWASAVKR2A         Fixed a hang w/ extension mgr search calls        
ARUIAXQW38         Fixed a panic at Domino startup if statically enable inline view indexes for Domino 9.0.1 Feature Pack 10        
MKINAXNM6V         Fixed an issue where check markers crash in WriteJavaScriptMethods()        

Destination Domino / Notes/Domino 10

Daniel Nashed  19 May 2018 11:26:16

Destination Domino / Notes/Domino 10


I haven't blogged much in the last weeks and I haven't been at IBM Think in Las Vegas for personal reasons.

The feedback I got from partners and customers after IBM Think and at the Swiss user Group (SNoUG) event in Z├╝rich was very positive.

I would have wished we would have got that energy back some years before.


Personally I wasn't a big fan of feature packs. It has been a great idea to ship incremental feature releases in an agile style as soon they are ready.

But renaming "FP" form Fixpack to Feature Pack also introduced some technical deployment challenges and the market did not really understand it.


There are improvements in every fixpack and feature packs. For example some long planned features like NIFNSF and large summary data.


I have spoken at many conferences about best practices and features introduced in the recent feature packs.

Those new backend database features and other new functionality showed long term commitment even there was some not completely clear communication about support extension for the 9.0.1 release.


Having a Domino 10 release and already speaking about future plans like "Domino 11" is great news!
Now with HCL taking over the development including all the developers a Domino 10 release makes a lot of sense.


Development moved to a HCL location near to the IBM offices in Littleton, MA.Now they can finish implementation of ideas they started to work on years ago.
What I hear there is a lot of new energy and they are looking for 70 new developers.


IBM was reducing investment and staff not only for Collaboration software but also in other areas.
Having HCL as a company who believes in the product and sees the potential behind it as a platform is great news!

HCL is a large international company with locations world-wide and they wouldn't invest in it, if they would not see future in it!


The Notes client on iOS is a good example. The first versions of it existed already for a while. It's an own port which will be also available on Android!
And by the way the Notes 10 client will share the code base with the Mac client. The current plan is to have the Windows client available in 64bit with Notes 11 in 2019.


Looking into the presentations from IBM Think in Las Vegas I did not see all features and new development capabilities planned for Domino 10 that I did hear from partners and customers after the conference and from other sources.

But IBM and HCL are very clear about the long term support for Notes/Domino!


At SNoUG the picture was more clear and I am looking forward to the Engage conference in Rotterdam to see more details  -->
https://engage.ug/
We also finalized the agenda for the German DNUG event in Darmstadt mid of June  -->
http://dnug.de/en/dnug45-agenda/

I will be presenting at both conferences and I am looking forward to meet many of you at those two events!


You should also keep an eye on the Destination Domino website -->
https://www.ibm.com/collaboration/ibm-domino

And I will be more active on my blog after the Engage conference.


-- Daniel



Notes Client FP Installs fail starting 20.4.2018

Daniel Nashed  24 April 2018 09:38:04
Since 20.4.2018 Notes Client Feature Pack Installations are failing.
I got the first report on Friday and another customer pinged me on Monday.

And we are discussing among partners about this issue.


One partner reported that updates from FP9 to FP10 still work for him. But all other updates are failing.

IBM state that this isn't an issue with FP7 or FP8. But I have not verified that.


The root cause is that signatures for some plug-ins cannot be verified any more because the certificate validation expired.

It's not just one plug-in that fails and you might have a different plug-in that is reported to cause the error.


Here is the error message that you see n the Eclipse logs:


java.security.cert.CertificateExpiredException: NotAfter: Fri Apr 20 01:59:59 CEST 2018


If you turn back the time to an earlier date it's still works. But this isn't a work-around I would suggest.


There is another work-around to temporary allow expired certificates of signatures during install and enable it afterwards.


You would need to add the following setting to plugin_customization.ini and revert the setting back after installation.


"com.ibm.rcp.security.update/EXPIRED_SIGNATURE_POLICY=ALLOW"


But again this is also just a work-around.


IBM is aware of the issue and posted a technote -> http://www.ibm.com/support/docview.wss?uid=swg22015805

They are working on a solution. The technote says that they don't know exactly what is causing the issue. We have to wait for their update.

And I would recommend to wait before updating your clients until a fix is available instead using the work-arounds.



Update April 26, 2018:

IBM/HCL posted an update today in the TN. They found the issue, fixed it and hopefully if QE testing is successful we will have a fix soon.

@Marc, see they are posting an update for 9.0.1 FP9, FP10, Current MAC 64bit Client and also 8.5.3 FP6!
So the update for FP9 will be first and the other versions follow soon!



Here are the details from the update:

We have found a solution for the certificate issue for all products and versions. Please see the eGA for each product and version in the table below. Please note this is subject to change depending on the outcome of our QE Testing.
Product Version                                  Projected eGA
Notes Client 853FP6IF16                    Tuesday May 1, 2018
Notes Client 901FP9IF2                 Friday April 27, 2018
Notes Client 901FP10IF3                 Beginning of May 2018
MAC 64-bit IF15                         Tuesday May 1, 2018
Sametime Standalone 9.0.1 FP1         Beginning of May 2018



-- Daniel

Traveler 9.0.1.21 Released

Daniel Nashed  7 March 2018 22:57:53
There is a new Traveler Release posted today. I don't see many critical issues but some might affect you.
I have just updated my server right now.Looks good so far.

There is a change in the database schema, when you run Traveler HA with a state database on SQL server:

"Note for customers that manage their database schema: IBM Traveler 9.0.1.21 includes a database schema update for MS SQL Server deployments. It is only necessary to run verifyIndexes.sql to update the schema to latest level.
Otherwise no action is required unless upgrading from a version prior to 9.0.1.16. If you use auto schema updates (default behavior) there is no action required."

-- Daniel

APAR # Abstract
LO93281 Modify an encrypted event from mobile device may corrupt event body.
LO93380 Support 32 bit Domino 9.0.1 Server.
LO93412 One index may cause performance problems on MS SQL Server.
LO93440 Incorrect default ACL for R6MemoMap.nsf
LO93455 Incorrect error code used for network error.
LO93466 Set $RFSaveInfo field on Reply/Forward from mobile device.
LO93491 Name used for time zone on mobile device does not match value used by Notes Client.
LO93522 Improve handling of very small in-line mime images.
LO93529 Web Administrator interface may show Verse for iOS device as not supporting data wipe.
LO93547 Not authorized message logged during network outage.
LO93596 Device may be missing e-mail if user has another device with a smaller filter window.
LO93599 Handle unexpected list format in notes.ini file.
LO93645 Event may not show on user's device when user was removed then re-invited to the event.
LO93660 Yellow status message displayed for Replicas table missing a Primary Key.
LO93663 Mail in sent folder may be missing content when configured to save with no attachments.
LO93706 Add NTS_JAVA_PARMS_EXT notes.ini parameter to allow for values larger than 256 characters.
LO93709 Attachment with DBCS characters in the file name may not display on mobile device.
LO93720 Update APNS Certificates, new expiration data March 30,2019.




    Notes and Domino 9.0.1 FP10 IF1 has been released

    Daniel Nashed  9 February 2018 08:39:40
    Notes and Domino 9.0.1 FP10 IF1 has been released.
    I already posted that the subject line encoding was already fixed with a HF I got thru support.
    And also that the version numbering issue has been fixed.

    The subject line issue also affects the Notes client when you run POP3/IMAP in the client because the same code is used.
    A fix for the client is planned. So in case you are using POP3/IMAP you should wait for the next IF.

    There is also a security vulnerability which has been pushed out to customers via FLASH: Security Bulletin.
    So in case you are running on Windows you are affected when any of the services like NSD or smart-upgrade! All releases are affected according to the technote.

    The LDAP authentication issue which was a regression in FP9 causing some type of authentications to fail.
    That regression is still pending to be fixed. So if you use your Domino as an authentication source via LDAP (for example for Sametime) you should still wait for the fix before upgrading that server.

    -- Daniel


    Domino Server 9.0.1 IF1

    PPUEASMHAW        Fixed a potential security vulnerability with the IBM Domino Diagnostics service Security Bulletin: IBM Notes NSD Privilege Escalation (technote 2010777)        
    PPUEASUDSF        Fixed a potential security vulnerability with the IBM Domino Diagnostics service Security Bulletin: IBM Notes Privilege Escalation in IBM Notes Diagnostics service (technote 2010767)        
    MKINAUWTG4        Fixed a potential Server memory leak        
    DVDI9UNH38                 Fixed a potential Server crash        
    JBAMAVKUPX        Fixed an issue where the subject line encoded (UTF-8) after upgrading to Domino 9.0.1FP10        
    KBRNAVLMA3        Fixed an issue where the version string returned was incorrect with the API NSFDbGetMajMinVersion after upgrading to Domino 9.0.1FP10        

    Notes Client 9.0.1 IF1

    PPUEASMHAW        Fixed a potential security vulnerability with the IBM Domino Diagnostics service Security Bulletin: IBM Notes NSD Privilege Escalation (technote 2010777)        
    PPUEASUDSF        Fixed a potential security vulnerability with the IBM Domino Diagnostics service Security Bulletin: IBM Notes Privilege Escalation in IBM Notes Diagnostics service (technote 2010767)        
    PPUEASNC5D        Fixed a potential security vulnerability with the IBM Notes Smart Update Service Security Bulletin: IBM Notes Privilege escalation in IBM Notes Smart Update Service  (technote 2010775)        
    KBRNAVLMA3        Fixed an issue where the version string returned was incorrect with the API NSFDbGetMajMinVersion after upgrading to Domino 9.0.1FP10


    Archives


    • [IBM Lotus Domino]
    • [Domino on Linux]
    • [Nash!Com]
    • [Daniel Nashed]