New IBM Notes and Domino Certification Available – get 50% off until 25 June 2013

IBM has announced a nice new entry level certification for Notes and Domino and until 25 June 2013 you get 50% off the certification test so if it fits a suggest you go and get certified. The page I link to at the bottom has the promo code you need for the rebate.

“IBM Collaboration Solutions is pleased to announce a new associate level certification: IBM Certified Associate – Notes and Domino.
This credential requires successful completion of the test LOT-442: IBM Notes and Domino Fundamentals. This test covers IBM Notes and Domino material as it relates to competencies within the following areas:

  • Architecture
  • General Administration
  • Calendaring and Scheduling
  • Replication
  • Mail
  • Clientv
  • Security
  • XPages
  • Non-XPages Design
  • Troubleshooting

Read more: New IBM Notes and Domino Certification Available – IBM Certified Associate – Notes and Domino.

IBM Notes and IBM Domino Social Edition – FINALLY!!!

If you’re part of the Notes/Domino community you are probably excited today!

Unless you’ve been living under a rock you have seen and/or heard the announcements from IBM yesterday about the upcoming IBM Notes and IBM Domino Social Edition. If not do yourself a favor and go watch the recording. And a new major release – no longer is it 8.5.4 but 9.0!

I’m SO pleased that IBM/Lotus/ICS FINALLY took the plunge and stripped the “Lotus” from the product – not that I dislike the Lotus brand but we (the community and the customers) have been in a strange state of flux for so long. From Lotus, to IBM Collaboration Solutions (ICS) to IBM Social Business. We’ve been wondering what the product we love and work with every day would be called or whether it would actually go away and be replaced with some “Websphere thingy”. With the announcement of IBM Notes and IBM Domino Social Edition yesterday IBM finally tore of the Band-Aid that should probably have been torn off back when IBM bought Lotus (or at least shortly thereafter).

With the move to IBM Notes and IBM Domino we can move past all that and look forward knowing that there’s at least a 3 year roadmap and the product isn’t going anywhere. With the best (and only?) public webcast in a long time IBM made it official! IBM has got our back!

And even better – we will also have a PUBLIC beta (see the sign up form). The “public” part is important – no longer is the beta and code drops for the select few of us in the design partner programs but for all. So be sure to take this opportunity and sign up for the beta. Download it. Use it. And most important of all – tell IBM what you think!

Authenticating a web service request

In my current project I needed to place an authenticated web services request from Lotus Domino to an Oracle SOA endpoint. Turned out to be extremely easy using the Lotus Domino web services consumer feature as I just used the setCredentials(String, String) method which then adds the necessary Authorization header to the HTTP call. Below is an example.

MyEchoServiceLocator l = new MyEchoServiceLocator();
MyEcho u = l.getDomino();
u.setCredentials("Domino Admin", "password");
String result = u.echo("HelloWorld");
System.out.println("Result: " + result);

DOTS and automatic startup of bundles

Domino OSGi Tasklet Container (or DOTS for short) is an uber-cool OpenNTF project that allows you to write addins for the Domino server in Java. The project used to be called JAVADDIN which kind of gives the purpose away.

At UKLUG I was asked if there was a way to specify which bundles to automatically start at server startup. I didn’t know the answer so I wrote an e-mail to David Taieb who’s the author of the project and he quickly responded that this is indeed possible. Below is Davids answer:

Yes, you can create a file called config.ini in
{data}/domino/workspace directory and add the following line
domino.osgi.bundles.start=pluginid1,pluginId2,pluginId3

Restart http task and verify that the plugins specified are
active
>tell http osgi diag pluginId1
>tell http osgi diag pluginId2
>tell http osgi diag pluginId3

Best Regards
-david

The above is for Domino 8.5.3 – for Domino 8.5.2 the config.ini file is in the workspace.config directory.

There is a caveat though. The automatic startup isn’t performed until an XPage request is made. An extension point to make bundles automatically startup when the server is started will be added for Domino 8.5.4.

A tale from a customer reaching (and exceeding) the 64 gb limit

As I’ve tweeted I have spent the last couple of days (and the weekend) helping out a customer that exceeded the hard 64 gb database size limit in Lotus Domino. Before discussing how we solved the problem and got the customer back in business I would like you to think about how situations like this could be avoided. And avoiding it is key as once you exceed the size you’re doomed.

First — how and why database platform would EVER allow a database to cross a file size that makes it break. Why doesn’t Domino start to complain at 50gb and make the warnings progressively harder to ignore as the database gets closer to 64gb. Why doesn’t it refuse data once it reaches 60gb? I find it totally unacceptable that a software product allows a database to exceed a size it knows it cannot handle.

