If you are having trouble running your plugin apps in Eclipse after having upgraded your Notes client to 8.5.2 from 8.5.1, navigate to the desired run configuration and “select all” for the target platform category. Some new plugins were aded in 8.5.2 that weren’t there in 8.5.1 and not selecting them prevents the Notes client from starting up from the OSGi console. Also, use Mikkel’s post as a checksum for your client configuration.
I am sitting on a draft of a rambling missive about folks noticing then increasing relevance of storage service offerings focusing on document-centric type of operations feeling vindicated by the Notes development model are missing the point. The point being? It’s not that the model is suddenly relevant now, it’s just that it engenders the type of massive scaling that large sites and cloud services require.
I'm doing some research for a client in using Freemarker to generate documents using templates and Notes data. It turns out that it’s deceptively simple to create a very basic Notes wrapper object to pass into Freemarker’s templating engine for merging document fields with a template. The closest abstract class to implement for a document is Freemarker’s TemplateHashModel.
Reading all the press and Yellowverse comments about release 8.5.1 of Notes/Domino is illuminating. As a developer, yes, 8.5.1 is the answer to a great many prayers. In particular, XPages support is being fleshed out nicely, with an upgrade to the native Dojo JavaScript libraries and enhanced documentation. A definitive XSP tag dictionary would be nice, though. I still eagerly await a proper XPages debugger, which, I am happy to report, seems to be in the works. A complete rewrite of the creaky LotusScript editor based upon the modern goodness that is Eclipse is a welcome addition.
Just a quick tip/reminder to anyone out there who may have had to use the LotusScript (nee VisualBasic) Dir()
or Dir$()
function. The function IS NOT reentrant. If, as is a typical use-case, you want to deep traverse a directory tree by recursively calling a function that examines a directory using the Dir()
function, take care not to nest calls within the recursion. For example:
In my previous installment I discussed the simple framework for a client validation framework that works in the Notes client and the on the web using a common codebase in Javascript. The implication, of course, being that the validation is client-side and only has to be written once. The framework is skeletal and does not represent a functionally complete example, although it can be made to be.
If time is money, then caching your lookup in Notes agents is cash in your pocket. An agent that repeatedly makes network requests such as view lookups to read document objects for processing data and needs to find the same object over and over can benefit greatly from caching the found object to avoid the network and lookup bottleneck for future requests. I get order-of-magnitude increases in agent performance using the techniques described below in agents that I have deemed network intensive in this manner and have implemented caching strategies for.