Subscribe:

Labels

Wednesday, June 22, 2011

Migrating Lotus Notes applications to SharePoint 2007 – Part 3


Part 3: Migration Process

Any Lotus Notes application has 3 parts to it:
  1. User Interfaces Pages or Forms – Lotus Notes Forms, Pages, Navigators, etc..
  2. Application Logic – Lotus Notes Scripts/Formulas in Action buttons, Agents etc..
  3. Data – Lotus Notes Documents
Given the architecture of Lotus Notes and APIs it provides, you can only migrate #3 i.e. the data out of its databases. That's the ground reality. So,
  • If the application can be mapped to a List Template in SharePoint, you get all the user interface elements and features out of the box from SharePoint. Even if some list/library customization is required in SharePoint, the effort is small and manageable
  • If application needs custom InfoPath form, ASP.NET form, Web Part(s) or complex workflows then those elements need to be custom developed and effort might be substantial
So, migration process and effort depends on whether a Lotus Notes application can be mapped to some out of the box or custom template in SharePoint or not.
Classifying Appplications
Classifying applications based on their complexity, features and integration requirements helps in:
  • mapping each application to target solution
  • evaluate and select migration tool (s)
  • estimate effort required and prepare a project plan
As the Application Analysis Envisioning Process for Lotus Domino Applications guide mentions, dissecting the domino application and determining the baseline pattens will help you be successful in seeing the end-state solution that will replace the Domino Application. Some patterns mentioned in it are:
  • Pattern 1 Document Management
  • Pattern 2 Workflow
  • Pattern 3 Connection to external data source
  • Pattern 4 Connection to other notes application
  • Pattern 5 Discussion databases
  • Pattern 6 Team rooms
Based on your environment, you can identify more patterns and then use them to classify applications. One of the ways to classify them might be:
  1. Simple applications - can be mapped to standard SharePoint list/site templates
  2. Medium applications - applications without workflow - need custom list/site templates in SharePoint
  3. Complex applications - custom applications with workflow - need custom list/site templates and workflow development
  4. High Complexity applications - need extensive SharePoint application development
  5. Non-SharePoint apps - where SharePoint is not the right fit technically/strategically. They will get replaced by some existing .NET application, a LoB app or some standard package

Migrating to Lotustnotes to sharepoint2007

High-Level Migration Approach
For migrating the Lotus Notes and Domino environment to Microsoft platform, you would need to migrate:
  1. Mailboxes to Microsoft Exchange server
  2. Applications to Microsoft SharePoint server
Lotus Notes client would get replaced by the Microsoft Office Outlook client for accessing mailboxes and offline SharePoint content. Users would use a Web browser for access the SharePoint sites and applications.
Messaging and Directory Services is Standards based so a tools based approach is possible. Migration Tools are available from Microsoft and other 3rd Party vendors.

Migrating Lotus Notes applications to SharePoint 2007 – Part 2

Part 2: Application Analysis

Preparing the Inventory
First step in any migration exercise is to build an inventory of Lotus Notes databases. Not many Lotus Domino administrators can actually tell how many databases are running across all servers. The Notes Log (log.nsf) and Catalog (catalog.nsf) database on each server contain most of the information you need but its not in a consolidated and analysis-friendly format.
Preparing inventory is not a trivial exercise for customers with 10s or 100s of Domino servers spread in multiple locations. So, automation is the key here. You can write a small Lotus Notes application to do this or use of the many free tools available in the market.
You can evaluate these products and decide which one is best for your environment and requirements.
You can also watch - Microsoft Transporter Suite 2007 for Lotus Domino Demo: Application Analysis and Reporting. This click-through flash demo shows how to use the Transporter Suite 2007 for Lotus Domino to analyze your existing Lotus Domino applications and create general and custom reports for them
Recommended Read
I would recommend anyone starting on the Analysis exercise to first read the Application Analysis Envisioning Process for Lotus Domino Applications guide. This guide (authors: Scott Andersen, Lou Mandich, John Gilbert and Dirk Hamstra) discusses the Application Analysis Envisioning Process (AAEP) for Lotus Domino applications. The AAEP provides you with a process to identify and classify Lotus Domino infrastructure, understand its core components and functionality, and accurate guidance for a recommended target solution. AAEP has 4 phases:
  • Phase One: Data Collection
  • Phase Two: Data Analysis
  • Phase Three: Target Solution Mapping
  • Phase Four: Architect and Proof of Concept
