HCL Volt – A real life use case

The first update to HCL Volt is now available for download. In version 1.0.1 there are a number of improvements, so if you already have Volt installed, get this update from Flexnet. But this post is not about the technical details of Volt. No, it is an example of how I used the product the other day to quickly put together a small application to help with a very specific task.

Last month my wife and I went on a trip to Estes Park in Colorado, where we enjoyed sleeping with open windows, enjoying the fresh cool mountain air. We started talking about getting an RV, to allow us to leave the Texas heat during the summer. My wife started doing some research on different camping trailers, but soon there was too many models, weights, dimensions and features to keep track of easily. I started to create a spreadsheet in Excel to keep track of everything, but a few minutes later I realized I had a much better tool available: HCL Volt.

I started my browser and went to the Volt Application Manager, where I created a new application by importing the Excel spreadsheet I had started on.

Within a few seconds I had the beginning of my application. I added some additional fields, for example to upload images of the floorplans and to store links to the manufacturers webpages with more information.

It took me about 10 minutes to put the whole thing together. I sent my wife the links, and she logged in and started entering data, as she was researching. A little bit later she asked if it would be possible to add some more checkboxes to the list of features I had created. I gave her the access to modify the application, showed her where she needed to go, and she fixed it herself without me having to show her anything. That’s how intuitive Volt is!

We now have a simple but functional tool to record details about any camping trailer we find, and where we can later go back and review the different alternatives.

There is even a built-in summary page where we can see statistics of the different trailers. This is created automatically from the data entered, no code needed. As a matter of fact, I have not written one single line of code in this application.

This is just one example of how you can create a useful application in a few minutes. But don’t take my word for it. Try it yourself for free, no download required!

If you want to get this very affordable add-on product to HCL Domino, contact your HCL Business Partner.

3 Comments

HCL Volt – A new Leap for Domino!

This Monday HCL released HCL Volt for Domino, their entry into the no-code/low-code market. This is a tool that allows the non-developers (a.k.a. Citizen Developers) at a company to build their own applications without having to write any code at all. Later the application can be enhanced with code, perhaps by someone in IT, but a power user, or even a regular user with some knowledge of Excel will quickly feel at home in Volt.

Volt for Domino requires a server with Domino 11 or higher, but the user and developer only needs a web browser, no development tools needs to be installed.

I have created a short video where I am demonstrating how you in a few minutes can take a spreadsheet someone sent you and automagically transform it into a real database application, without one single line of code!

Please let me know what you think about the video, it is my first attempt in this format. I was originally planning comments as voice-over, but I was unable to get my microphone to be loud enough. So I decided to put my comments as sub-titles instead.

 

4 Comments

Domino 11.0.1 is available!

HCL has released Domino 11.0.1, which includes updates to not only the server but also the Notes and Designer client.

So what is new? The version number makes it sound like this is just a version with bug fixes, but nothing could be further from the truth. There are a number of improvements and new capabilities, including new functions as well as enhancements in Domino Designer. Let’s take a quick look at some of the most interesting new functionality.

Part of your entitlement is a Docker-compatible image of Domino 11.0.1. It is available for download through the HCL Licensing Portal (FlexNet). HCL Domino 11.0.1 is pre-installed on this image, which allows you to deploy Domino server containers very quick and easy.

You can now register multiple Active Directory users using the Directory Sync feature, the Domino web server supports Server Name Indication (SNI) and there is support for Subject Alternative Name (SAN) in X.509 certificates. There are also enhancements to DAOS tier 2 storage, where you can move attachments to AWS for longer term storage.

SwiftFile, a tool that automatically sorts incoming mail into different folders based on the content is now finally integrated into the client, not a separate add-on as previously. The administrator can disable SwiftFile through a setting in notes.ini.

A new Java Runtime Environment is also included, as well as an updated version of MarvelClient Essentials from panagenda.

There are some changes to the underlying software used to import and view attachments.

On the security side, the Notes client can now use 128-bit AES for local database encryption, and new Notes IDs must have 1024-bit keys (or stronger).

For my fellow developers out there I want to mention the new method CreateDocumentCollection in the NotesDatabase class. Finally a native method, no more need for a hack to get an empty document collection. There are also improvements to DQL (Domino Query Language), for exaple numeric and date-only terms in queries. A new version of AppDev Pack is also released, version 1.0.4, where domino-db now supports rich text items and running agents in Domino databases.

Your can real more on the HCL Domino Blog.

0 Comments

Keep up with COVID-19 though Domino!

