@Unique(view1.getColumnValues(0)) = Repeatable XPages Server Crash

We have been chasing our tails with a server that has ruin really well for a number of years and suddenly started to crash over the last few weeks.

We scoured the logs, domlog, server stats etc.. and couldn’t find a pattern. It turns out it was a 4 year old bug that IBM choose not to fix. ( I have raised a PMR and sent an example )

Just like in classic notes a lookup can get too big – the 64k limit. Obviously it is good coding practice not to create such errors but why of why does such an error crash the server ?????

The original bug report was here => http://www-01.ibm.com/support/docview.wss?uid=swg1LO59373

There is a Stack Overflow article with some good solutions by Knut Herrmann here => http://stackoverflow.com/questions/23264890/how-to-avoid-the-64k-limit-when-retrieving-data-from-a-view-column

The bug is nasty in that the usual log entries are not written before the crash making it very difficult to track it down. The NSD logs didn’t seem to work with the Lotus LND tool, I need to check if this is still valid.

The problem does occur in 9.01 FP2 FP3 on Linux but not in XPinC 9.01

Update 2 : It appears to have been fixed in 9.01 FP3 under and I can confirm that it does not fail in 9.01 FP4

YSAI9CCBYGFixes Domino Server crash when executing notesView.getColumnValues method, if there are many documents in a database.


Update 1 : NSD logs did point to the problem

Looking at the console_acme.com_2015_06_22@15_13_49.log I can see the following line in the “Stack Backtrace” section. This gives a good hint to the problem although the individual XPage is not listed. There may be other debug parameters that would help with that.

[03093:00012-97270640] 22.06.2015 15:15:52   HTTP JVM: Java_lotus_domino_local_View_NgetColumnValues+0x205 (0x03BF8241 [liblsxbe.so+0xc7241])




FoCul Best Practice – Faceted Filtering in XPages Using Java Beans

Improved User Experience

We have found that one of the most difficult parts of developing modern XPage applications has been providing the faceted filtering that users expect from modern web apps.

By faceted I mean filtering that is intelligent – If I choose the Ford manufacturer I should not then be presented with choices for models from Audi. Continue reading “FoCul Best Practice – Faceted Filtering in XPages Using Java Beans”

SNTT – getting access to a Git derived nsf/ntf when you are not in the ACL

Sometimes when you pull down a git based Notes design you find that you cannot open the NSF that you have crated from the On Disk Project because you do not have access in the ACL.

Open the folder structure of the ODP at file system level and use a text editor to change the line below.


You then need to refresh the ODP via Package Explorer.

Don’t forget to push this change back to Git or the next person will struggle too.


Adding Jar and zip files to SourceTree Repositories

When we use JAR files such as DocX4J for exporting from XPages we need to store these within the git repositories so that the developer can add them to their /jvm/lib folder when building the XPage application. If the correct jars are not present the build fails.

The files are stored in a /jar folder away from the /notes folder where the Noes design elements are. We also use a /documentation folder for user guides etc..

When you add these jar or zip files to the repo they do not appear in SourceTree. In my case all that appeared was the /jars/readme.txt file.

The project specific .gitignore file was blank but the default settings in git are to ignore all compiled files and all zipped files. Given that we store documentation and artwork files int eh repo the .zip would also a problem for us.

You need to modify the global .gitignore file as shown below. The project specific .gitignore file is additive tot he global settings and does not replace them.

git ignore
git ignore

Draft Engage / BLUG Slides – Seeing the Wood for the Trees

Engage - probably the best user group in the world

I am very honored to be speaking at the fantastic Engage User Group ( formerly known as BLUG ) this week.

The session is called “Seeing the Wood for the Trees” and is about how I and my colleagues use Domino Designer, Git Source Control and some mostly Atlassian products to manage our help tickets, project management, release management and billing.

The session is at 14:45 on Tuesday and is 50% slides / 50% live demo.

As I have learnt to my cost before it is difficult to go into Source Control in deep detail in 45 minutes so this session is a high level overview for both managers and Developers to show some of what can be achieved by using Source Control with Domino.

We waited a long time for Source Control in DDE and it got off to a shaky start but I am really pleased with what IBM has given us and how it works now. It really has allowed us to integrate the management of Notes / XPages code into our overall processes.

There is obviously more we want to do but this is a good story to share.

All suggestions welcomed. Apologies in advance for needing to moderate comments – my only disappointment in moving from Domino Blog has been how badly WP manages Spam – even with various plug-ins.

The DRAFT slides are here.