The Redwerk team started off by researching how to implement a plugin that would work with multiple versions of MS Office. We found a match with VBA (Visual Basic for Applications), which is widely used for writing macros for MS Word and other Office products. It’s a translated language that doesn’t need to be compiled into binary code in order to be executed. The only challenge was dealing with slight incompatibilities in the API created by different Office versions, which our team quickly overcame.
We developed a prototype using a very basic use case of saving a document into the CMS along with some metadata. It had to ask for credentials, login into the CMS, fetch and display the document tree where a user would be able to pick a location to save the document. This prototype had to work on as many Office versions as possible. To communicate with the CMS, it used a proprietary protocol based on HTTP — also a protocol our team helped develop.
Next, we went on to implement additional scenarios and a UI. We added localization and tested, tested and tested again to make sure it works flawlessly in all the MS Office versions we wanted to support. To achieve this, we only used the most generic APIs.