My impressions from IBM Connect 2013

Here are my impressions from the IBM Connect 2013 conference that I attended last week.

Social collaboration
IBM connections 4.5 is coming this March and is improved in many areas such as the new file sync feature.

Customers with a valid IBM Domino entitlement can continue to use IBM Connections Files and Profiles features for free.

Embedded applications in IBM Notes, IBM iNotes (web mail) and IBM Connections activity streams make it possible to act on business applications directly within the context of your mail or your activity stream.

Business applications
The IBM platform for building powerful business web applications for the IBM Collaboration Solutions platform across desktop, tablets and smartphones is XPages running on IBM Domino 9.0 or IBM XWork Server 9.0.

The platform contains many improvements such as including the XPages Extension Library in the default server and client install. XPages Extension LIbrary makes development and deployment of modern business applications faster and more powerful.

The license for IBM XWork Server 9.0 is now $1,000 per 8 databases which further makes the IBM XWork Server a very competitive platform for business web applications.

The IBM Social Business Toolkit (IBM SBT) allows you to integrate the different IBM Collaboration Solutions products. You can as an example use  the SBT to create embedded experiences in XPages that runs in the activity stream of IBM Connections. You can check out the features of IBM SBT in the Social Business Toolkit Playground.

Mail
IBM Domino 9.0, IBM Notes 9.0 and IBM iNotes 9.0 continues to be the center of mail and messaging.

IBM Domino 9.0 makes it easy to migrate from Microsoft Exchange by using the Domino Migration Utility which is part of the 9.0 installation.

IBM Connections Mail makes it possible to use mail directly within the context of IBM Connections.

IBM Notes and IBM Domino
IBM Notes 9.0 Social Edition and IBM Domino 9.0 arrives in March 2013. The roadmap for IBM Domino has detailed plans until 2015 – showing a strong commitment from IBM towards IBM Notes and Domino.

The IBM Notes 9.0 client comes with many improvements in areas such as usability, productivity, and social collaboration – including a browser-based version of IBM Notes (Notes browser plugin) for use in combination with for example iNotes to be able to access applications that do not have a web frontend. IBM Notes 9.0 Social Edition also provides an activity stream for your IBM Connections updates and for embedded experiences for custom-built business applications.

The IBM Domino 9.0 server adds lots of improvements to security (such as the option to run IBM Notes with no need for a local ID file!), OS support (Domino is finally available in a 64-bit version for Linux), maintenance, serviceability and performance.

IBM can help you double check your investment in IBM Notes and Domino. Contact IBM for a free engagement where IBM will analyze your Domino environment and give you facts that you can use when comparing Domino with alternative solutions. IBM uses DNA by Trust Factory for this analysis. This offering is now called IBM Domino DoubleCheck – Powered by Trust Factory.

Cloud
IBM does cloud too (and at a great price) – whether it’s about moving your mail to the cloud, adding social collaboration including collaborative editing of documents and instant messaging or going hybrid (cloud and on-premises servers).

With the before metioned IBM Social Business Toolkit you can extend your on-premises business applications in the cloud.

Chat
The IBM Sametime product family will be enhanced with version 9 which is expected in the second half of 2013.

Final thoughts
Overall it’s a very impressive product family.

Personally, I look forward to continue to build great business applications based on XPages for my customers.

All presentations from the sessions at IBM Connect 2013 are available for registered attendees. Some of the presentations from the sessions are also available publicly. Furthermore, some sessions have been recorded and are available as video including the Opening General Session.

IBM Notes and Domino 9.0 Social Edition beta now available

Ed Brill just announced that the IBM Notes and Domino 9.0 Social Edition betas are now available for download. The beta program is open for everyone so go ahead and sign up and try the new IBM Notes 9.0 🙂 Use the 9.0 beta forum for feedback.

Here’s the beautiful IBM Notes 9.0 (Mac) client:
IBM Notes 9

I have upgraded my developer environment to 9.0 and look forward to lots of improvements to IBM Domino Designer.

Thoughts from Lotusphere 2012: Lotus Notes Social Edition

One of the highlights from Lotusphere 2012 was the accouncement of the next feature release of Lotus Notes called Lotus Notes Social Edition.

Lotus Notes Social Edition features a new homepage with activity streams and embedded apps (embedded experiences) using open standards such as OpenSocial. From the Lotus Notes homepage a user can interact with an external application without leaving the home page (collaboratio in-context). Lotus iNotes (the web mail component for Lotus Notes) will also support activity streams and embedded apps. The new homepage looks similar to the activity streams in the upcoming IBM Connections 4.0 release.

XPages and the Extension Library Social Enabler toolkit can be used to implemenet applications that support activity streams and OpenSocial gadgets in order to create embedded apps. The Social Enabler Toolkit is currently only part of the OpenNTF release and will be part of Upgrade Pack 2.

