New Release of xtalk on OpenNTF

I’ve just uploaded a new release of xTalk to OpenNTF. This new version is a complete overhaul of the original version of xTalk and now uses the OpenNTF XPages Extension Library to create a much easier interface for the forum owner for creating and managing the system.

Tagged with:
Posted in None

XPages And Sequential Numbers

Sequential numbers, talk to any Domino developer and they will shudder when you bring up the subject. They are one of the hardest things to implement in a Domino application. There are many suggestions on how to do sequential numbers in domino apps and they all have advantages and disadvantages.

One of the most common ways is to use an agent which allows for documents to replicate to a central location before assigning them their number. The main problem with this approach is that the numbers don’t get assigned till a later time and the users of the application will more then likely need the number immediately.

Another method involves using profile documents but this can fail because profile documents are cached on each users computer and it is even worse for web based applications because each HTTP thread has its own cache so even users on the same server generating sequential numbers could end up with a duplicate number.

With XPages, however, they way be a solution but before I go into details I’ll stress that this is not a perfect solution because it is designed for a single application running on a single server and not for a replicated application.

In SSJS in XPages there is a feature called ‘synchronized’. Any code inside a synchronized code block will only execute once at a time. If two people in two different sessions click on a button that runs the SSJS at the same time then whichever thread hits the SSJS code first will start running the synchronized block first while the other persons thread will wait till the first persons thread has finished and then once the first persons thread has finished the second persons thread will run the synchronized block of SSJS. Think of it as a car wash, it’s only possible to wash one car at a time while all the other cars that need to use the car wash will queue up outside waiting for the car in front of them to be finished.

Here is a simple version of the code that I built, In my final version I broke out the initial loading and saving of the number store document into separate functions so that I didn’t have to repeat the code multiple times. The code below is simplified for demo reasons.

function simplegetSequentialNumber(){

Tagged with: ,
Posted in None

Save as EML in Notes 8.5.2 Can’t be Disabled But Does That Really Matter?

So looking at planetlotus.org today I noticed a blog entry entitled Save as EML in Notes 8.5.2 Can’t be Disabled? and I’m confused as to why this is really a problem. I logged into Bleedyellow to write a comment but for some reason comments are disabled on that blog so here is what I would have said in my response.

In the blog entry it is stated that “US-based companies subject to the Federal Rules of Civil Procedure and the vexing and huge costs of email ediscovery in civil matters, would have the scope increase for email searches to many other places, which will add much more cost.”. If this is the case then you need to seriously reevaluate your email eDiscovery system because the only way to ensure that eDiscovery is 100% successful is to capture all emails before they hit the users inbox, either through an addin task on the server or even using the built-in Domino Journal feature. Once the email has been captured by the server you have a record of that email no matter what the end user does. They can delete it, they can edit it, they can copy/paste the test to somewhere else and now, with 8.5.2, they can export it an an eml file.

When your legal department needs to do an eDiscovery search of emails they do the search on the emails that were captured by the server. It is a single place for them to look at all emails and be safe in the knowledge that all the emails to ever go through the server are there and unaltered.

if your eDiscovery system is capturing emails AFTER they have hit the users inbox then there is no way to guarantee that the emails haven’t been deleted or altered. Any legal search of emails in such a system would not generate valid results.

The case for having the ability to be able to disable the export to eml function in Domino is, in my opinion, null and void. Legal departments shouldn’t have to care about what happened to an email after the user has received it as long as they have proper records of the emails when the user received it.

Posted in None

Using The XPages Extension Library In Blogsphere V4

The new XPages Extension Library from OpenNTF really does make development a lot easier so I thought I’d take some time out from coding the next version of Blogsphere to show everybody some of the places where I have used the features from the library in my code.

In the configuration areas you’ll find the xe:navigator control being used to created the menus. Simply dragging the control to the XPage and then setting up a tree of menu options in the controls properties quickly results in a oneUI styled menu.

Here I’m using the xe:slider control in the blogs layout configuration page to allow the owner of the blog to quickly and easily select how many entries should appear on the home page. This is much nicer then having an edit box and hoping that the blog owner will enter in a number.

This is the xe:TagCloud control. Created by dragging the control onto a page and then pointing it to a view within the database. There is no coding on my part except to tell it what view to use. I don’t have to write any javascript and the slider control above the tag cloud is also automatically generated for you.

The slide blocks themselves are created using the xe:widgetContainer control. Again the coding is done for you, just drag on the control and give it a title for the most simplest of implementations. You can add an actions menu to the right side of the control by creating a number of ‘tree nodes’ similar to the way the xe:navigator control is created.

This isn’t part of the XPages Extension Library but I just wanted to point it out. This is the new CKEditor control for Richtext items but I’m using a custom toolbar. For comments on blog entries I don’t think it is necessary for the blog reader to have to select fonts and font sizes so I removed the from the toolbar along with a few other default menu options.

There’s a lot more to come…

Tagged with: ,
Posted in Uncategorized
Archives