Back in the summer of 2020, we began our long term goal to move our SaaS front-end applications to Angular from XPages, and this is what our first Proof-of-Concept (PoC) looked like at the end of that very first day. Admittedly not a lot, but small acorns and all that! For this initial PoC, our primary aim was to prove that we could successfully recreate our existing XPages applications in Angular, whist at the same time maintaining functionality and usability, and ideally even improving performance. Our secondary aim was to identify those areas of our existing applications which would be more challenging to migrate, thereby enabling us to highlight those areas of the project which would be slow to develop, and/or require additional resources to implement. Fast forward to today, and having successfully achieved our initial aims, we have now begun work on our second PoC. This time with express aim of creating a production grade application usable by our customers. Once complete, this application will then will provide the foundations on which to build and develop further Angular based applications, and allow us to grow our SaaS offerings in exactly the same way has we had successfully achieved previously with XPages, over the past 10 years. In parallel with these front-end changes, we continue to further develop and maintain our core business logic and database functions on our stable and reliable HCL Domino platform. In fact, we are now nearing the completion of a separate project to upgrade all of our servers to Domino 11 (having also previously migrated them all to Azure), which will place us in a good position for future upgrades to Domino 12 and beyond, which in turn opens up some new possibilities, such as potentially utilising using HCL Domino REST APIs (aka Project Keep). Despite the great progress made to-date with Angular, our journey is only now truly beginning. As it evolves and moves forward, there are still loads of new and ongoing challenges to understand and overcome (for example cookie based authentication, performant API’s, cross-domain hosting/CORS, NPM dependency management and testing, to name just a few!), but one key aspect of this entire project has become increasing clear; our desire to openly share our adventures on this journey via this blog, and in doing so not only record its progress for ourselves, but more importantly, potentially help others who are perhaps considering, or have indeed already begun a similar journey away from XPages. So, with that said, if there’s anything that you would like to specifically know about our project, or even why we made certain decisions along the way (such as perhaps why we chose Angular over React or Vue), then please leave a comment on this article or contact us directly, and we’ll do our best to answer them as and when we can, otherwise watch this space for the next instalment in this occasional series! In the meantime, here is a little taster video of a recent Angular mini-PoC, which demonstrates “in-app” login/logout using standard Domino Cookie based Session Authentication, but all handled via HTTP calls directly from within Angular, and as a bonus, it also demonstrates how it is possible to reactively re-authenticate part-way through a series of API calls, in the unlikely event that an authentication cookie expires between requests 😉
Until the next time . . .