In all the migration projects I have seen, these are the phases which everyone follows more or less. This guide will provide you a clarity of thought, help you plan better and optimize effort.
Analysis
The analysis of application inventory data throws up lot of useful statistics like last modified date, application usage, number of documents, database template name, which you can use to optimize the migration effort and cost. Some activities advised are:
  1. Identify and Remove applications not used or needed. A very large percentage of the application databases would be used infrequently or not at all. In most customers, this figure exceeds 75%. You should identify these databases and after discussion with the relevant business owners delete/archive them
  2. Archive legacy data. Some application databases contain historic non-business critical data which is used for reference infrequently and that too by few users. Check the option of exporting such data to an Excel sheet and/or File server and give it to users who might need it in future
  3. Drive standardization. Many applications would be similar but not same or replicas. This happens because it's really easy to copy-paste-edit a design component or even a database in Lotus Notes. Migrating such applications to a standardized template based SharePoint Site/List would save a lot of effort and time
In some instances, at the end of analysis process, less than 10% of Lotus Notes application databases actually need migration. Rest of the databases are either deleted or data is exported and then they are archived. For complexity point of view, the migration candidates are either:
  1. Simple and/or Standard Template based applications
  2. Custom and/or complex applications
Target Solution
For each migration candidate, you would need to decide the target SharePoint solution. The Table below shows the most common options -
Lotus Notes application
Target SharePoint solution
Data management applications
  • List
Document Management applications
  • Document Library
  • List
Discussion Forums
  • Discussion Board
Form based applications
  • InfoPath 2007 with (out) Form Services
  • List
Workflow applications
  • List/Library with OOB workflow
  • List/Library with custom workflow
The current Microsoft Technology environment and applications should also be analyzed as options for target solution. For example, migrating a complex Lotus Notes application to an existing ASP.NET application might save you some effort and cost. In some cases, a simple data migration to an existing application might suffice the need.
Few more things to account for when deciding on target solution are:
  1. Integration and Reporting needs – Tool based analysis is not perfect at detecting all the integration points the application might have with other applications or the reporting requirements. So, for complex and business critical applications, its advisable to manually go through some design components like Forms and Agents to confirm these
  2. Buy vs Build decision. You might come across some home grown complex applications like – Client Relationship Management (CRM), Sales Force Automation (SFA), Help Desk, etc. If these are feature rich, then it might make sense to deploy a standard package like Microsoft Dynamics instead of trying to build all the features in SharePoint. You will save on customization effort/time and users will get a ton of additional features
  3. User Experience. User experience changes completely in SharePoint so, account for these changes and the related training requirement and costs in the migration plan. Involving some power users and decision makers from the project start would help you a lot in designing most appropriate SharePoint interface and drive adoption after go-live
Proof of Concept
If you have more than one option for the target solution, it's advisable to do a quick Proof of Concept (PoC). You can also include evaluation of a migration tool as part of the PoC scope. PoC helps you in sharing the user experience and feature set with a pre-determined set of end users and get their feedback before deciding on the target solution.
After the PoC, once you have decided the target solution for each Lotus Notes application you are ready for the migration process. That's discussed in next post.

Background of Lotus Notes



Lotus Notes and Domino was the first Enterprise Collaboration software and the only one for many years (refer to: The History of Notes and Domino). Introduction of Microsoft’s SharePoint Technologies in addition to IBM’s own goof-up of introducing Workspace brand (with a completely different technical stack) and then retreating back contributed a lot to its downfall. What most customers have realized is that Lotus Notes is no longer a strategic platform for IBM. All the IBM’s newest collaboration products like – Quickr and  Connections are based on non-Notes technologies.
The trend of Lotus Notes and Domino loosing market share continues with more and more customers transitioning away from it. First it was only Microsoft but now even Google has started targeting Lotus Notes application customers. When transitioning away from Lotus Notes/Domino product family, many customers choose Microsoft’s SharePoint as their Portal and Collaboration platform and migrate to it. In this series of 4 posts, I will cover the approach for migrating Lotus Notes application databases to SharePoint 2007, process and tools available to accelerate the process.
Difference between “Lotus Notes” and “Lotus Domino”
Customers use both these terms interchangeably which often confuses SharePoint developers. Here’s the difference for you:
  • Lotus Notes: name of the Client application installed on user desktop. Needed to access the Lotus Notes mailboxes and applications
  • Lotus Domino: name of the Server. Hosts and runs Lotus Notes applications and messaging components
