Using Google Apps Script with LDC Via

As some of us know, managers love a good spreadsheet. And G Suite Sheets is a very capable offering in this space. With a lot of organisations going down the Google path, we thought it might be fun to have little play with G Suite and LDC Via working in tandem.

G Suite makes use of Apps Script to provide the equivalent of MS Office macros. You can add code to Google Docs, Sheets, Forms, Slides and more. Whilst the code can make use of optional “triggers”, when it comes to Google Sheets, you can actually reference functions written in apps script directly within your spreadsheet formula.

For example, if I write a function called someFunctionOrOther() in the script editor, I can make use of this function in my spreadsheet simply by referencing it in a standard cell formula: =someFunctionOrOther. Easy eh? So let’s use it with LDC Via. Via provides a comprehensive REST API, and you can consume such APIs in apps script. We have an activity API in Via which provides simple stats (number of audit log items) for each database that the current user account has access to. Let’s pull this data into a spreadsheet, and then we can analyse it further.

Here’s some sample apps script to consume the activity API:

function getViaDbActivity() {
  // Set this to your key
  var apikey = "<API KEY>";

  // Via API endpoint for database activity
  var url = "";

  // Request options: note the headers object
  var options = {
    'method' : 'get',
    'contentType' : 'application/json',
    'headers' : { 'apikey': apikey }

  // Perform the request
  var response = UrlFetchApp.fetch(url, options);
  var data = JSON.parse(response.getContentText());

  // Iterate response JSON and pass data back
  var array = [];
  Object.keys(data).forEach(function(db, index) {
    var numberOfLogs = data[db];
    array.push([db, numberOfLogs]);

  return array;

The function returns an array which is automatically parsed into rows and columns when a single cell references the function. We end up with something that looks like this:

Google Sheet / LDC Via screenshot

Note how we’ve then fired up the G Suite “Explore” function which lets us start to make sense of our data.

Nifty eh? And oh so simple!

Why don’t we migrate code?

Now that the dust has settled after Engage, it’s back to work, and time to address a few things that often come up when we exhibit at conferences.

When we embarked upon the LDC Via platform, we made a conscious design decision about application logic, and more specifically, application code (agents, script libraries, form events and so forth). We do not attempt to convert any of these constructs when we migrate content from a Domino database to our platform.


  • I don’t write JavaScript like I write LotusScript. Do you? Languages have moved on (capabilities, syntax, patterns): what works for VB6-style Lotusscript looks odd in 21st century Java or JavaScript.

  • How can you take advantage of the good new stuff if you convert your old business logic the old-fashioned way? What about modern language constructs like lambdas and promises?

  • There is no magic bullet: can you really convert code and logic from Domino without intervening?

  • Do you want to translate this code? It may well be redundant, or you may want to take advantage of moving your app to have a bit of a tidy-up. For example, why not shift all those form events to one central location? Get rid of those pesky myriad button clicks and bind them to a page in one fell swoop… Who wants cruft in their shiny new app?

  • Code might be locked to the platform and no longer really apply. For example, custom dialogue boxes and UI classes in the Notes client.

  • Auto-translated code could be prone to errors.

  • Good LotusScript is strongly-typed, JavaScript is not.

  • Do you actually understand the business logic behind the legacy codebase? It’s entirely possible that no one does. Do you want to migrate an application “lock, stock and barrel” without knowing how it actually works?

All well and good, but what is the best approach for migrating your Domino databases? Given that you’re already migrating all of your data, now would be a good time to re-validate the business logic behind your application. Have the best of both worlds: improve your application’s workflow sure, but now is the time to improve the quality of your code, beef up your test coverage, and so on.

Needless to say, we can help you every step of the way: we’ve got plenty of experience in this space.

Engage 2017 Wrapup

Theo does such an amazing job organising this event every year that it gets difficult to work out what to praise most. As ever, the venue was magnificent, as were the sessions, speakers, sponsors, number of attendees. It’s nice to be able to go to an event that is so reliably well run. Engage 2017 Pics For LDC Via, this was our third year as a sponsor, and our best yet. We had some really great conversations with people. Speed sponsoring, especially, was a highlight. Normally there’s a gradual drop off in the number of people doing each iteration of the presentation, but a remarkable number stayed until the end. Poor old Ben deserved the beers that were constantly in hand while he did the presentation 23 times!

Another great thing was the number of new attendees for the event. We had a similarly large number of new faces come and visit the stand. So remember, if you have any questions about LDC Via, please do contact us.

Otherwise, we’re already looking forward to the 2018 version of Engage, wherever it may be.

Engage is coming

In just four weeks LDC Via will be heading to this year’s Engage event. Over the years, Theo and his team have set themselves a high bar in terms of the quality of sessions and the amazing venues he finds. 2017 promises to be just as good as we have come to expect.

From an LDC Via point of view, we’re very happy to be sponsoring the event for the third year. We’d love for you to come and visit our stand to talk all things app dev, including application migration and modernisation. You’ll also have the chance to win one of our giveaways; we’re doing something a little different this year.

Of course, it wouldn’t be a User Group event without one of us speaking. This year, the honours fall to our resident Champion Mark Myers. He’ll be presenting a new session: “Choose your own adventure: Update/Convert/Replace” at 13:30 on Tuesday in Room C (Gorilla 3).

IBM Connect goes to the pub: a wee summary

Many thanks to everyone who turned up to our wee soirée on Tuesday night, IBM Connect goes to the pub.

We all had a jolly time in The Castle, Farringdon watching the IBM Connect OGS whilst drinking beer and munching on chips and the like. We even had pretzel cookies courtesy of our very own Matt!

o2 wifi was not the best, but three and Vodafone tethering did the trick, and we were able to stream pretty much all of both sessions from San Francisco. Good fun!

A reminder: IBM Connect goes to the pub

Just a reminder that we are hosting a wee IBM Connect goes to the pub event next week, and would love to see you in London for free beer, chat, and the IBM Connect OGS.

We’ve set up a registration page here, just so that we know who’s going to come along. See you next week!

IBM Connect goes to the pub

IBM Connect is moving home, and for the first time in many moons, the LDC Via team will not be attending. But that doesn’t mean we won’t be paying attention.

We didn’t want to miss the OGS, and thought you might be interested in watching along with us. To that end, like Sham 69, we’re going down the pub and we’d like you to join us, have a beer and maybe some chat about whatever gets announced.

We’ve set up a little registration page, just so that we know who’s going to come along, we’d love to see you there.

White papers: re-homing Domino applications

Some of us know about migration, specifically as it applies to venerable IBM Notes deployments. It’s 2017, and many organisations have moved their email to Microsoft Office365 or Google G Suite. The mechanisms for achieving this are pretty reliable, and certainly well-established.

There’s an elephant in the room though. Notes was never “just” an email client (email was really just a happy “pivot” from the software’s groupware focus anyway), so where does that leave those IBM Notes and Domino applications? Chances are, they’re still out there, and still provide business value to your users. So what to do if the environment is going away?

We explore re-homing IBM Domino data in our white paper, Re-homing Domino applications (202Kb PDF) — do take a look.

Merry Christmas

And so another year draws to a close. We would like to take the opportunity to wish all our clients, business partners, friends, diligent beta testers and other supporters a very happy holiday season.

The four of us are looking forward to spending some time with loved ones after a year that can only be described as somewhat frantic (in a good way). In addition to a lot of consulting and coding work, commercially, 2016 looked like this (expressed in a smattering of bullet points):

Phew! Thank you for reading, and we hope you have a restful break. We also look forward to working with many of you in 2017.

The LDC Via team

Find your way out of the Domino maze

Last week Julian was pleased to be asked to speak at the autumn ISBG conference in Oslo. The topic was ‘Finding your way out of the Domino maze’, a wide-ranging overview of the challenges that need to be overcome when migrating applications away from Domino, the meanings that ‘Migration’ could have, some of the key technologies to look at including NoSQL, and a brief overview of how LDC Via fits into that picture.

View or download the presentation at these locations:

Swiss LDC Via

In all the general busy-ness (coding, designing and earning a living), we’re conscious that there are lots of things to tell you.

2016 has been an extremely busy year for LDC Via: various technical challenges as one would expect. New products to launch — more on KEEP.WORKS in a separate post — together with meetings to chair, proposals to write, and partnerships to forge!

It is of the latter we wish to speak today. Some months ago, we opened discussions with our good friend Andrew Magerman, and these quickly bore fruit: Swiss LDC Via.

As many cloud aficionados are aware, hosting data outside national borders can be a massive issue for Swiss organisations – especially local and national government – and this is where Via hosted in Switzerland comes in. We invite you to explore the service and read more about it at Andrew’s site: Host your migrated Domino Data in Switzerland at

LDC Via at ISBG, Oslo

Our very own Julian Woodward will be presenting at the ISBG meeting in Oslo this week. You can read more about his session at the relevant agenda page, if your Norwegian is up to scratch!

Julian Woodward, Finding your way out of the Domino maze

In English:

Finding your way out of the Domino maze - LDC Via

Migrating applications away from Domino is a complex problem, and there is no one-size-fits-all solution. In this session Julian Woodward will look at how to scope and plan a migration, examine the technical and human challenges you’ll need to overcome along the way, and compare some of the approaches you can take.

You can’t beat a better beta

Just 2 weeks into our beta of KEEP.WORKS, and we want our lovely beta testers to know we’ve been listening to their feedback. So, version 1.0.79 went live this week, with the following splendid new features.

Database icons

A workspace full of square tiles is a thing of zen-like beauty, of course. But sometimes, you need to jazz it up a little with images of your own, to make you feel at home. So it’s now possible to add an image to a database, and that image will display both on the database icon on the KEEP.WORKS workspace, and also within every screen inside the application. And because we don’t like to do things by halves, not only can you upload any image you like, but you can also crop, zoom and rotate it. You can even export it (and, yes, PNG files are supported. “In” joke).

Database settings

Each database on the workspace now has a gear icon at the top right, to allow you to quickly get to its settings page. From there you can add new users, look at stats, change the title, and — yes — set up a database icon.


You can now enter some css into the global settings area, which will then be loaded as the final stylesheet on every page in KEEP.WORKS. So you can override any of our default CSS settings to turn your KEEP.WORKS instance into a Frankenstein’s monster of bright pink comic sans on a canary yellow background. Or alternatively you could do something useful with it, like adapt our colour and font scheme to match your corporate standards. But that wouldn’t be nearly as much fun.


Various little bugs have been squished and wiped away. That’s what a beta phase is for.

If you want to be alerted when we open KEEP.WORKS up to a wider audience, simply email

More about KEEP.WORKS

We’ve been asked numerous times to explain a little more about what KEEP.WORKS is, what it does, what it doesn’t do, how it works, and who it’s for.

Before tackling those, let’s talk about why we’ve created it.


There are two main reasons. Firstly: IBM Lotus Notes - there’s a lot of it about, but it’s also on the endangered species list. By which we mean there are many individuals and teams whose Notes applications - that they rely on to run their job/work - are being removed or threatened by an organisation shutting down their IBM Lotus Notes and Domino infrastructure. So KEEP.WORKS is designed to help them have a low-cost migration path. At the very least, it lets them retain their data, safe from the destructive urges of their management and IT people. But more, it lets them continue to work with that data (more on this later). And it’s sufficiently low-cost that it can all pass through on expenses or a company credit card.

The second reason for KEEP.WORKS is that we’ve found that some people have understandably struggled with the migration tooling we provide to move data into LDC Via. That’s been down to a mixture of Domino complexities and LDC Via complexities, but it has been a stumbling block. So KEEP.WORKS is a way of removing that barrier by having us do the heavy lifting. It’s limited to small-ish NSFs - up to 2Gb and 50,000 documents - but that’s plenty for many uses, and sufficient for a serious pilot in the case of larger applications.

Who is it for?

  • Individuals who have useful data locked into NSFs but no longer use Notes and may not even have it installed any more
  • Individuals whose Notes applications are under threat from shifting IT strategy
  • Departments and teams within an organisation that rely on threatened Notes applications to run their operations
  • People or organisations wanting to ‘try’ the LDC Via platform with as little learning curve as possible
  • Those looking to bring simple Notes client apps to the web

What does it do?

As the website says: you upload your NSF, we convert it onto the LDC Via platform automagically, and then you access and work with your data via a browser or mobile device.

If the NSF you upload is a ‘standard’ Notes/Domino one, we provide your data back to you in a working application. The types of NSF we support here are:

  • Personal templates
    • Contacts, also known as “Personal Address Book”
    • Journal
    • Mail (read-only)
  • Team templates
    • Discussion
    • TeamRoom
    • Document Library

It can take as little as 10 minutes to move data from Notes/Domino into KEEP.WORKS, and have it operational on the cloud and fully mobile-enabled. Additional users can be created using the KEEP.WORKS application.

If your NSF is not based on one of those templates, then we have a point-and-click interface to allow you to build a “no code” interface onto your data, that will allow you and your users to interact with - search, update, export - the data on desktop and mobile devices.


We wanted to keep the pricing as simple and predictable as possible. Partly because we like it that way, and partly perhaps in reaction to the labyrinthine pricing of certain large software businesses (naming no names). So it’s a flat per-month pricing structure, with no additional per-user costs, and no minimum period. There’s even a 14-day free trial period before any cost is incurred, so you get to really kick the tyres before your credit card gets charged: if you don’t like it, or it’s not what you needed, simply cancel the account before the 14 days are up.

See for full pricing details.

What doesn’t it do?

We’ve said what it does, who it’s for, and how much it costs. But what about the limitations? Well, first thing first: it’s not a “magic bullet” solution. There have been attempts in the past to automate the process of transforming an application from the Notes/Domino world into a.n.other world. In our view, any such attempt is doomed to failure. Notes/Domino applications are highly complex, and rely on a variety of programming models: @formula, LotusScript, hide-whens, sections, computed subforms, xpages, server-side triggered and scheduled agents, etc. For an older and/or complex application the end result is often a barely-intelligible jumble of code. Any automated conversion is destined to make that less intelligible and less maintainable.

Our approach, as with LDC Via, is to retain the data in as perfect a form as reasonably possible, while removing the reliance on legacy server platforms and obscure and outdated software development tools. We provide a simple point-and-click interface to allow you to define the form layout. Over time we will be providing more options, in response to user feedback, but we wouldn’t want to set up the expectation that you can develop a complex multi-faceted application entirely within KEEP.WORKS: that’s not what this product is for.

How does it work?

KEEP.WORKS is an application built on top of the LDC Via platform. It’s not a core part of LDC Via, which is why it has its own name and website, and is hosted separately from LDC Via. Everything we’ve done on the KEEP.WORKS site uses the normal published LDC Via REST-based APIs to do its work. You could subscribe to LDC Via and go out and build a KEEP.WORKS type tool yourself, if you so chose (with the one minor caveat of the database conversion process that runs behind the scenes - that’s not exposed as API calls).

What next?

Well, if you’re one of those who made it onto our beta programme - congratulations, and you will receive an email this week detailing how to create your account. If you’re not … you’ll have to wait until we go fully live in a few weeks time. You can register your interest in KEEP.WORKS at

'Toad In The Hole' is ready

We are delighted to announce the availability of our ‘Toad In The Hole’ release, hot on the heels of ‘Eton Mess’ back in June. It’s been almost two years since we released LDC Via, and the code keeps coming!

Whilst this release offers a number of significant improvements and additions (including a brand new comprehensive API documentation site no less), the headline for Toad In The Hole is search: specifically, “domain search” and the ability to do things like use regular expressions (!).

For the full low-down, be sure to read our exquisitely-drivelled release notes, and as always, please do get in touch if you want to know more.

What is KEEP.WORKS and why is it so different?

Nearly two years ago we launched LDC Via, a new platform that allows you to migrate your legacy Notes and Domino data, and host it on our servers while retaining a lot of the best features of Lotus Notes. Over that time we’ve talked to a lot of people and, it’s fair to say, what we offer is a broad palette of tools: a migration utility, a database platform and a full featured API. But it can be a little overwhelming to get started.

Initially we created several templates that run on the main LDC Via servers. But they were really technical demonstrations at best. So, over the last few months, we’ve created a new service: KEEP.WORKS.

KEEP.WORKS offers several things. Key among them is a simple migration path. You simply need to upload your legacy Notes database to our servers and we will convert it for you. This can be done in as little as ten minutes, depending on the size of your database. If your database matches one of our standard templates (Discussion, Document Library, Teamroom, Journal, Personal Address Book or Mail) then you can immediately log in and carry on working with your data.

Import Screen

To be honest, if that were all that KEEP.WORKS offered you might feel a little underwhelmed. Automated database migration is nice, but we want more! Well, how about a configuration driven way of continuing to work with your data? We’ve got it.

When you import a non-standard database, you can configure how to view, create and edit the data. You can even enable document-level security and set up additional users to access it. All without writing a single line of code.

Database Settings

And the nice thing about all this? Well it’s developed using LDC Via as the underlying platform, so if you outgrow the KEEP.WORKS platform your developers can continue to work with the data and create your own custom applications using whatever languages and coding tools you (or they!) choose. Or, if you prefer, we can create more complex custom applications for you.

For the first month of its life, KEEP.WORKS is going to run in an invitation-only beta status, with a strict limit of 12 places. If you’d like to be one of the first people to put KEEP.WORKS through its paces, visit the home page here: - alternatively, you’ll be able to sign up for a full account in just a couple of months time.

And the price? Well we start at £20 per month!

Announcing KEEP.WORKS

Today we are announcing a brand new product: KEEP.WORKS.


KEEP.WORKS lowers the barrier for migrating IBM Notes and Domino data to a modern cloud platform. For a very small monthly fee, an individual or a small team can upload an NSF file, and have it converted automatically and available on desktop and mobile devices for them and any other users they care to invite. That’s really just the tip of the iceberg, and more details will follow.

But for now… we have a total of 12 places available on our invitation-only beta programme. If you’re interested in being one of the first people to put KEEP.WORKS through its paces, go to the home page and register, and we’ll be in touch when the beta programme opens in mid-September.

More surprises from LDC Via

It’s been a busy couple of weeks at LDC Via. But we haven’t finished yet.

Keep a look out for another major announcement this week!

In the meantime, here are the things we already announced last week:

LDC Via has been selected as a G-Cloud 8 supplier

LDC Via strategic partnership with PSC Group

Announced at MWLUG: LDC Via partnership with PSC Group

PSC Group and LDC Via have entered into a strategic partnership. Under this partnership PSC Group will adopt LDC Via as a platform for customers seeking to migrate data and applications away from legacy IBM (Lotus) Notes & Domino, and also as a preferred platform for the development of new software applications that might otherwise have been developed on Domino.

Why has PSC Group adopted LDC Via?

  • Satisfy client needs for a low-risk migration strategy
  • Create a modern application development platform
  • Familiar REST-based API model
  • Familiar security model for Domino applications
  • Best-of-breed data migration tools

LDC Via provides a cloud-based managed database platform that emulates key features of IBM Domino in order to lower the barrier for transfer of both data and skills. The tiered monthly pricing model of LDC Via, with no minimum commitment, makes it a very cost-effective replacement for Domino. For larger customers bespoke pricing, dedicated installations, and on-premises options, are available: contact LDC Via for more details.

PSC Group is a global professional services and information technology consulting firm headquartered in Chicago.

LDC Via and PSC Group look forward to sharing more about our partnership and the application roadmap we are building together.

PSC Group logo

LDC Via has been selected as a G-Cloud 8 supplier

We are delighted to report that LDC Via has been awarded a place as a Platform-as-a-Service (PaaS) supplier on G-Cloud 8, the Crown Commercial Service’s public sector procurement framework for cloud-based software and services in the UK.

G-Cloud 8 is the latest stage of the UK Government’s plans to create a digital marketplace; it provides an online catalogue from which public bodies are able to select approved IT services in a simple and cost-effective manner.

Read the full press release here.

See LDC Via’s full G-Cloud 8 listing.

MWLUG 2016

Mark Myers, our very own Wookiee, is now in Austin, Texas for the MWLUG conference which kicks off in earnest today. LDC Via is again a sponsor, and has a booth in the product showcase (Four Seasons Ballroom). Come and see Mark, talk about Via, and be sure to check out his presentations too:

  • SA112: The SSL Problem and How to Deploy SHA2 Certificates (with Gab Davis from The Turtle Partnership) Ballroom D, Thursday 1pm.
  • IN104: Salesforce for Domino Dogs. San Jacinto West, Thursday 5pm.

Psst… Be sure to ask Mark about our upcoming news!

Eton Mess pricing model

As well as the technical and feature improvements in the recent “Eton Mess” release of LDC Via, there’s one further change: we have tweaked our pricing model in response to customer feedback. The general picture is that everything has got bigger: so we’ve increased the data volume boundaries at which you move from one price level to another, and with that we have also revised the price bands to reflect the additional capabilities.

In detail:

“Basic” level - stays £FREE

This is still free, and still has a limit of 500 docs across two NSFs, but the total storage available has gone up from 500Mb to 1Gb. That change allows for testing with lots of large attachments, which is of course not an unusual scenario in Notes/Domino applications.

“Standard” level - £199/month (old price £99/month)

The storage available on this level has risen from 2Gb to 10Gb. That’s 5x the capacity, for twice the price.

“Pro” level - £499/month (old price £299/month)

The storage available on this level has risen from 10Gb to 25Gb. Which is 2.5x the previous capacity, in exchange for a 67% price increase.

“Enterprise” level - £999/month (old price £749)

The storage available at this level is unchanged at 100Gb, although the price here has increased by 33%. But it still represents a per-storage-Gb saving of almost 50% when compared to the “Standard” or “Pro” levels. And at “Enterprise” level there are no limits on the number of documents stored - the only thing we cap is the total storage space used.

For full details of pricing, and information about our “Dedicated” and on-premises offerings, see our pricing page

Eton Mess was released on June 8th. A full list of all the lovely functionality in this version can be found in our release notes.

Eton Mess API changes

A large portion of our time is spent writing applications that use LDC Via as a back-end. As we do more and more development, we identify improvements to the API that will make our lives (and, therefore, the lives of our customers) easier.

In our most recent “Eton Mess” release there have been several changes to the API, but we thought we’d concentrate on just two key updates for now:

The first is a completely new API method dbacl, which returns a list of all people in your organisation who have access to a specific database. By way of example, this method recently proved useful in determining to whom new document notifications should be sent.

The second change we want to highlight is an update to the API methods which allow the storage of unstructured metadata.

Eh? What? Why?

We’re currently writing a new application and we needed to store various settings for the application somewhere, but didn’t really want to create a new database just for this. We can now store those little switches and bits of information about the app in the database details and cache them as required. Handy!

If you want to make use of this new feature, we’ve updated the API documentation to tell you how: set database details.

We’ve said this many times, but it still holds true: we don’t have any hidden APIs. If we discover something that we need then we’ll create a new API and publish it for everyone to use. So, whatever we can do with the LDC Via platform, anyone else can as well. And we’re always looking for ways to improve things: if you have any ideas, please let us know.

Eton Mess was released on June 8th. A full list of all the lovely functionality in this version can be found in our release notes.

LDC Via and SAML

Last month we announced the release of “Eton Mess” which includes a number of nifty features and general improvements for the platform. One of the features which Eton Mess brings to the table actually dates back to one of our “Forced Rhubarb” point releases, and the eagle-eyed amongst you may have noticed it in the associated release notes:

Feature: SAML is now an option for organisations wanting to use it. Whoop!

Huge fanfare eh? :-) SAML stands for “Security Assertion Markup Language”, and we use it to provide Single Sign-On (SSO) functionality between an authentication service of your choice, and LDC Via.

Authentication services are known as “Identity Providers” (IdP) in the SAML world. The applications and platforms like LDC Via which take this authentication information and make use of it are known as “Service Providers” (SP).

In practical terms, this means that once the appropriate configuration has happened, an organisation can have its authenticated users proceed directly to LDC Via from their intranet or other corporate systems without a pesky log-in screen getting in the way.

SAML doesn’t mandate the method of authentication used, so Identity Providers just need to support the protocol (as do downstream Service Providers of course). This means that all manner of centralised identity stores can be used as IdPs; for example, Microsoft Active Directory and Google can both act as IdPs.

The good news is that with “Eton Mess”, if you have a SAML environment in mind for integration with LDC Via, we can work with you to make that a reality.

Eton Mess was released on June 8th. A full list of all the lovely functionality in this version can be found in our release notes.

'Eton Mess' has arrived

We are delighted to announce the availability of our ‘Eton Mess’ release, as of Wednesday 8th June, nearly two years to the day since we first started creating LDC Via.

In case you’re wondering about the curious naming of our releases, we’ll let you into that secret in a separate blog post. Instead, for now let’s concentrate on a couple of the big headlines from this release.

Performance: the API now allows arrays of multiple documents to be ‘put’ in one call. This allows for much more efficient and performant applications.

Account limits: we have increased the account limits across all (well, all but one) of our tiers. The pricing has been tweaked too, to match. Overall, the new structure seems to fit our customers’ needs better, and that’s what it’s all about.

For a full list of all the lovely goodies we’re sending your way in this release, take a look at our hand-crafted artisanal release notes.

Developers, Developers, Developers!

Software developers are always seeking to take advantage of the best of new approaches, tools, techniques and languages. Many come and go, but some have a lengthy lifespan. Domino’s built-in languages of @Formula and LotusScript are pretty obscure these days, mainly because they only exist in the Domino world. Yes, Domino has Java too, but even with that there are some hoops to jump through and some non-standard techniques to grapple with.

Modern environments, in particular the MEAN stack, are taking over as mainstream and very popular tools. Why not take advantage of these skills and opportunities? Moving your Domino data to LDC Via will open it up to all these new worlds, and grant access to a new generation of developers.

Tell us what your organisation’s development strategy is: if we don’t already have sample code for you, we’ll write some.

(And if you’re writing your own apps for Via, don’t forget our API documentation!)

Free full-text search for all!

We’ve mentioned before how important we think full-text search is as a feature. Well, we’re happy to announce that even free accounts can now make use of our full-text search functionality.

Once you’ve imported or created a database in Via, it’s simply a case of going to the Database Settings screen and ticking the “Indexed” check-box.

If you’re writing your own applications to access data in Via, then our API documentation is invaluable for putting together those powerful full-text queries.

Also, bear in mind that for maximum flexibility you can combine full-text queries with our pre-existing structured query syntax. Happy searching!

Developing web applications with LDC Via

Back in January we hosted a webinar where we talked about the basics of LDC Via: how to migrate data and use our templates. If you wish to refresh your memory, that’s available up on YouTube: LDC Via Webinar.

Time marches on, and we wanted to put together a second webinar, this time focusing on developers!

Two weeks ago we ran this, Developing web applications with LDC Via, which was loosely-based on some content we first presented at Engage this year. The session was popular, but a lot of people still missed it, and we had some audio issues too. As a result, we repeated the session last Wednesday, and the recording is available on our YouTube channel:

Developing web applications with LDC Via.

During this session we talk about modern web application development using REST services. There are demonstrations from both the client- and server-side: React.js for some client code consuming the LDC Via API, and also the Java framework Vaadin on the server, together with a node.js / Express application too.

Take a look at the session—there’s a lot of content in there—and if you want to dive into LDC Via you can review API documentation on-line, and we have plenty of sample code in our GitHub repository.

Our next webinar

Earlier in the year we hosted a webinar where we talked about the basics of LDC Via: how to migrate data and use our templates. You can watch that video here. But now it’s on to the next topic, and that is going to be developing applications using LDC Via as a back end.

We’re going to talk about modern web application development using REST services. So, we’ll show you demos of developing an application that works with LDC Via data using React, but then we’ll show you how to do exactly the same thing using node.js, and then the same again with Vaadin. We’re going to be talking fast, but hopefully you’re going to learn a lot.

So set the date in your diary: Wednesday April 6th at 4pm UK time. You can sign up here.

Who exactly are you?

We’ve always been keen to make it as easy as possible for you, as a developer, to get authenticated against our API. This is why we used a simple API Key model. We had feedback from some developers that they would prefer us to allow a more traditional session cookie approach to authentication.

In our most recent version of LDC Via, we’ve enabled just that. There are now two different ways that you can authenticate your users against our services. You can continue to use the API Key if that suits your need. But you can also now use a session cookie.

You get allocated the cookie quite simply. You just post the username and password of the user to our service and we return a session cookie if it is valid. Then, whenever you make another request against our services you have to pass the session cookie back to our servers. If the cookie is still valid then we will perform the operation. It’s all documented in our API page.

The use-case for this is most likely to be client-side JavaScript applications using, for example, jQuery or AngularJS. You may be aware that Ajax is not designed to pass cookies to remote servers. So we had to make some changes to our servers (that’s all done, don’t worry), but you’ll also need to make some changes in your code. In jQuery you’ll want to use the “xhrFields -> withCredentials” setting. And in AngularJS you would, similarly, set the withCredentials property to true on your $.ajax requests.

This is just one example of adding features to LDC Via because you, our users, want them. If you have ideas for improving LDC Via, please do contact us.

See us presenting at IBM Connect

Connect Logo

The LDC Via team will be out in force at this year’s IBM Connect event and, as in previous years, a couple of us are presenting.

Mark Myers is presenting a session with Gabriella Davis about SSL and SHA2 Certificates:

The SSL Problem and How to Deploy SHA2 Certificates

*Monday 11:30-12:30 Lake Eola A*

Two years ago enabling your site with SSL was a simple affair, buy a certificate or create your own, install it, then just remember to renew it every couple of years. Then, suddenly security holes are being found in SSL virtually every month , popular browsers stop connecting to your site to protect themselves, and you’re continually being told your users data is at risk. In this session we will discuss how it all went wrong and can go wrong again, then go through each step of requesting, generating and deploying a 4096 SHA-2 certificate to use in a keyfile by Domino, IBM Connections, IBM Sametime and other WebSphere products. If you work with these IBM products and need to secure them with confidence this session will show you how!

Matt White will be presenting a quickfire session about node.js:

node.js for Domino Developers

*Tuesday 10:30-11:00 Solution EXPO Theater*

The world of web application development is big, really big. One of the most popular platforms is node.js. XPages developers already have a leg up in understanding node.js and in this session you’ll find out the basics: how to create a basic web application. But then we’ll push it a little bit further; how to integrate an application with your Domino data. We’ll cover the best development tools and some useful tips and tricks to help on your journey to become a node.js developer.

And of course we’re keen to talk to people about LDC Via , so if you’d like to arrange a meeting you can do that here.

LDC Via at IBM Connect

Connect Logo

A week today people from all over the world will be beginning the annual trek to Florida. A new venue, but the same community and great content in sessions.

As always, the LDC Via team will be attending IBM Connect. Matt, Mark, Ben and Julian will all be there.

To make it easier to get hold of us, we’ve decided to put ourselves at your mercy and open up our diaries.

If you would like to talk about LDC Via, see it in action or discuss the technology, simply book a meeting with us using this natty site:

LDC Via webinar coming soon

LDC Via webinar, January 12th 2016

We busy folks at LDC Via are hosting a webinar on January 12th which will introduce you to the LDC Via tool and platform. If you want to know what this stuff is all about, and see it in action, you should sign up right away.

Julian and Matt will be presenting the webinar itself, and Ben will be “back-room boy”, responding to any questions on-line and in the webinar chat.

We hope you can join us: we have had a fair bit of interest in LDC Via over the past few months, but equally a lot of people still ask us what it is all about. This session will answer those questions, and more!

Virtual (computed) fields in LDC Via Lens

We’ve spoken before about LDC Via Lens, but some things bear re-visiting, especially when the LDC Via pixies have been hard at work delivering new features that will put a smile on any developer’s face!

Today, we want to talk to you about “virtual fields”, a relatively new addition to LDC Via Lens. Anyone with a Domino background will be comfortable with the concept of virtual fields: essentially they a modern version of computed-for-display fields in IBM Lotus Notes & Domino applications.

A virtual field forms part of a collection schema, and can be referenced both from an API call and from any user interfaces you use with your migrated data—either within the LDC Via Lens application itself, or your own custom UI.

If you want to see how virtual fields work, and how simple they are to implement, check out our recent video on LDC Via Lens (virtual fields are covered around one minute in, but you should most definitely watch the whole thing).

You can read more about using virtual fields over on our support documentation site.

Lock me up and throw away the key

Domino can be a bit of a silo. In much the same way that the ocean can be a bit wet. We know that Domino is very good as a repository for your data, but what if you need to integrate with other applications and systems? Yes, there are ways of surfacing its data in other environments, but that can quickly get tricky and messy, and doesn’t always perform as well as you might like.

How about this for an idea? Push selected data to LDC Via, with its REST API layer and pleasing user interface, and then integrate with that instead. All modern application platforms play well with RESTful systems, and LDC Via provides a platform for customisation and extension as you see fit. Thereafter, the globe is your mollusc.

We’d love to hear about your Domino integration challenges. Drop us an email, or give us a call.

You just can’t get the staff, you know

Fifteen years ago, ‘Lotus Notes’ was the hot ticket. There were countless IT service companies offering software development services to create application after application on Notes. In some cases, when the only tool you have is a hammer, and everything looks like a nail, the applications didn’t pass the test of time. But for many others, the application — probably amended, enhanced and extended way beyond its original concept — still survives as the bedrock of your business.

But… there are no longer countless IT companies offering the right skills. In fact, some might say that the pool of available skilled people — both developers and infrastructure experts — is slowly but surely drying up. The risks of doing nothing are, well, risky.

With LDC Via, you are not restricted to just those skilled with IBM’s Domino Designer client. In fact, you’d be hard pressed to find yourself restricted at all. LDC Via’s comprehensive APIs are all REST-based, so you can pick the development tools and approaches that suit you: .NET, PHP, MEAN stack, Ruby, Python, Java, even XPages — whatever floats your boat.

Liberate your data, and liberate your developers at the same time. LDC Via.

It's a monster

You’re happy and committed to Domino, so you definitely don’t need LDC Via, right? Well, not necessarily.

Domino has always had challenges with scalability. The theoretical/technical limits have increased over the years, and there are all manner of tips ’n’ tricks to make your applications scale. Ultimately, however, there are some limitations in the venerable platform, and it is not the right long-term solution for every application. Or perhaps it was a good choice ten years ago, but with 10x as many users and 100x as much data, it’s struggling.

In fact, the mark of a successful Domino application is one that has lasted years and become overloaded with documents. Why not give the old application a new lease of life? Move historical data off to a platform like LDC Via, where it’s no longer a load on your servers, and let your Domino application’s view indices breathe once more.

Get in touch, and we’ll see what we can do. We think you’ll be pleased.

Home sweet home

One of the main uses for LDC Via is in re-homing historical data from servers that are being retired.

Your organisation may find itself in the situation where it is maintaining, supporting, and backing up Domino infrastructure purely so that the user can reference historical data held thereon — no new development, no real activity, few if any data updates … but you still need to “keep the lights on”.

Even worse — and the longer you carry on the more likely this is — these servers may be poorly-supported, may not have robust back-up, and can even be running out-dated or un-patched infrastructure.

So why not kick those boxes into touch and serve up your data in a modern, cost-effective manner (with support, and reliable backups)?


We were sponsors and exhibitors at ICON UK this year, once again put together by the splendid Tim Clark and held at IBM’s excellent London client centre on the South Bank.

LDC Via gang in full force!

We spoke at a well-attended sponsor session, in part showing off our new offering LDC Via Lens, and had a number of excellent conversations with people. Thanks so much to everyone who dropped by and said hello! ICON UK raised an amazing £5,000 for The Rainbow Trust this year with attendee fees, a raffle and a gala night auction.

As always with these conferences, there were prizes to be had. Our closing session give-away was a Sonos Play:1, won by Rob Mason of Redtable Information Solutions: well done Rob!

Rob Mason receives his prize

(Photos courtesy of Chris Harris)

What's it all for?

Do any of these sound like your thoughts or conversations?

  • “The business relies on this old Notes application, but we have nobody who can maintain it for us.”
  • “We’re migrating to Office 365, but we have no idea what we’re going to do with our Notes data and applications.”
  • “Our Domino server is at capacity, but we can’t just delete stuff because we need that data.”
  • “That database is mahoosive! Surely we can archive it somehow?”
  • “I can’t face opening that view, it will take hours to index.”
  • “We need to integrate that Notes application with our other applications, and do it all on mobile devices while we’re at it.”
  • “All our servers are moving to the cloud. So, what about the Domino server that only one division uses: why isn’t that in the cloud too?”
  • “The users constantly struggle to find the data they need in that old application. I daren’t turn on full text searching on it — the server can’t cope.”
  • “We need to retain that old data for compliance, but we really don’t want those servers clogging up our server racks any more.”
  • “We tried migrating applications to SharePoint, but it’s far too complex and expensive so they’re still on Domino.”

If so, we need to talk.

Why are we here?

It’s been clear to us for a number of years that many organisations are moving their email off IBM (‘Lotus’) Notes and Domino. Typically they’ll head for either Microsoft Office 365, or Google.

What they are usually then left with is a collection of applications (‘databases’) that were built for the Notes and Domino platform. Some may be Notes client applications, some may be accessed using a browser. Some may be developed internally, and some may be off-the-shelf purchases. What they all require, though, is the retention of the IBM software and servers. And that’s the issue: you thought you were replacing one piece of software with another, but in the end you still need to retain the ‘old’ Notes/Domino servers; and the space they take up in the machine room; and the overhead of backing them up; and the expertise and staffing to maintain and administer them; and let’s not forget the cost of the software licences(!)

So one of the reasons we created LDC Via was to help solve that problem. If you are in that situation, then LDC Via can give you:

  • a fully managed cloud platform
  • a robust backup regime
  • a highly-scalable and very fast cloud-based database engine
  • a Notes-like security model (‘readers’ and ‘authors’ fields)
  • point-and-click tools to build a simple UI onto your data
  • out-of-the-box templates for standard applications (Discussion, TeamRoom, Journal and Mail Archive)
  • the tools to migrate your data as-is: no complex cleaning or remodelling is needed to shoehorn it into a ‘relational’ structure
  • comprehensive “APIs” to allow your developers to create new (or re-create existing) fully-featured applications

What we don’t promise is a “magic bullet” solution. There will be some work involved in re-creating your business applications. Possibly quite a lot of work. But there’s a massive ‘plus’ here: using the LDC Via APIs you can do that using any application development framework you choose. So your collaboration applications can now live in the same software development world as your other applications, and no longer be tied to IBM’s “Domino Designer” tool. And your end results are streamlined fit-for-purpose applications your organisation can carry on using for many years.

It’s all really quite liberating.


This year, as with so many previous, ICON UK will be running again. The dates are 21st and 22nd of September and the agenda is looking really good.

LDC Via will be there! Visit our stand or come to our session at 2pm on the Monday. Matt will also be presenting a technical session about node.js for Domino developers at 4pm on Monday.

So if you’re attending ICON UK, come along to the stand, and we can tell you more!

You can register for the event here

MWLUG 2015

Last week we attended MWLUG 2015 in Atlanta. It was our first US event and we had a great time. So thanks if you came along to the stand to chat or if you completed our word search competition.

Richard and the team did a great job organising a great venue, superb sessions and an all round excellent event. We certainly hope to see you all again in Austin next year.

The winner of our Sonos Play:1 draw for people who completed the word search was Michael Smith.

MWLUG Photos

Matt also presented a session about node.js for Domino developers, you can view the slides for that session at his site.


This year MWLUG comes from Atlanta, GA, promising over forty sessions and workshops on collaboration.

LDC Via will be there! Visit our stand and find out about our latest release, our new offering LDC Via Lens, and our forthcoming developer community, #DevHub.

Dev Hub is a new developer zone coming to LDC Via. This features integrated search with our technical documentation, highlighted blog posts and other information aimed at developers. As a developer you can also sign up for a free LDC Via account using just your email address, and play with the LDC Via API.

So if you’re attending MWLUG, come along to the stand, and we can tell you more!

Full text search

“Search?” I hear you mutter, “full text search? Really?”

Well yes indeed! We’ve always offered a field-based search facility in LDC Via, but of course, chances are your users will want to search for a phrase across an entire document or collection of documents. Enter LDC Via’s full text search functionality.

Searching like this is often a must-have in an application, but it’s not straightforward to implement when dealing with a platform like LDC Via that offers document-level security. We took some time and did it right, implementing full-text search for those using paid tiers in LDC Via. So if you’re signed up to one of our paid plans, you have a single box to tick and you’re good to go:

Database settings screen

Full search functionality will now be available in both the standard templates we offer and the LDC Via API.

You can also combine full text search with standard field-based search in a single query. For example, you could issue a single query to get all contracts with an issue date between 01-Jan-15 and 31-Mar-15 within the category “New client”, and mentioning “banana” anywhere in their text.

LDC Via Lens

As you may know, we already offer free application templates for Discussions, Document Libraries, Teamrooms and mail files. But what do you do when you’ve migrated a custom database to LDC Via and you want to provide your users with a simple view of the data, no bells or whistles?

Enter LDC Via Lens.

Lens is an application template that is driven by configuration, meaning that you can define how a screen of data is laid-out and presented. Using Lens, you can quickly create an interface onto your data that will make sense to your users and allow them to interrogate and explore the data effectively and easily.

LDC Via Lens: key fields

In the Database Viewer admin page, you can elect to “Modify Collection Schema” which shows all of the settings for a collection in your database. What this means is that you can see all of the fields for documents stored in the collection, change their data type, their position on-screen, and whether a particular field is an “LDC Via Lens” field (i.e. available to end users), with an associated field label. (We’ve added this distinction between “key” and “non-key” fields: all fields are important, but some are not ones that you need or want to expose to end users. By flagging a field as “key”, this means that when you use our Export to PDF API, or Lens, we will just show the key fields.) In the screenshot shown below, we have defined four key fields. Subject is positioned first, then Categories, From and Body. “From” we want to display with a label of “Created By” and the Body field is rich text, so we’ll just take the automatically parsed HTML version of that field.

Sample Meta Data

Once these settings are saved, select the “Open as Application” link on the Database Viewer page and your work is done:

Demo App

LDC Via Lens: views

We don’t stop there! If the key field functionality is a nod to half of the old way of doing things in IBM (Lotus) Notes—i.e. forms—then what about the other half, views? Well, in the Database Settings screen, you can also create view filters. This means that any time a user accesses the database with Lens they can use the “views” that you’ve created to find useful data more easily. Naturally you can manage your views with our API, so if you’re building your own application, any views you create are still available.


Of course, all of this honours our document-level security model. You are free to distribute application URLs with LDC Via Lens functionality to all your users without any concerns about them seeing data they shouldn’t.


LDC Via Lens allows you to create a read-only user experience for your migrated Notes / Domino data in next to no time, and provides your people with an experience they can easily understand and work with. Let’s go through all this in a video, and you can see exactly how polished an interface LDC Via Lens can give you!:

If you want to go further (i.e. editing content as well as just reading it), we provide a beautifully-crafted set of REST APIs, as well as plenty of code samples to get you started. You can create applications against your precious data (or—of course—brand new applications) rapidly.

Creating templates with LDC Via and XComponents

We’ve created a full featured API for development of custom applications with LDC Via, however, we’re aware that there is not always the time or budget to do large development projects, so we have also given you a jumpstart.

We’ve worked closely with the team behind the XComponents project. This is an open source framework based on AngularJS and Bootstrap that allows you to quickly create applications that will work on desktop and mobile devices equally well.

LDC Via Teamroom

All of our standard templates (Discussion, Document Library, Teamroom and Mail) are developed using XComponents, and, even better than that, they’re all open source. You can easily take the source code for them and modify it to fit the needs of your applications.

At the simplest end of the spectrum, you’ll be able to take one of our templates and simply modify the data model to match the forms that you want to display. Of course if you want to get more complicated, then you can extend the templates to do anything that you fancy using the best of breed frameworks like AngularJS and Bootstrap.

If you have in-house developers, then the best starting point would be our Github page or we can help you with your application development needs as well.

Excelling at data manipulation with LDC Via

There’s no point having an all-singing all-dancing database application, if the data is locked up and can’t easily be extracted, reported on, analysed, and easily re-purposed for use elsewhere. Everybody’s favourite tool for working with business data in these ways is Microsoft Excel. So, naturally, it’s important that LDC Via has great (excel-lent, in fact) support for Excel. And it does, using Microsoft’s ‘Power Query’ feature.

When we were talking to people at the Engage conference in Ghent, this question came up, so we felt it warranted a fairly detailed ‘how-to’ blog post. In fact, the process is pretty simple, and to make it even simpler we’ve not only written it down step-by-step, but also provided a downloadable Excel file to get you up and running.

Excel Spreadsheet with LDC Via Data

Using Power Query, which is a free add on to Excel, we can create a parameter-driven spreadsheet that pulls in data from any internet source, including LDC Via.

As ever, the internet is a wonderful source for getting started with these things, so thanks to the likes of Ken Puls and Matt Masson this is what we built in a few hours: LDC Via - Excel Power Query Sample. There are two sheets in the workbook: ‘LDC Via Data’ displays a table of data that has been pulled from LDC Via; and ‘Settings’ contains the configuration settings that define where to get the data from, what API key to use, and which fields to display in the output results.

To create all this we need two Power Query functions and a main “routine” to actually get the data.

The first function is called fnGetParameter and simply reads the settings from the Settings worksheet: We have four configuration settings: endpoint defines the LDC Via API endpoint from which data will be extracted. The simplest one will use our collections API that gets lists of documents from a collection count defines how many documents at a time will be extracted from the API apikey is your API Key that authenticates you to LDC Via fields is a comma separated list of field names from the LDC Via collection that will be displayed in the results

Next we need to actually go and get each page of data from LDC Via, and the fnGetCollectionData function performs this task: The relevant page number is passed in as a parameter called “start”, and then we use the Web.Contents and Json.Document functions to retrieve the data and parse it into an object that we can work with.

The documentation for Power Query, is, shall we say, opaque at best, but there is a list of functions that are available to you on the Microsoft site—the Power Query editor itself feels very much like going back to the Notes @formula editor, but once you get your head around it, you can perform some pretty powerful operations on the data.

In our case we’re loading the JSON document from LDC Via, extracting an array of document objects stored in the “data” property, converting that to a table, and returning all this to the calling function.

Now we need to pull these two functions together and actually run the query to load the data: Power Query doesn’t really have the concept of a For style loop, so we have to spoof that by creating our own range of page numbers. In this case we’ll loop from 1 to 100, and with 1,000 documents per request that will allow us to get up to 100,000 documents from LDC Via. For each page we call the fnGetCollectionData function, extract the fields that are specified in the settings worksheet, and finally insert them into the main worksheet.

Clearly the speed of all this depends on the number of documents in the database in the first place, but even the example above, with 40,000 documents, takes less than a minute to load and parse all of the data.

To go and get data from a different collection in LDC Via, simply modify the settings worksheet as appropriate, right-click on the GetTableData function, and choose the “Refresh” option: the data will be automatically downloaded and parsed.

Of course, once all your data is loaded you can do all of the things that you’re used to with Excel: pivot tables, filtering, sorting, charts and so on. The world is your mollusc.

I’ve got my free account. Now what?

We decided that everyone should be able to try out LDC Via for free. With our trial account you get full functionality so that you can see and do everything that paid accounts can. We know there’s a lot to LDC Via, and it can be a little overwhelming, so we thought we’d talk about what you may want to try out having signed up.

First things first, you’ll want to migrate some data. You’ve got two choices here. If your Domino server is internet-facing and you can enable Domino Data Service then a cloud-based migration is the simplest route. Our Migration Cheatsheet document should help you get set up there.

Once your Domino server is configured, you can go to the Database Migrator page and enter the details for your server. You’ll need to enter the URL pointing to your database, your Domino username and password and then select the view that you want to migrate. That’s it! We do the rest of the work for you.

Database Migrator Page

If your Domino server is not internet-facing or DDS is out of the question, then you can use our Desktop Migration Utility. You just need to complete the config file and run the migrator from your desktop machine.

Once done, now that we have some data we’ll want to do something with it. If the database you migrated matches one of our standard templates (Mail, Discussion, Teamroom, Document Library) then you can go to the Database Viewer page and view your application.

Discussion Template

The main benefit of LDC Via comes with the use of our REST API of course: you can now create custom applications using whatever technology you prefer. We have samples using XPages, .NET and AngularJS to get you started, but anything that can talk to a REST API can use our services.

Hopefully thoughts will be bubbling to the top of your mind…

  • What if I want to run a “live archive” of data from Domino so that I can reduce the size of my NSF?
  • What if I want to securely expose a subset of data behind the firewall to customers via the internet?
  • What if I want to shut down a Domino server but retain access to all of the data?

LDC Via launched at Engage 2015

Last week, most of the the LDC Via team attended the Engage User Group event in Ghent, Belgium along with 320 other people.

As ever, Theo ran an amazing couple of days with a wonderful venue, content and catering and we were very happy to be sponsoring for the first time.

Among all of the sessions and conversations, LDC Via was officially launched!

From today you can go to our website and register a free account to try out our Domino migration utilities.

See what you can do with our standard application templates, and investigate what you can build with our full featured programming layer.

Ben and Matt presented a session introducing LDC Via: you can download the slide deck from our website.

It’s traditional at these user groups to run a giveaway competition. Thanks to everyone who entered our word search, you all did very well. The lucky winner of our Sonos Play:1 was Simon Peek from We4IT.

We want to talk about documentation. No don't go!

… it’s interesting! Well, useful. We promise.

Here at LDC Via Towers we’re all developers, and a large portion of our lives is spent working with badly documented APIs. We’ve just created our own API for you to work with your LDC Via data and we wanted to make sure that it’s as painless for you as possible. Enter the <trumpets sound> LDC Via API Documentation site </trumpets fade>.

The high-water mark of API documentation, in our opinion, is from Stripe and you’ll see that our site is very similar in structure. Our API site is very much a living document. A lot of our time currently is spent using our own API. When we spot things that are confusing or incomplete, we fix them. But as always, if you have any suggestions please let us know using the “Ask Us” link to the side of this post (and indeed on most other LDC Via pages).

Of course, we didn’t develop the site ourselves, we”re too busy writing our own code. Instead we used the wonderful Slate project from Tripit.

MongoDB security

MongoDB security concerns have recently hit the press: you may have seen some of the posts. The latest focusses on some German students who identified tens of thousands of MongoDB databases that are wide open: no security on them at all!

Information Age: Major security alert as 40,000 MongoDB databases left unsecured on the internet

Setting aside the insanity of not performing the most basic of security procedures, it’s probably good to outline how we at LDC Via approach this sort of thing, courtesy of our very own Matt White…

It’s a pain in the bum for us to get access to the databases, let alone anyone else.

Yep. We lock our MongoDB servers down. We lock them away from the internet. We lock our databases down. And then we employ application-level security too. That’s how it should always be done.

ConnectED crossword: we have a winner

We are delighted to announce that the winner of the first and last annual LDC Via ConnectED competition crossword is: Nathan Freeman. Congratulations!

Here is Nathan being presented with his prize before the Closing Session of the conference. Winner

Thank you all for playing our little game. I hope you had as much fun doing the crossword as we had in putting it together. If you’re still wondering what some of the answers were, here is the completed version to put you out of your misery.

Crossword Solution

ConnectED crossword: a bonus tip!

Okay, we said we wouldn’t give any more tips, but we’re feeling especially nice today.

If a clue contains a word that might imply things being disassembled or assembled - for example “destroyed”, “in disarray”, “broken”, “rebuilt” - that probably means you’re looking for an anagram in the clue.

Now hurry up: you only have until midday today to get your solution to Ben Poole (@benpoole), Mark Myers (@stickfight) or Julian Woodward (@woowar)!

See earlier blog entries for previous tips.

ConnectED crossword: Tuesday's daily tip

Today, because this is the last ‘tip’ day and we’re feeling excessively generous, here are two final tips for you.

  1. One of the clues may require a Google search (unless your general knowledge is outstandingly good).
  2. And another may require a calculator (unless your mental arithmetic is outstandingly good).

If you want to have a go at the crossword, and you’ve not yet got a copy, track down Ben Poole (@benpoole), Mark Myers (@stickfight) or Julian Woodward (@woowar). And don’t plan on getting any sleep tonight if you want to win the prize.

See earlier blog entries for previous tips.

ConnectED crossword: Monday's daily tip

If a clue contains sensory words like “sounds”, “hear”, “seems”, “appears” or “looks”, that probably means that we are playing with homophones. Look it up.

If you want to have a go at the crossword, and you’ve not yet got a copy, track down Ben Poole (@benpoole), Mark Myers (@stickfight) or Julian Woodward( @woowar).

See earlier blog entries for previous tips.

ConnectED crossword: Sunday's daily tip

Punctuation is important. Where an answer is two words, the letter counts are separated by a comma e.g. [7, 6]. If the punctuation in the letter count is anything else (e.g. [7-6]), pay attention to it. The same applies to punctuation - especially capital letters - in the clue.

If you want to have a go at the crossword, and you’ve not yet got a copy, track down Ben Poole (@benpoole), Mark Myers (@stickfight) or Julian Woodward (@woowar).

See earlier on the blog for our Saturday tip.

ConnectED crossword: Saturday's daily tip

Some - but not all - of the clues rely on some word play. So, for example, if the clue were “Accelerated, without Ecstasy” that can be pulled apart as

  • a word meaning something similar to ‘accelerated’
  • but with an ‘e’ removed (‘E’ being a common abbreviation of the drug name Ecstasy’)

So the answer there would, of course, be “Quickr”.

There you go. A little insight into the devious minds of the crossword compilers. Hope it helps.

If you want to have a go at the crossword, and you’ve not yet got a copy, track down Ben Poole (@benpoole), Mark Myers (@stickfight) or Julian Woodward (@woowar).

The game and the rules: the LDC Via ConnectED 2015 Crossword

Three of us from LDC Via are at ConnectED this week: Ben Poole (@benpoole), Mark Myers (@stickfight) and Julian Woodward (@woowar). We will have LDC Via leaflets to give you, and the crossword and clues are on the back. Do it to the best of your ability (some of the clues are bastard hard - at least we hope so) and hand it back to us by the deadline. Simple. Remember: you could win a Sonos Play:1.

Competition rules, for the avoidance of stress and fisticuffs

  1. Only those physically present at the ConnectED conference venue are eligible for the prize.
  2. You do not have to be a registered conference attendee to be eligible for the prize.
  3. Your completed crossword must be returned to us by midday on Wednesday 28th January.
  4. The prize winner will be drawn at random from the fully-correct submitted crosswords.
  5. In the event of no fully-correct answers, the prize will go to the person (or be drawn at random from the persons) with the most correct answers.
  6. If you are a registered conference attendee, and you cannot locate Ben, Mark or Julian in time, you may email a scan/photo of your completed sheet, by midday on Wednesday, to (Please make sure it’s legible).
  7. The prize will be awarded at the Closing Session on Wednesday afternoon.
  8. If the winner is not at the Closing Session, the prize will be shipped directly to them after the conference.

If you are not at the conference, but fancy having a go anyway (or you are at the conference but want to make a head start) here is the full crossword with clues. We will post a completed version after the conference and you can see how well you did.

Crossword Clues

What could be more ConnectED than this?

We were scratching our heads and twirling our moustaches at LDC Via Towers, wondering what we could do as a bit of fun for ConnectED next week.

And then the penny dropped: what could be more “ConnectED” than … a competition crossword?! At what seems (no official word, but we all know it is don’t we?) to be our last January visit to the Swan & Dolphin, and possibly (perhaps IBM will tell us next week) the last conference recognisable as the “Lotusphere” we know and love, we decided to create a little bit of fun to fill in the dull moments (as if!) and test your knowledge of Lotus, Lotusphere and IBM. And, yes, we’re freely using the ‘L’ word, without embarrassment, because this is an unashamedly nostalgic effort, looking back affectionately on our collective journey down the years with the softwareformerlyknownasLotusNotes and its stablemates from Lotus and IBM.

You may have noticed that this is a ‘competition’ crossword. Yes, there will be a prize: a Sonos Play:1. If you’re not a Sonos user already, you will love it. And if you are a Sonos user already, you will love it.

Sonos Play 1

In the next post we’ll outline the rules for the competition, and reveal the crossword itself.

Meanwhile here, as a little teaser, is the crossword grid.

Crossword Teaser

It's a web app, Jim, but not as we know it

We’ve talked previously about integrating LDC Via with XPages but the whole point of our REST API is that anything that can talk over a network can use our services. So we’ve been busy.

So far, when you access the LDC Via website, you get some pre-rolled templates that allow you to view your old Domino data in an easier to read way. We provide templates that work with your migrated Mail Files, Discussions, Document Libraries and Teamrooms. But how about creating your own custom applications?

Today we have released our first public template. It’s a standalone implementation of the classic Teamroom that has been created using AngularJS.

LDC Via Teamroom

First things first, you can go and play with the template here the username is and the password is Password00.

This is not meant to be a masterpiece of UI design, or even the most full featured Teamroom clone in history. But what it does show is an existing Teamroom database that was migrated to LDC Via using our tools and then allows you to continue using it, adding new documents and responses. All of this is done using static HTML and Javascript pages that talk to the LDC Via REST API using standard AngularJS functionality. Indeed, the app we’ve linked to is running on a boring old web server with no fancy schmancy authentication engines or server side scripting.

What this means is that you can create and deploy quite complex business applications with nothing more than a simple HTTP server, LDC Via takes care of everything else for you including data storage and authentication.

We’ve made the source code for the template available for use from Github under the MIT license, so you will be able to make use of the code to get going with your own custom applications.

ConnectED 2015 - how to find us

Mark, Julian and Ben will all be at IBM ConnectED from Friday evening this week. If you’d like to say hello, talk about LDC Via, enter our competition (come back in a couple of days to find out about that) or simply share a beer / some ludicrous sugary confection (in the case of the Wookiee), we’d be delighted to see you.

As you probably know, the conference itself is taking place in the Swan this year. Mark will be around a lot, although staying off-site, whilst the other two reprobates are also residing in the Swan, so will no doubt be irritatingly easy to find.

In addition to general lingering and chatting, you will be able to find Mark at his splendidly useful “Beyond The Every Day” session, “1 App, 2 Developers, 3 Servers: Getting the Same Application to Run on Different Servers” which is happening at 3.45pm in Mockingbird 1 - 2 on Tuesday—here’s a session link for those with ConnectED site access:

Additionally, Mark has somehow become an IBM Champion (no we don’t know how either), and as such you will be able to find him at the Leadership Alliance events looking out of place and desperate to talk tech with anyone.

If you need to know what we look like (oof), take a look-see here. Smooth.

(For those wondering why Matt is not with us this week… he claims to have a very good reason, but we’re unconvinced ;-))

Integrating LDC Via with XPages

One of the key use cases for LDC Via that we see is for archiving data for successful IBM Domino applications. We all know that Domino has limitations: when a database gets too big, it can really affect performance… but there’s so much good stuff in Domino–like security and integration with email–that it would be a shame to have to migrate your whole application to a completely different platform.

What if there was a “middle ground”? How about moving older or inactive data to a different storage area, but one that still maintains document-level security? You may be surprised to learn how straightforward it is to integrate XPages with other platforms via a REST API.

By way of illustration, we’ve created a sample Domino application that connects to the LDC Via service, obtains a list of LDC Via-supplied databases that the current user can see, and lets the user browse those databases (an individual MongoDB database contains one or more “collections”, and each collection contains documents). Hopefully you can see by looking at the code that makes up the sample app just how easy this is. The main component that drives it all is a managed bean that pulls data from our REST services:

Using this code combined with a single XPage, we can retrieve the aforementioned database list, together with lists of collections within those databases, and for each collection the documents it contains (all based on what the user is permitted to see):

LDC Via database list screenshot

The screenshot shows the list of migrated NSF files (“databases”) that our test user has access to. We’ve selected the database called unpsampler.nsf, and then a collection therein called “Document”. This collection contains 88 documents accessible to the user, and using the API we can then view the first 30 documents, paging through the rest in much the same way you would with a Domino view.

This is a very simple demo, and it wouldn’t take much effort to customise the code to fit your specific requirements. From the end user’s point of view there need be no difference at all in their experience, except that your XPages application is hopefully more responsive as you reduce the amount of live data you’re working with!

Looking after your data

There is a phrase regarding security on websites that terrifies developers: “It’s not a question of whether you get hacked, but when.” It’s popular with the media of course―doom-laden articles will always sell, and strictly speaking this terrifying sentence is correct―but only for a given value of ‘correct’.

For example, I don’t think anyone could stop the NSA getting access to private data if the NSA had a thousand years and warehouses of dedicated brute-force script kiddies at their disposal (no doubt backed by law). What we can do however, is make cracking data so bloody hard that the whole process becomes untenable. For LDC Via, we consider the “base data type” for all migrations to be financial transactions from large corporates―in other words, we do not play fast and loose with this stuff.

As we built LDC Via we had to consider the usual suspects in terms of attack vectors, and the defensive layers we need to provide. This is compounded by the fact that IBM Domino has always provided such good, simple security. We provide various options when using LDC Via, from simple data conversion to fully-converted applications with reasonably complex security requirements―and so there are appropriate decisions to be made.

Thankfully, different members of LDC take care of different areas of the application, and this enables us to impose a global security policy with each member taking care of a number of the constituent layers.

We break down the defensive layers into two categories:

  1. “The Usual Suspects”
  2. “Just For Us”

###“The Usual Suspects”### These are the layers that all web apps have to deal with. Quite a lot of them are irrelevant for on-premises solutions, but take on huge importance in our cloud offering.

Ports and firewalls. An easy one―only those ports absolutely necessary are opened. By default this means SSL (port 443), with the option of port 80 if non-secure transactions are required. That is it: no database ports, no remote access ports etc. We separate dedicated client servers from each other with firewalls as well, so there is no inter-communication between your dedicated boxes and those used by our other clients.

Operating system. We use a hardened Linux build for our production servers, with proper patching and all the things that keep administrators happy.

Hardware. Where provided by our hosting providers we offer hardware encryption. Now that most decent physical storage is based on solid-state technology, we have found that hardware encryption is not the performance horror it once was. If this is a requirement for your implementation, please tell us.

NSA. A new player in the security arena is the National Security Agency in the US. Their curious assertion that they have the right to take any data they deem fit for their purposes from anywhere on the planet means that even if your data is not stored in the continental USA, if the hosting provider has an office registered there then the NSA can pressure that organisation to provide access to your data (with the hosting provider and LDC Via legally obliged not not to tell you about it).

Well, we are registered in the UK, and we have access to multiple hosting providers, both local and international, to meet the different data security needs of clients.

Databases. All databases offer a variety of security options, and the methods we implement will vary according to the back-end server involved. In our current offering (based on MongoDb) we use both standard MongoDb users and roles for security (rather than those wide-open “service accounts” that so often lead to wholesale database leaks in the case of a security breach).

However, that’s not enough: MongoDb only really offers granular security down to a “collection” level, so that leads us on to the the next level of security…

###“Just For Us” Readers and authors. One of the core tenets of IBM Domino security, and something that is a devil to reproduce in other systems. Readers and authors fields, controlling document- and field-level access to data. Very few systems and databases provide document-level security, so to effect this level of security, we have a “data wrapper”: we have constructed a wrapper that goes round any attempt to access the database from the application (a Java driver wrapper is also provided). The meta-data stored in the database is checked against the requesting user and the various levels of access are granted on that basis. This includes group access as well as individual rights.

Configurable security. At any time, administrators can modify which fields in a collection are used to define security, and of course, will always be able to see all documents (you won’t lose anything!)

So there you go, some of the background to security in LDC Via. As Mark says, it’s like arguing about politics: never-ending, often quite heated, but one day we will build a better world (if the rest of the buggers stop talking rubbish).

More on the why...

We’ve spoken about the whys and wherefores of LDC Via already, but some of the use cases we mentioned in our last post probably bear some expansion. So let’s do that.

1. Re-homing historical data from servers that are being retired A number of organisations maintain Domino infrastructure purely so that they can reference data held thereon—no new development, no real activity, but they need to “keep the lights on”. These servers may be poorly-supported, may not have robust back-up, and can even be running out-dated or un-patched infrastructure (I think many of us have heard about Domino 6 or 7 boxes still running in production). So why not kick those boxes into touch and serve up your data in a modern, cost-effective manner (with support)?

2. Archiving data from Notes & Domino applications that have grown too large for Domino There are all manner of tips ’n’ tricks to make your applications scale. Ultimately however, there are some limitations in our venerable platform, and it is not the solution for every hosting use-case.

The mark of a successful Domino application is one that has lasted years and become overloaded with documents. Why not give the old app a new lease of life? Move historical data off to a platform like LDC Via, and let your Domino application’s view indices breathe once more.

(Incidentally, if this use-case is especially of interest, do look out for our LDC Via-XPages integration demo on this very site)

3. Integrating Domino-based data with other applications Domino can be a bit of a silo. Sure, there are ways of surfacing its data in other environments, but that can get tricky fast. Pushing selected data to LDC Via, with its REST API layer and pleasing user interface could be a solution here. All modern application platforms play well with REST-ful systems, and Via provides a platform for customisation and extension as you see fit.

4. Selectively making Domino-based data available outside the firewall without exposing your Domino infrastructure A lot of your data and tooling sits behind the corporate firewall, and that’s for very good reason. However, you may have a business requirement to open up a sub-set of your data to selected third parties. Why not migrate that data directly to Via, and use its API to access it the way you want? A simple, modern user interface comes out of the box, but you have the option of coding your own functionality using our REST APIs and your Javascript frameworks of choice.

5. Migration of Domino applications to other stacks for increased interoperability and performance Current environments include the MEAN stack, and this has a vibrant user-base. Why not take advantage of these skills and opportunities? This means granting Domino data access to a new generation of developers.

6. Exposing ‘IBM Notes’ application data to non-Notes clients (e.g. web and mobile) As per item #4, a lot of corporate data may only be accessible via IBM Notes clients inside the firewall. You could Domino-enable such applications in a bid to move away from fat clients. Or perhaps your organisation has a target platform for projects that doesn’t include Domino? Well, LDC Via could be an option.

Beta Program

You’ve heard us talk a little about the Why of LDC Via and hopefully that’s got you interested. But we’re very aware that what we’ve created is a significant change from running your Domino server.

What we need are people to kick the tyres of our NSF migration tools, our admin interfaces, security and also the development API. If you think you’d like to be involved then get in contact with us (some of you already have, thank you!) If you’ve been involved with a beta program before then the process will be familiar, we’ll get you set up with our beta environment, help you get started and then let you play. In return we’ll be asking you to give us feedback, as brutally honest as possible, about the good, the bad and the things that need to be changed before LDC Via is production-ready.

In return for all of your effort you will get our eternal gratitude and very preferential pricing when we switch from beta to live.

Here’s a little more detail about the three main areas of LDC Via we want you to look at:

First we have the migration process. This is split into two parts, either our online tool which will talk directly to your internet facing Domino server, or the on premises tool which acts as a conduit between your internal Domino server and our cloud based servers. We want to be able to migrate your full Domino databases and make sure that we are getting 100% fidelity. We’ve obviously done significant testing of this ourselves already, but we can always do more.

Second we have the admin interfaces. These allow you to see your data. Think of the main admin screen as the equivalent of an “All Documents” view combined with the “Document Properties” dialog box (only more useful, hopefully!) You can manage user accounts and security for your organisation too, which includes modifying document-level security settings.

Finally, for the developers out there, we have our API. This is what allows you to create new applications or integrate with your existing applications and access your data in whatever way you need. Here we’re wanting to make sure that the APIs we have created are sufficient, and to identify new APIs that will make your life easier.

So if all this sounds like it’s something you want to get involved with, please let us know and we’ll add you to the list. We aim to be starting the process in the next few weeks.

Why oh why oh why (Part Two)

In part one of these posts we took a look at why we created Via. In this post let’s explore what that means for you.

First, let’s revisit what Via is, in a nutshell:

  • A modern hugely-scalable and highly-performant database platform
  • A secure application layer that gives you all the Readers / Authors / Roles / Groups goodness you’ve come to love in Domino
  • A set of tools to migrate Domino data into Via

Sound good? So where does that fit in your plans? Here’s where we see Via as a viable (see what we did there?) future for your Notes and Domino databases:

  • Re-homing historical data from servers that are being retired
  • Archiving data from Notes/Domino applications that have grown too large for Domino
  • Integrating Domino-based data with other applications
  • Selectively making Domino-based data available outside the firewall without exposing your Domino infrastructure
  • Migration of Domino applications to the MEAN stack for increased interoperability and performance
  • Exposing ‘Lotus Notes’ application data to non-Notes client (e.g. web and mobile)

The list is endless. Well, long anyway.

The NSF data structure is a truly excellent piece of software engineering for its time. And it was way ahead of its time. But the rest of the world has finally caught up and, arguably, overtaken. Except in the area of security, where NSF’s Readers / Authors security model is still unique in its power and elegance. Or, at least, it was until now: LDC Via.

Why oh why oh why (Part One)

We thought it would be helpful to explain why we’ve created LDC Via, and why you might want to use it.

Between us at LDC we have about 70 years of experience working with IBM (Lotus) Notes and Domino. We’ve been there through all the ups and downs and ins and outs of the product’s history since version 3 back some time in the late 20th century (when you were a mere lad or lass, of course).

What we’re seeing now is that Notes and Domino are viewed (whether correctly or not—that’s a separate discussion!) as being somewhat old-fangled, uncool and—that horrible word—“legacy”. The upshot is that some organisations are reducing, or even stopping, investment in this platform. For email they may well be migrating, or have migrated, to Microsoft or Google. Those that are staying with IBM may be considering moving to IBM SmartCloud for email. So, for many, the on-premises Domino servers have become a liability, a problem, and an unwanted overhead. But—and it’s a big but—there are important business records and data locked away on those servers.

So that’s the first reason why we built LDC Via. We believe that many organisations need a route away from Domino as a strategic data store. That may not mean they’re dropping Notes / Domino entirely, of course. But it may mean that they want to downscale or eliminate internal infrastructure, it may mean that they want to retire the Notes / Domino applications but have the data available, or it may mean that they want to redevelop the applications on an alternative platform.

Alongside this gradual shift in focus away from Domino, has been a recent and fairly rapid rise in “NoSQL” databases. The irony, of course, is that Domino’s NSF data structure is itself a NoSQL database. But it’s an ageing one, with undoubted issues of performance and scalability when compared to some of the younger contenders. And with the rise of these databases has been a parallel rise in acceptance of new development architectures to make the most of them, most notably the “MEAN stack”. Here at LDC Via we opted to develop first against the MongoDb back-end, as that is arguably the most accepted and widespread of these modern NoSQL databases.

Where the Domino NSF database has always been a market-leader is in its security structures. Readers fields, Authors fields, encryption keys, database encryption, etc. There just isn’t anything else like it. Except, well, now there is: LDC Via.

We hope that’s given you a glimpse into why we’ve built this product. It’s because we believe you need it. In part two we’ll explore why we believe that.

Welcome to LDC Via

Welcome to a new offering from LDC. We call it LDC Via.

Over successive posts we’d like to introduce you to this new tool, designed to liberate your information from older IBM Domino (Lotus Notes) data stores.

Perhaps your organisation is moving away from Domino, or simply no longer investing in maintaining the platform. Maybe you have applications in need of an overhaul, or systems are being retired, but you want to retain your data…

As the name suggests, LDC Via represents a path, a route away from Domino, whilst retaining the things you need: document-based data, name-, group- and role-based security, and more.

In short, Via brings delightfully simple access to your information, whether it’s on premises or in the cloud.