Aiddocs Blog

Thoughts about quality and agility in document processes.

Aiddocs background

Thursday, November 8, 2018

In this blog post I’ll brief some background on Aiddocs as a product. 

Once upon a time I was working as a consultant in an ECM (Enterprise Content Management) project.

The mission of the project was simple. Over the time, the bank vaults had been filled with printed and signed agreements. It was time to enter the digital age in the production and archiving of agreements and other documents.

The project was part of a much bigger transition program, where the old client-server application base was replaced by a service-oriented architecture and browser-based user-interfaces.

The ECM project was already well off and the underlying product and its vendor were selected. Eventually the project would create a SOAP service, which would form the central archive for all documents produced in the banking processes. The documents needed to be stored in PDF-A format, and they should be visible for the customers in their internet accounts.

But in where and how should the documents be created in a service-oriented architecture, anyway?

In the old client-server application, the documents were created out of Microsoft Word based templates using some configuration files, application logic and VBA macros.

The solution was clever indeed, as a set of generic macros were able to handle the creation of most of the docs. In some of the cases the macros were much more complex and not very easy to understand or maintain.

Considering the requirements to match the SOA, and the web-UI, we quickly realized that macros could not be the solution anymore.

In banking documents, the number of agreement and other document titles is vast. In this case there were more than a thousand distinct Word templates, in several languages. Also, the templates needed to get updated frequently. The changes were usually up to the product managers and lawyers to decide on. So, there were good reasons to stick with the all-familiar Word format for the templates.

But how should the documents be created in this new architecture, preferably still using Word, and considering the large number of the templates as well huge volume of the documents to be produced?

At this point we concluded, that the obvious best solution would be to have a service, which could:

  1. Be called using a standard SOAP interface
  2. Generate:
    - ready-to-archive PDF-A documents, as well as
    - editable Word documents
  3. Use Word as the format for the templates

Of course we started to browse the internet in order to find this kind of product, but without success. 

We, me and Jouni, had just founded Aiddo in the beginnig of 2011. We both had some de-ja-vu experiences regarding programmatic creation of documents from Word templates. This means, that we found this as a more generic challenge, which could have potential as a general purpose product.

After some planning and negotiation we then agreed with our customer to develop a proof-of-concept prototype of the new "document service", in the spring of 2011.

The POC-prototype was finished by end of the year, and tested by the customer. The tests proved the idea to be working surprisingly well. Our primary concerns were:

  1. Would it be possible to replace the VBA-macros by just logical declarations, ie. implement the same logic without any executable code?
  2. Would it be possible to do execute this dynamic process with acceptable performance?

Well, the POC proved, that both of these challenges could be met, which ment that the actual development project was started in order to develop the actual production version. 

The production version of the "document service" was taken in use in the beginning of 2013, and has since then created already several millions of bank documents for the customer banks.

In parallel with this we started developing a more generic product version of the sofware right after the POC-project proved to be succesful.

During these years our "baby" has already had several names. First she was called "Kiiruna" (thanks to Markko!), then renamed to "ADAS - Aiddo Document Assembly Server", and finally this year we ended up with the current name "Aiddocs".

Well, at least in Finland we say, that "a lovely baby has many names" :)


Author Ari Hakaste