Your Development & Design Resource
Aritcle Preview: Advanced NotesDocument Workflow Processing Engine
08/04/2009 12:32 PM by Chris Toohey
I believe that the major hurdle for any Lotus Notes Domino developer adopting an MVC-like software architecture is the perception that more advanced application workflows and seemingly ever-changing applied business logic would require dependences on UI elements and objects. This is where you see things like processing a NotesDocumentCollection with
doc.ComputeWithFormor using cascaded Computed Fields to maintain the business logic in the NotesDocument.
Now, I fully understand that for an existing NotesDatabase application, you may need to use this approach to update and maintain NotesDocument workflow. I submit however that if you're still using this approach for new projects, then you are greatly limiting the life of your applications. Not to mention that dependences on UI Design Elements for applied business logic for NotesDocuments often limit the UI functionality on the Lotus Notes Client as well as can require re-writes for multi-Client access.
But why do we still rely on "older" NotesDatabase designs and development methodologies? Pretty simple actually: we're relying on reusing existing design components to deliver our applications, we have to adhere to internal development standards defined by a "corporate communications" team, and we simply don't have time to re-invent the wheel.
So, instead of simply preaching to you about how you need to change your wicked ways, I thought that I would instead design an Advanced NotesDocument Workflow Processing Engine and include that in a NotesTemplate framework.
So that's the idea. I'll be putting together the workflow engine that I use for most of my multi-client NotesDatabase applications as well as a few other slick and functional components (such as my Excel Export and simple integration with Zephyr).
My question: is there anything else that you would like to see in this framework?