Are you are suddenly sitting at home with nothing to do, due to the corona virus COVID-19? You can’t go to the gym. You can’t go to your favorite computer store to browse all the latest hardware and plan for your next water-cooled build. You can’t go out to eat.

But what you can do is to try out some of the new functionality in HCL Notes and Domino. Today I started a little project where I try to incorporate a number of the latest and coolest functions in a simple but useful application. I hope to be able to create several blog posts about this project over the next few days.

I came up with the idea for this app when someone sent me a link to a web page where information about COVID-19 is aggregated from all US states. I thought it was a neat page, but then I noticed that they have a public API where the numbers are served up. Now things started to become much more interesting! This is what the JSON data looks like:

[
  {
    "state": "AK",
    "positive": 6,
    "negative": 400,
    "pending": null,
    "death": null,
    "total": 406,
    "lastUpdateEt": "3/18 16:30",
    "checkTimeEt": "3/19 15:12"
  },{
    "state": "AL",
    "positive": 68,
    "negative": 28,
    "pending": null,
    "death": 0,
    "total": 96,
    "lastUpdateEt": "3/19 10:45",
    "checkTimeEt": "3/19 15:15"
  },{
    "state": "AR",
    "positive": 46,
    "negative": 310,
    "pending": 113,
    "death": null,
    "total": 469,
    "lastUpdateEt": "3/19 11:23",
    "checkTimeEt": "3/19 15:16"
  },{
    "state": "AS",
    "positive": 0,
    "negative": null,
    "pending": null,
    "death": 0,
    "total": 0,
    "lastUpdateEt": "3/14 00:00",
    "checkTimeEt": "3/19 16:18"
  },{
    "state": "AZ",
    "positive": 44,
    "negative": 175,
    "pending": 130,
    "death": 0,
    "total": 349,
    "lastUpdateEt": "3/19 00:00",
    "checkTimeEt": "3/19 15:18"
  },{
    "state": "CA",
    "positive": 924,
    "negative": 8787,
    "pending": null,
    "death": 18,
    "total": 9711,
    "lastUpdateEt": "3/19 14:25",
    "checkTimeEt": "3/19 15:20"
  }
...

So what could I do with this data? Why not bring it into a Domino database to start with, and then retrieve the data on a schedule, say every hour?

We should then be able to chart the data for each state over time. In order to not store the same data over and over again, I want to check if the data has been modified since the last time the agent ran. I will just use the lastUpdateEt date and time stamp in combination with the state abbreviation to perform a lookup. If I get any result(s) back, the data was already stored.

So how do you read the JSON from the API? In the past I would have used my own HTTP Request class, but this is not needed anymore. This is thanks to the NotesHTTPRequest class, first introduced in Domino 10 and then improved in Domino 11. In Domino 11 the wizards at HCL in Chelmsford added classes to parse JSON. The NotesJSONNavigator is the base of the parser, then you use NotesJSONArray, NotesJSONObject and NotesJSONElement to traverse through a JSON payload. When you get the hang of it, this is much easier than it maybe sounds at first.

So let’s take a look at my code. This is a scheduled agent, running once an hour:

%REM
  Agent Retrieve Data
  Created Mar 19, 2020 by Karl-Henry Martinsson/DBS
%END REM

Option Public
Option Declare

Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim view As NotesView
  Dim http As NotesHTTPRequest
  Dim json As NotesJSONNavigator
  Dim element As NotesJSONElement
  Dim stateArray As NotesJSONArray
  Dim state As NotesJSONObject
  Dim response As Variant
  Dim url As String

  Set db = session.CurrentDatabase
  Set view = db.GetView("LookupExisting")
  Call view.Refresh()

  Set http = session.CreateHTTPRequest()
  url = "https://covidtracking.com/api/states"
  response = http.get(url)
  Set json = session.CreateJSONNavigator(response)
  Set element = json.GetFirstElement()
  Do Until element Is Nothing
    Set state = element.Value
    Call processState(state, db, view)
    Set element = json.GetNextElement()
  Loop
End Sub

Function processState(state As NotesJSONObject, db As NotesDatabase, view As NotesView)
  Dim doc As NotesDocument
  Dim col As NotesViewEntryCollection
  Dim values List As String 
  Dim element As NotesJSONElement
  Dim key As String
  Dim value As String
  Dim stateName As String
  Dim lastUpdate As String 

  Set doc = New NotesDocument(db)
  doc.Form = "StateData"
  Set element = state.GetFirstElement()
  Do Until element Is Nothing 
    key = element.Name
    value = element.Value
    If key="state" Then
      stateName = value
    End If
    If Right$(key,2)="Et" Then
      lastUpdate = Format$(CDat(value),"mm/dd/yyyy hh:nn AM/PM")
      Call doc.ReplaceItemValue("lastUpdated", lastUpdate)
    Else 
      Call doc.ReplaceItemValue(key, value)	
    End If
    Set element = state.GetNextElement()
  Loop
  Set col = view.GetAllEntriesByKey(stateName+"^"+lastUpdate)
  If col.count=0 Then
    Call doc.Save(True,False)
  End If
End Function

This is all the code you need. Yes, I am serious. You can now consume any data on the web, served up by any system with a REST API, straight into Domino, with just a few lines for code.

The NotesHTTPRequest is very straight forward, so there is not much to say about it. But the classes used to parse JSON may need some explanation.
You start with the NotesJSONNavigator. You then use the value property of the NotesJSONElement class to get a value, an array or an object. The array or object is put into a NotesJSONArray or NotesJSONObject object, and you can then traverse down into the JSON structure. This is very powerful and useful, we have all been asking IBM for this functionality for many years. Now HCL delivers!

I created a hidden view for the lookup to avoid the same data stored multiple times. It only contains one (sorted) column, which is used by the lookup:

That is pretty much it.

I also created a view to display the data:

Soon we will do something more fun with the data. I will just let the scheduled agent run for a while and build up my database first. Keep your eyes open for the next post about this project!

4 Comments

CollabSphere 2019 – Less than five weeks left!

If you haven’t registered yet for CollabSphere in Boston, time is starting to run out. The conference starts in less than five (5)  weeks, and the special price for the rooms at the conference hotel is only guaranteed until October 4.

If you haven’t been to CollabSphere, or its predecessor MWLUG, you have been missing out. It is a very inexpensive confernece (only $100 this year, thanks to generous sponsors), with high quality speakers for the sessions and workshops. The opportunity to network with other customers, business partners and representatives from IBM/HCL is incredibly valuable, in my opinion. There are both organized and impromptu social events during the conference, as well as before and after for the ones arriving early or leaving late.

If you are in the New England area, there is no reason you should not attend CollabSphere, now when it is taking place on HCL’s home turf, where many of the developers live and work.

With Domino 11 coming out at the end of the year, I am sure we can expect some very interesting and exciting announcements at this year’s conference. And don’t miss HCL Day on Monday, with a large number of sessions covering everything from their Cloud Program, the changes to licensing, the HCL Customer Advocacy Program, and much more.

I hope to see you at CollabSphere, especially at my session on Tuesday at 2.00pm, where I will talk about Node-RED and show some cool things you can do with it.

 

 

 

0 Comments

The deal is done: HCL takes over Notes, Domino, Connections and more

Today the announcement we have been waiting for arrived. HCL and IBM closed the acquisition that was announced back in December. HCL now owns (among other products) the collaboration products Notes, Domino, Sametime, Verse and Connections.

As part of the deal’s close, HCL takes full ownership of the research and development, sales, marketing, delivery, and support for AppScan, BigFix, Commerce, Connections, Digital Experience (Portal and Content Manager), Notes Domino, and Unica.

HCL is also formally introducing HCL Software, a new division that will operate this enterprise software product business and meet customer demand. A Business Unit of “Products and Platforms” (Mode 3), HCL Software has successfully delivered more than 340 partner releases and more than 90 HCL releases, including such popular products as Informix 14.10, Domino 10, Workload Automation 9.5. The division aspires to reshape the enterprise software business, focused on innovation and cutting-edge delivery for customer success.

Read the full announcement at http://bit.ly/HCLSoftware

Over the last few months we have seen a number of IBM:ers who has been working with the collaboration products move over to HCL. In the last few days we have seen even more people at IBM announce their moves to HCL, including Mat Newman who will become Director of HCL Digital Solutions, Asia Pacific and Stephan Wissel, the new Solution Director at HCL PnP.

As a developer, it is very exciting and encouraging to see that Maureen Leland, who was in charge of Domino Designer for over a decade and have been with Lotus, Iris and now IBM since 1992, is now at HCL. Security expert Dave Kern is also moving to HCL, as is Wes Morgan, Adam Gartenberg and many others. The fact that HCL is bringing over all the brilliant minds from IBM is also encouraging. The investments in Notes and Domino that HCL already has made should show everyone that they see the products for what they are, amazing technologies and products that were decades ahead of the competitors. Just the other day (June 18, 2019), Mongo DB announced field level encryption. This is a feature Notes and Domino has had since day one, 30 years ago…

I believe the future for Notes, Domino, Sametime and Connections is very bright. The developers are ecstatic that they finally get to implement new features, make improvements and even bring the Notes client to mobile devices (iPad, iPhone and Android). We have already seen some great things come from HCL, like the new Domino Query Language created by John Curtis, as well as the node.js integration.

I cannot wait to see what HCL will deliver in the future. Notes and Domino 11 is planned already for the end of this year.

 

0 Comments

HCL has impressed me!

It has now been just over four months since it was announced that HCL would purchase the IP (intellectual property) of Notes, Domino, Sametime, Connections, Verse, Traveler, and several other products from IBM.

When the announcement was made in 2017 that HCL would take over development and support of Notes and Domino, many IBM:ers with long experience of developing the products moved over to HCL. I talked to several of them back then, and also at the Factory Tour in July 2018. The excitement was amazing to see, it took me back to the days of Lotusphere in the early 2000’s. They were all very excited about the new opportunity to create new functions and expand/modernize the products. Very quickly the development of Domino 10 took off.

Another thing that impress me is how HCL seeks feedbacks from customers and business partners. Even as HCL is hiring on a large number of new developers, there are still limitations on what they can accomplish. It is very clear that they want to build a product for the customers, and they need to know where to focus their development efforts.  HCL and IBM held a number of jams during the first half of 2018, both online and physically around the world, where customers and business partners could give feedback on functionality and priorities.

On October 10, 2018 Domino 10 was released, with many of the improvements requested implemented. Some additional functions, like the support for node.js, were released a few months later.  I think the decision not to rush out everything is the right one. As a developer, I want all the functions right now, or even better yesterday. But at the same time, I want it to work properly. HCL has done a good job at balancing this, at least this far. I want HCL to continue working this way.

The development of Notes and Domino 11 has already started. As a matter of fact, HCL started working on that version even before Domino 10 was released. Several Domino 11 jams have been taking place already, withmore to come. Version 11 will focus on the client, while version 10 had the focus on the server and development functionality. But we developers have things to look forward to in Notes 11 as well.

One of the items IBM and HCL have been talking about is low-code/no-code rapid development. This is something that we are promised to be available in Domino 11, as a browser-based development environment. It would bring the power of Notes and Domino development back to the “citizen developers”, allowing regular business users to be able to build custom applications/solution without writing any code. This used to be a strength of Notes in earlier versions, but in the late 1990’s IBM moved the development functions from the regular Notes client into a separate IDE, Domino Designer. This took away the ability for regular users to build their own solution, and made them have to rely on the IT department or dedicated developers to build applications. Bringing this back would give a new generation of users access to this powerful platform.

I think it is very important that the new low-code development functionality work seamlessly with traditional Domino development, like HCL is aiming for. Imagine a user in the accounting department who comes up with an ide for an application that would improve their efficiency. The user begins to build a simple application using the Domino low-code/no-code environment. Perhaps a form or two, some simple views and a simple workflow. The development is done in a sectioned off part of the server, as the regular users don’t have access to create database/applications in the general Domino data location. Data is then loaded though an import from an Excel spreadsheet,

When the first iteration of the application is done, the user shows the result to the CFO, who loves it. But there are a couple of functions that would be nice to have, like integration with another, existing Domino application. This is something that the IT department and their developers need to handle. So the application is handed over to them. IT takes a look at the application, and either leaves it in the end-user area on the server or move it over to the general data storage. The assigned developer then opens up Domino Designer or perhaps even Visual Studio Code, and add the code needed. The developer only spends a fraction of the development time previously needed, as the end user already built much of the infrastructure of the application. Another benefit is that the developer does not need to collect requirements for how the full application needs to work, only the small part they are modifying/adding.

The application is updated, and the users can start using it. The IT manager is happy, as the developer only spent an hour or two on the project instead of a couple of days, and can now be moved on to the next project. The CFO and end-users are happy because they got their application built quickly, without having to wait for IT to get the bandwidth to develop a complete application, and they can improve their efficiency and get more done quicker.

If HCL can deliver a low-code/no-code solution like this, perhaps with data storage not only in Domino .NSF files but also with connections to other data stores like perhaps SQL and Mongo DB, this could be an amazing collaborative development platform, where end-users and professional developers work together on improving the application landscape of their company.

I can’t wait to see what HCL delivers later this year!

 

 

 

0 Comments

End of content

No more pages to load