When people think of complex custom Notes applications they think of workflow. Workflow is an especially important consideration when migrating Notes applications because migration tools, which can do a great job migrating schema, content, security and forms, have a hard time translating Notes workflows to SharePoint workflows.
Notes workflows are almost always implemented as code attached to various buttons, form events, and agents. By contrast, the Microsoft platform encourages you to use declarative workflows where you express your workflow as a set of rules that can be entered, modified, and (best of all) understood by a non-programmer. You can write code if you need to, but this code is usually confined to “activities”, the units of action that you wire together in your declarative workflow.
Declarative workflow capabilities have improved significantly in SharePoint 2010. First of all, you get a much richer set of out-of-the-box workflows that you can use in your applications. This list depends on what edition of SharePoint you install and which SharePoint template you are using, but at a minimum it should include an Approval Process, a Collect Feedback review process, a Collect Signatures review process, and a Disposition Approval workflow for managing content lifecycles. You can now customize the out-of-the-box workflows if needed or design your own from scratch.
If you do need to design your own workflows, you can benefit from the new capabilities in SharePoint Designer. This was a somewhat limited option in SharePoint 2007, forcing many companies to use Visual Studio instead, but those days are gone. Now SharePoint Designer workflows can address the need of the majority of the workflows found in Notes applications without have to write code.
Users have a much bigger vocabulary of workflow “conditions” and “actions” to choose from, including Notes-like things such as changing the permissions on a document after it is submitted for approval, sending mail notifications, looking up a person’s manager, and moving content to another location. A particularly powerful feature is to impersonate other users during a workflow so it can perform certain actions using the workflow author’s credentials. You can even use InfoPath to design nicer forms for collecting information from end users.
You can now design workflows that operate at the site level or the list level and you can reuse workflows across an entire site collection and even export them to use on a completely different SharePoint farm. Workflows can be visualized as a set of human readable steps and even exported to Visio for graphical display.
The takeaway here is twofold. First you can replace most of your Notes workflows without writing code. Save your expensive developers for the hard stuff. Second, do not attempt to translate all the code that your Notes developers wrote into code on the Microsoft platform. Instead, devote your energies toward understanding what your old workflows did and make sure you have a deep understanding of how to accomplish these same things in a declarative workflow world.