Social Edition also features a brand-new and more simple UI for mail (for both the Lotus Notes client and for iNotes webmail):

In between now (8.5.3) and Social Edition we will see a 8.5.4 release with features required to be able to deploy the Social Edition upgrade on top of Lotus Notes and Domino 8.5.4. In 2012 we will also see the release of Upgrade Pack 2 (IBM supported Extension Library with new features currently only available in the experimental part of the OpenNTF Extension Library).

Lotus Domino 8.5.4 is planned to support SAML and oAUTH for authentication. With Domino supporting oAUTH it will be possible to bring XPages applications into the context of other applications.

Finally, the Lotus Notes app browser plugin for Firefox/Windows was presented at Lotusphere. This plugin is a lightweight Lotus Notes client in the browser that can run Notes client applications. This enables organizations to focus on implementing new XPages web applications and have their existing/old Notes client applications use the plugin.

Ed Brill from IBM has blogged about Lotus Notes and Domino Social Edition and also posted his “Messaging and Collaboration Strategy” session from Lotusphere on Slideshare.

Chris Reckling from IBM has blogged about the Notes and iNotes announcements from the Lotusphere 2012 OGS.

My 1st year as self-employed consultant at PHL Consult

One year ago I started as self-employed consultant at my own company PHL Consult after having worked for IBM for 16 years – and what a great year! Starting on my own has proved to be one my of my best decisions ever.

It has been a year of classic Lotus Notes application development work, XPages development work, teaching courses and much more. I started with one customer and have since then been doing work for 10 other paying customers and been involved in proposals for a handful more. Furthermore, I reviewed David Leedys XPages cheat sheet, and reviewed the IBM course “Modernizing Lotus Domino 8.5.2 Applications”.

This year I also became member of the boards at NotesNetDanNotes and OpenNTF.

The following are public sites that I have implemented for customers during my 1st year:

Lessons learned (and assumptions confirmed):

  • Networking is important: several of my customers have chosen me for their work because we were connected in some way.
  • Advertising helps: I advertise my business services on the Google advertising network and know for a fact that some customers came to me via that channel.
  • Being social: I am a strong believer in blogging and social networks and the impact that it can have on you and others.

I look forward to the next year and what it will bring me of interesting work and projects.

One final advice: pursue your dream!

Lotus Notes/Domino 8.5.3 and IBM XWork Server 8.5.3 are here

It’s October 4th and Lotus Notes and Domino 8.5.3 are now available for download on Passport Advantage. The brand new IBM XWork Server has also been announced.

I have been looking forward to this release in general, and in particular because of features specifically for XPages developers:

  • improved JavaScript editor
  • finally a java design element for XPages
  • Dojo 1.6.1
  • OneUI version 2.1 (which looks very similar to the prototype 3.0 version that the Lotus Notes and Domino Application Development wiki uses)
  • option to combine CSS and JS in a single file to improve site speed
  • improved HTML5 support such as support for adding HTML5 attributes
  • source control enablement
I look very much forward to an improved experience when working with XPages development in the Domino Designer client. Happy coding!

Integrating a Lotus Notes application with Exchange

I recently finished a project with the purpose of integrating a Lotus Notes CRM application with Microsoft Outlook and Microsoft Exchange. The customer has moved their mail handling to Exchange and Outlook and still uses Lotus Notes for their application handling including this CRM application. The CRM application had functionality to import mails from Notes, send mail from Notes, and create and maintain meeting invitations. My task was to make this functionality work with Exchange and Outlook instead.

In order to integrate with Exchange I used the Exchange Web Services (EWS) Java API and created a Java class with the necessary jar files imported that is responsible for the interface between the existing Lotusscript logic and the EWS API. The Lotusscript logic then uses LS2J to use the methods in the Java class.

With Exchange Web Services installed on the Exchange server the Java API can access the web services using the WSDL at /EWS/Service.wsdl (through an endpoint called /EWS/exchange.asmx).

To allow the Lotus Notes client to communicate with the Exchange server I needed to change the java.policy file in order to add: permission java.net.NetPermission “setCookieHandler”, “write”;. To automate this I used this Lotusscript code by Darren Oliver that checks the java.policy file for a specific permission policy and if not found adds the permission policy.

At first I wanted to use Exchange Impersonation to allow a single Windows Active Directory account to be able to act on behalf of others users on a Exchange mailbox. This decision was later changed to use the individual users own credentials. The user is prompted for their password and this is stored encrypted for their use only in a profile document. The following code snippet shows how communication with the Exchange server is set up in Java using the EWS API:

service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
// service.setTraceEnabled(true); // enable to trace the web service communication in the Java debug console
service.setUrl(new java.net.URI(server));
ExchangeCredentials credentials = new WebCredentials(userid, password);
service.setCredentials(credentials);