Applications run on the Lotus Domino servers and are accessible either using the Lotus Notes client or a web browser or both.
What’s on the Lotus Domino server?
Following are the different type of databases you would find on the server:
  • Domino Directory: Maintains Server configuration, user accounts and messaging information. The filename is always “names.nsf”. Domino server cannot run without it. In Microsoft world, these features are spread across the Active Directory, Microsoft Exchange and Microsoft SharePoint servers
  • System Databases: a set of supporting databases needed to support server and administrative functions
  • Mailboxes: user mailboxes and mail-in databases. In Microsoft world, mailboxes are on the Exchange server and mail-in databases are equivalent to the mail enabled Libraries in SharePoint
  • Application Databases: business applications like document library, discussion forum, employee self service or workflow applications. List/Library and Sites would be the equivalent in SharePoint world
  • Notes Templates: any Lotus Notes database can be saved as a template and then another clone of the application can be created using the template. Lot of Template database ship out of the box in the product. List template and Site template would be the equivalent in SharePoint
When migrating messaging infrastructure, you would concentrate on the Domino Directory and Mailboxes on Lotus Domino server. For migrating the application infrastructure, you would concentrate on the Application Databases running on the Lotus Domino server.

Wednesday, June 15, 2011

Content Deployment


Introduction to Content Deployment:
Ø   Content deployment copies content from a source site collection to a destination site collection.
Ø  Content Deployment is managed using Paths and Jobs.
Ø  Path: Content Deployment  Path defines a relationship between a source and destination site collection
Ø  Job: Content Deployment Job is associated with Path, and defines specific content to be deployed from source to destination.
Steps to Implement Content Deployment:
1.       Change the Content Deployment Settings in Central Administrator -> Operations
2.       Create a destination site using blank template.
3.       Create a Content Deployment Path.
4.       Create a Content Deployment Job.
5.       Run the Job.
6.       Check the Destination site
7.       Set Incremental Deployment and Run It.

1.     Content Deployment Settings:
·         Open Central Administrator,  Go to Operations
·         Click on Content Deployment Settings under Content Deployment
ü  Accept Content Deployment Jobs: Select Accept Incoming Content Deployment Jobs
ü  Import Server: Select Import (source) server in dropdown list.
ü  Export Server: Select Export (destination) server in dropdown list.
ü  Connection Security: Select Do not require encryption
ü  Temporary Files: Leave the default path ( No need to change )
ü Reporting: Leave the default value ( No need to change )
·         Click on OK
2.     Creating Destination Site:
·         Create a destination site using Blank Site Template with admin privileges 
Note: Source and destination must exist in different content databases i.e. It is better to create two different web applications for source and destination.
3.     Create Content Deployment Path:
·         Open Central Administrator, Go to Operations
·         Click on Content Deployment Paths and Jobs under Content Deployment
·         Click on New Path
ü  Name and Description: Type Path Name and Description for the Path
ü  Source Web Application and Site Collection: Select the Source Web Application in first dropdown list. Then select the Source Site Collectionfrom second dropdown list.
ü  Destination Central Administration Web Application: Provide the Destination Central Administration url. ( No need to include default.aspx , for Ex : http://servername:Port/ )
ü  Authentication Information: Select Connect by using different account, then Select Use Integrated Windows authentication,  Provide the User Name ( admin -> should have full rights)  and Password
ü  Click on Connect, you will get a conformation message ‘Connection succeeded’
ü  Destination Web Application and Site Collection: Select the Destination Web Application in first dropdown list, and then select the Destination Site Collection in second dropdown list.
ü  User Names: Check Deploy user names
ü  Security Information: Select All
·         Click on OK
4.     Create Content Deployment Job:
·         Click on Content Deployment Paths and Jobs under Content Deployment
·         Click on New Job
ü  Name and Description: Type Job Name and Description for the Job
ü  Path: Select the Path. ( which you have created just now )
ü  Scope:  Select Entire Site Collection
§  Entire Site Collection: Will be deployed entire site collection
§  Specific  sites within site collection: Will be deployed selected site within site collection
ü  Frequency: This option is for scheduling the job. If you want you can schedule the job otherwise leave it.
ü  Deployment Option: Select Deploy all content, including content that has been deployed before.
·         Click on OK
5.     Run the Job:
·         Go to Content Deployment Paths and Jobs (_admin/Deployment.aspx) Page
·         Move the mouse pointer to recently created job. Then Open Menu, Select Test Job.
·         Refresh the Page, you will get a conformation message ‘Test Succeeded’.
·          Move the mouse pointer to recently created job. Then Open Menu, Select Run Now.
·         Refresh the Page, you will get a conformation message ‘Succeeded’.
6.     Check the Destination Site:
·         Open the destination site, check all the content is deployed
7.     Set the Incremental Deployment:
·         Move the mouse pointer to recently created job. Then Open Menu, Select Edit.
·         Deployment Option: Select Deploy only New, Changed or deleted content.
·         Click on OK