Now I know that there are considerations for such a warning and that it could be done in application code (e.g. database script, QueryOpen event) but it really isn’t something an application developer should think about. Also it should be applied to backend logic as well and really doesn’t lend itself to a UI computation. I also know that DDM or similar could warn about it but it still doesn’t change my stance. The 64gb limit is a hard limit and reaching, and exceeding it, shouldn’t depend on me configuring a specific piece of functionality.

Second — having the option of keeping the view index in another location/file than the database would have helped. This has been brought up a number of times including at Lotusphere Ask-The-Developers sessions. One could argue that externalizing the view index from the database would just have postponed the problem but the view index takes up a substantial amount of disk for databases of this size.

Now on to how we saved the data.

The bottom line in this is that the customer was lucky. VERY lucky. The customer uses Cisco IP telephones and keeps a replica of the database in question on a secondary server for phone number lookup using a Java servlet. Due to the way the way the servlet is written only as single, very small, view was built on the secondary server. This is turn meant that the database that had exceeded 64 gb on the primary server was “only” 55 gb on the secondary server. The database on the primary server was toast and gave out very interesting messages if attempting the access or fixup the database:

**** DbMarkCorruptAgain(Both SB copies are corrupt)

So thank God they had the secondary server otherwise the outcome of the story would have been less pleasant because using the secondary server we were able to:

  1. Take the database offline (restrict access using ACL)
  2. Purge all view indexes (using Ytria ViewEZ)
  3. Create a database design only copy to hold archived documents
  4. Delete all views to avoid them accidentally being built
  5. Build a very simple view to prepare for data archiving
  6. Write a LotusScript to archive documents (copy then delete) from the database
  7. Use Ytria ScanEZ to delete deletion stubs from the database (this works for them because the database isn’t replicated to user workstations or laptops)
  8. Do a compact to reclaim unused space
  9. Make the database available on the primary server

Whew! They are now back in business after building views in the database. They were lucky – VERY lucky. If they hadn’t had that secondary replica the data would probably have been lost to much distress. To them and me.

So what are the main take aways from this?

  1. UI check — in the future all databases that I develop will have a database script check on the database size to try and prevent situations like this
  2. DAOS — enable DAOS for databases to keep attachments out of the database and keep the size down
  3. Monitoring — monitor databases either using DDM or other tools to try and prevent sitations like this

And so concludes a story from the field. 4 days later where my hair have turned gray from watching copy/fixup/compact progress indicators the customer is back in and happy once again. Whew!!

iWhat?! Should iNotes be renamed?


Thursday I returned a call from a customer. The customer called because he had heard about Lotus iNotes and since they had iPhones at the company he thought it would be a perfect match for mail on the phone. Well yes – sort of… While iNotes does have three modes and one of them (iNotes UltraLight) works very well on a mobile web browser it’s far from ideal. It actually took me a while to explain that what he was looking for for his “iDevices” wasn’t Lotus iNotes but Lotus Traveler.

Now I know the product names so it was hard for me to understand why it would confuse anybody but after thinking about it some more it’s actually starting to make sense to me. The product name Lotus iNotes is confusing as it suggests that it’s a solution for iDevices which it really isn’t.

I never thought that I would make a case for renaming iNotes but it actually makes sense now.

Now I know that iNotes has been around as an IBM Lotus name long before the rise of the iPod/iPad/iPhone devices but the mind share isn’t on the IBM side. It’s probably confusing more customers than it’s benefitting. Should we return to calling the Lotus iNotes something else? We could probably come up with a shorter name than “IBM Lotus Domino Web Access” but maybe it’s actually quite a good name as it explains what it is. Maybe “IBM Lotus Web Mail” would do. I think I for one will stop referring to Lotus iNotes but that name.

What do you think?

The Lotus Information Development Center (IDC) is looking for users

The Lotus Information Development Center (IDC) is looking for users to participate in XPages technical content and wiki usability evaluations coming up in October! In a usability evaluation you provide feedback directly to the Lotus IDC team about the documentation (help, wikis, etc,) for specific products or services. This is a great opportunity to share your thoughts and opinions with the people who create Lotus product documentation and wikis.

The team needs usability participants for the following evaluations: For this XPages technical content usability evaluation, the IDC team is looking for developers who are new to using XPages technology in their application development tasks but may have used Designer before the introduction of XPages. Familiarity with the legacy Notes application development model is a plus.

If you are interested in participating in any of these usability evaluations,
please contact the Lotus IDC team by clicking here: http://budurl.com/amwz

Provide your email address and the usability evaluation(s) you would like to participate in, and someone from the IDC team will contact you. Evaluations will be done via phone and web conference. Be heard and help improve the usability of Lotus technical content! The team looks forward to working with you!