A meeting is simply created using the Appointment class. Time zone support is achieved by using UTC as the time zone for date details. To format dates as UTC I used the LSGMTTime  property of the NotesDateTime class.

Appointment appointment = new Appointment(service);
appointment.setSubject(subject);
appointment.setBody(MessageBody.getMessageBodyFromText(body));
appointment.setStart(formatter.parse(startDate));
appointment.setEnd(formatter.parse(endDate));
appointment.setLocation(location);
// Save as appointment - and not as a meeting with participants
appointment.save(SendInvitationsMode.SendToNone);

Importing mails is done by presenting the user with a list of mails from the users Exchange mailbox. The list is retrieved by looping through the Inbox folder:

ItemView view = new ItemView(100);
view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Ascending);
FindItemsResults<Item> findResults;
findResults = service.findItems(WellKnownFolderName.Inbox, view);
service.loadPropertiesForItems(findResults.getItems(), new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.Subject, EmailMessageSchema.DateTimeReceived, EmailMessageSchema.Sender));

The user then selects a mail from the list and the corresponding mail in Exchange is retrieved with the unique item id as identifier.

EmailMessage message = EmailMessage.bind(service, new ItemId(mailItemId));

Rich text support between Notes and Outlook is handled using Lotusscript stream and mime classes:

Set stream = session.CreateStream
Call stream.WriteText(mailBody)
Set mime = doc.CreateMIMEEntity("Body")
Call mime.SetContentFromText (stream, "text/html;charset=UTF-8",ENC_NONE)

When sending mails from the Notes CRM application the user can access their Outlook contacts. The list of Outlook contacts is retrieved by looping through the Contacts folder:

ItemView view = new ItemView(2000);
view.getOrderBy().add(ContactSchema.DisplayName, SortDirection.Ascending);
FindItemsResults<Item> findResults;
findResults = service.findItems(WellKnownFolderName.Contacts, view);

The Microsoft Outlook client is launched when a meeting invitation is created in order for the user to finish the meeting invitation in Outlook. This is achieved by using the Shell Lotusscript command together with the fact that Outlook can be launched with a parameter that indicates what item to open when launched:

Shell( getOutlookPath() + " /select outlook:" + Ucase(doc.OutlookUniqueId(0)) )

The use of LS2J led to some performance issues at the customer site in the form of 10-20 seconds load times before a document was opened. The reason for this is that the Java code is extracted to disk whereby the Antivirus program at use at the customer site started to check all files for virus before the document could be opened. The customer modified the Antivirus settings to remove this check whereby the documents opened within reasonable time again.

I am now an IBM Certified Application Developer – Lotus Notes and Domino 8.0

I passed the IBM Lotus Notes Domino 8 Application Development Update exam (LOT-801) today and have thereby upgraded my certification to IBM Certified Application Developer – Lotus Notes and Domino 8.

I primarily used the Lotus Notes/Domino 8.0 release notes and the Notes/Domino Designer 8.0 Help and also the LOT-801 practice test from CertFX. The 801 test has a lot of focus on Domino on DB2, Composite Applications, and Web Services. I can – once again – highly recommend using a practice test as it gives you a good indication of how the actual test will be structured. Good luck if you consider taking a certification test.

I can now look forward to the LOT-951 test to achive the 8.5 certification – and then later the necessary test to achieve the Advanced 8.5 certification.

Welcome to the opening of PHL Consult

It’s October 18! Today is my first day as a full time consultant in my own company PHL Consult – where I am going to primarily work with Lotus Notes and Domino based solutions. Feel free to take a look around the new offices 🙂

For my first project for a client I am going to work with XPages. I look forward to the challenge of both learning a lot more about XPages and of implementing the web site for the client.

Let me know if I can provide you with my assistance. Thanks.

Independent member of the Danish Notesnet group

I am pleased to say that my Lotus Notes/Domino consultancy company PHL Consult has been accepted as an independent member of the Danish Notesnet group of Lotus specialists. The members of Notesnet are all self-employed consultants working with Lotus products in general – and for most of the members with Lotus Notes and Lotus Domino in particular. I am sure that being member of this group will benefit me in some way or the other now that I start on my excisting new adventure.

Before being accepted as member I was invited to the group’s September meeting by the chairman of the group John Dalsgaard of Dalsgaard Data. I enjoyed being part of the meeting and now look forward to lots of interesting meetings in the future.

I will start on my own as a Lotus Notes/Domino consultant

I have exciting news! I am leaving IBM October 15 to start on my own as a self-employed consultant at PHL Consult. I will work primarily with development and administration of Lotus Notes and Lotus Domino solutions.

I have been with IBM for 16 years and had almost never thought that this day would come – but I have been dreaming of working as a self-employed consultant for many years. I am very happy that I finally took the plunge and look forward to the exciting new adventure!

To quote Mark Twain:

Twenty years from now you will be more disappointed by the things that you didn’t do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover.

Wish me luck.