Notes SharePoint Blog

Steve Walch's blog about his favorite migration tool and other things related to Lotus Notes migration projects

Monthly Archives: November 2010

Introducing the Notes Migrator for SharePoint 6.0 beta program

Here we are with Notes Migrator for SharePoint 5.3.3  just out the door and we are already talking about the 6.0 beta!  For a variety of reasons, we were working on both releases in parallel for several months now.  The release is far from done, but the beta already includes some very cool stuff:

  • Support for InfoPath List Forms (SharePoint 2010)
  • Support for Document Sets (SharePoint 2010)
  • Adobe Acrobat (PDF) document generation
  • Option to migrate via native SharePoint 2010 web services
  • Ability to authenticate with servers running Claims Based Authentication
  • Office 365  / BPOS-S support (utilizing the above 2 features)
  • Lightweight Migration Services (for even better BPOS-D support)
  • Migrate to SQL Server databases
  • New Designer menus (including MRU lists)

This time, the beta will be managed on the new SharePoint for All community site.  If you would like to participate in the beta program, go to
http://communities.quest.com/groups/notes-migration-product-beta-group
.  Sign in with your Quest Community ID, or register to create a new one.  Then press the “Ask To Join This Group” button.

image

One of the site owners will review your request and will typically approve it the same day.  You will receive a notification and then get full access to technical content and (of course) the beta build itself.

Quest Support will not be able to help you with this version until it releases, so please use the group’s Discussion area for any questions, problems or suggestions.

Recap of Domino.Doc migration features

We have had pretty darn good Domino.Doc migration features since the beginning, but until recently I have not blogged about it very much.  Now that we about to release support for migrating to SharePoint Document Sets in Notes Migrator for SharePoint 6.0, I thought it was time for a quick Domino.Doc feature roundup:

  • Notes Migrator for SharePoint gives you default data definitions for migrating the defaults
    • If you really use Domino.Doc to store attachments with some metadata, than SharePoint “document libraries” are a great choice
    • If you store rich text or multiple attachments in one “document” you might prefer to send it to a SharePoint list instead
  • In the cases where users have build custom “Document Types” we give you full power to migrate the custom fields, etc.
  • We allow you to map Document Types to SharePoint Content Types (but you have to design the target Content Types yourself in advance in the current version)
  • We allow you to map Binders to SharePoint Folders
  • We map access control rules at the Cabinet level and Document level
  • You can migrate complete version histories [link]
  • You can migrate unpublished documents
  • Our analysis tools discover the hierarchy of Libraries -> Cabinets -> Binders -> Documents (similar to what we do with QuickPlace)
    • Using the automation features, you can automatically provision sites/subsites for every Domino.Doc library/cabinet
    • You can also automatically generate a new SharePoint list/library on the same site for each Domino.Doc library/cabinet
  • Our analysis tools help you zero in on which Cabinets have been customized and what customization have occurred (new Doc Types, changed subforms)
  • Using Notes Migrator for SharePoint 6.0, you will be able to migrate to SharePoint 2010 Document Sets.  Either…
    • Map each Domino.Doc Binder to a Document Set and out all the documents inside it
    • Map each Domino.Doc Document to a Document Set and out all the attachments inside it

Putting all this together, we do a good job at automating the discovery, target assignment, site/library provisioning, and content migration.

CBTs available for Notes Migrator for SharePoint

Our EMEA support team (one of three global support centers where you can get awesome support on my product) has recently put together a series of Computer Based Training labs on installing and using Notes Migrator for SharePoint.  Of course their immediate objective was to better support customers who might be struggling with certain aspects of the product, but (as usual) these guys have over-achieved and what they delivered was an entire training course! 

The table of contents for the first release is shown below.  Each of the links points to a “solution” on the Quest SupportLink web site.  A login is required.  Any Quest customer should have an account on this site, but if you don’t have one, a really good way to get one is to register to download a free trial version of Notes Migrator for SharePoint [link].  This automatically gives you 30 days of free support, including access to the SupportLink site where you will find a wealth of information about all Quest products. You can download the entire set of labs packaged into a single downloadable installable file (48mb) here
https://support.quest.com/SUPPORT/index?page=solution&id=SOL52223
or use the individual links below.

Thanks to Maxim and Nerio on the EMEA Migration/SharePoint Support team for all your work on this and your ongoing support of our customers.  I think you have proven yet again that Quest support is not your average call center!

 

1.Basic configuration of Notes Migrator for SharePoint components

• Lab1. NMSP Console Configuration
• Lab2. Configuring NMSP Services
• Lab3. Configuring Global Options using Console (Designer)

2. Using NMSP Console

• Lab1. Discovering migration sources
• Lab2. Analyzing migration sources
• Lab3. Managing migration sources
• Lab4. Migrating data to SharePoint
• Lab5. Automatic target/job assignment
• Lab6. Reports and custom reports
• Lab7. Views and custom views
• Lab8. Managing Tasks

3. Document library migration using NMSP Designer

• Lab1. Standard document library migration to a SharePoint document library
• Lab2. Standard document library migration to a custom SharePoint list
• Lab3. Standard document library migration to a SharePoint Form library
• Lab4. Standard document library migration to ASPX (Basic) pages
• Lab5. Standard document library migration to HTML pages

4. Extending migration

• Lab1. Keywords migration
• Lab2. Migration of multi-valued keywords (e.g. Categories)
• Lab3. Working with strings using Notes formula language
• Lab4. Customizing migration path using Notes formula language
• Lab5. Migrating approval state

5. Permissions migration

• Lab1. Configuring user mapping via ADSI/LDAP lookup
• Lab2. Configuring user mapping via Text File lookup
• Lab3. Configuring user mapping via Domino lookup
• Lab4. Configuring user mapping via Notes Database lookup

6. Quick Place migration

•  Lab1. Migrating Quick Place

7. Domino.Doc migration

• Lab1. Migrating Domino.Doc

 

More labs are coming.  Please send us your suggestions.

Migrating Domino.Doc version histories (and unpublished documents) to SharePoint

Here is a screen shot of the new Domino.Doc selection options in Notes Migrator for SharePoint with the “versioning” parts highlighted in red:

image

For backward compatibility, the defaults are “Latest Major Versions” and “Published Documents” only, which migrate just one copy of each document.  However, you now have the ability to request prior versions and unpublished versions of each document as well.  This, of course, can result in multiple copies of each document.

image  image

In Notes Migrator for SharePoint terminology, these extra versions of the same document are treated as duplicates of the same document and thus our duplicate document handling options are triggered.  Our “If duplicate found” options were actually first implemented to handle incremental migrations (migrate the same database over and over and pick up any changes since the last time) but they turn out to be pretty darn useful for migrating version histories.

image

If you wanted to make each version appear as a different document in SharePoint, select “Write New Item”.  A more interesting choice, however, is to select “Create New Version”.  This will cause each version of your Domino.Doc document to become a new version of the same document in SharePoint. 

image

Note that you need to make sure that Versioning is enabled in your target SharePoint list or library:

image

One caveat here…   Notice that I did not migrate unpublished versions (for example, version 2.1 in the above document).  Unfortunately the current version of SharePoint does not allow us to explicitly set version numbers as we migrate.  So if I attempted to migrate versions 1.0, 2.0, 2.1 and 3.0 it would have ended up as 1.0, 2.0, 3.0 and 4.0.  Similarly, if my Domino.Doc library had pruned old versions and we now had only 3.0 and 4.0, that would have become 1.0 and 2.0 in SharePoint.  We are trying to convince the SharePoint product team to address this limitation for SharePoint 14, but for now keep in mind that this feature works best if you select all published versions in your query.  A workaround when you can’t do that is to explicitly migrate the “{VersionNumber}” field to an additional SharePoint meta-data field so you will always have that as a reference.

Notes Migrator for SharePoint 5.3.3 RTM

Version 5.3.3 of Notes Migrator for SharePoint has finally released and will be generally available next week on the Quest web site and SupportLink.

This release contains a larger number of “big ticket” items – far more than would normally be in a minor point release.  Here is the high-level list, with links to detailed blog posts describing some of them.

PS:  Don’t spread this around, but the reason that there is so much in this release is that we held it up longer than expected so we could resolve some thorny customer issues.  Meanwhile, we were finishing some of our 6.0 features!  So we decided to get some of the new goodness into your hands as soon as possible.

Writing more than 2000 Notes documents to a SharePoint 2007 list or library

It is fairly common knowledge now that SharePoint 2007 lists and libraries can hold millions of documents, but there is a practical limit of about 2000 documents in any one view or folder.  Such limitations are discussed extensively in this Microsoft article [link].

So how do you deal with this when migrating Notes documents to SharePoint? 

Notes Migrator for SharePoint customers are certainly subject to the same per-folder limitations.  Our tool is very good, however, at assigning folder names dynamically so the problem is mitigated to a significant extent. 

For example one, could map the Category field or Territory field in Notes to the Folder name in SharePoint.  If these values contain slashes (“/” or “\”) you can use these to generate nested trees of folders and sub-folders.  For example map “US/Massachusetts/Newburyport” to a Folder name to get three levels of subfolders.

image image

You can even use formulas to generate folder names dynamically.  For example, use the following formula to generate three levels of folders: 

Country + “/” + State + “/” + @Uppercase(IndustyCode)

image

Some customers have gotten pretty creative in creating “randomized” distributions for folder names.  In this case, the folder hierarchy is not likely to be a good way to for users navigate documents, as the names are pretty much meaningless to them.  As with any huge list of documents, search becomes an important tool for users to search documents here.  You can also use tools such as Quest Web Parts for SharePoint to design much more performant views against large data sources.

Another option is, of course, to split the database into multiple smaller lists and libraries.  One good way to do this would be to use a selection formula to extract a portion of the data for a given job run:

Region = “NorthWest”

image

Breaking huge Notes databases into multiple lists and libraries can also helps with backups.  Again, you can use specialized web parts like Quest Web Parts for SharePoint‘s List View to create a single view of multiple libraries (even across multiple SharePoint sites).

What about SharePoint 2010?  Happily, the scalability limits are not nearly so severe here and Notes migrating teams so not have to worry about them nearly as much.  The new limits are described [here]. 

Formulas that deal with multi-valued items or multi-valued results

Everyone knows that Notes Migrator for SharePoint has the ability to run formulas (using the Lotus @Formula language) to transform data as you migrate it.  This feature is used for a variety of things ranging from concatenating two fields to translating status code field values to using an @DBLOOKUP to “join” data from a different view.  People are sometimes unclear, however, how they would use this facility to process multi-valued data.

There are two parts to this problem:

1.  How to create a formula that yields multi-values items:   

There are many constructs in the Notes formula language that give multi-valued items as results.  The simplest is to just use a colon “:” to concatenate text values into a text array.  Two examples are shown below:

    ‘A’ : ‘B’

    @Uppercase(Region) : @Lowercase(Region)

Also note that many @Formulas will yield a multi-valued result if the input was multi-valued to begin with.  For example, if Categories is a multi-valued item, then this formula will yield a multi-valued result:

    @Uppercase(Categories)

Be sure to specify the MULTI option in your Source Data Definition column so that the query engine extracts multi-valued data.

image

2.  How to map multi-valued columns to SharePoint fields:  

Only three field types in SharePoint allow multiple values (Choice, Lookup and User).  For these, you need to specify MultiValue in the appropriate Target Data Definition field for NMSP to attempt to write data that way.  (If you are writing to an existing target, you may need to modify the column properties in List Settings as well.) 

image

For other SharePoint field types (such as Text items) you have to make a choice as to whether you want to concatenate the multiple values into a single value, take just the first value, or take the last value.  You can control this option via your detailed mapping options.

image

Migrating Notes keyword fields to SharePoint

Lotus Notes applications have a concept of “Keyword” fields which are basically text fields with a predefined set of possible legal values.  In a data entry form, these may appear as combo boxes, list boxes, check boxes, radio buttons, or pop-up dialogs.  In some cases, Notes developers will even write their own user interface for such fields.  In the following screen shots, the DocType field is implemented as a simple Dialog List.

image

In Domino Designer, we can see how the data entry field is declared.  In this case, it is a single-valued field and the list of possible values is just a list of hard-coded strings. 

image  image

Before going any further, it is important to point out that there is really no such thing as a “Dialog List” data type in the back-end Notes database (and you won’t see any such concept when using Notes Migrator for SharePoint to migrate the content).  If you look at Document Properties, you can see that DocType is really just a Text item.

image

So in Notes Migrator for SharePoint, you could extract this as you would any other text item.  The following screen shots show selecting the database, selecting the data item, and previewing the results.

image  image

image  image

On the SharePoint side, you could choose to map this field to either a “plain” Text column or to a Choice column in your SharePoint List or Document Library.  In particular, if you use our Load From Source Fields function, you will get a simple Text column:

image 

Choice columns.  If you wanted to target a Choice column instead, simply change the Type property to “Choice”.  If the SharePoint list/library you are writing to already has the Choice column defined, it may be programmed with a set of “legal” choices.  In some cases you may want to stick to the list that is there (and even reject records that don’t match the approved list).  You do, however, have the option of using the actual Notes data to automatically extend the list of possible choices on the SharePoint side.  To do this, simply set the AddMissingChoices property to “True”.

image  image

As a reminder, Notes Migrator for SharePoint can actually provision the entire list/library on SharePoint, or it can upgrade the schema of existing lists/libraries by adding additional fields.  But the tool will not convert existing Text columns, etc., to Choice columns.  If you already have a Text column that you want to become a Choice column, you will have to change it manually, or remove the column in SharePoint and let Notes Migrator for SharePoint recreate it the right way.  The following screen shot shows a Choice column provisioned by our tool (with AddMissingChoices enabled).

image

That pretty much covers how to migrate a simple keyword field, but there are several important variations on this that you are likely to encounter in real-world Notes applications…

Multi-valued items.  As discussed in other posts, nobody ever accused Notes databases of being good relational databases and multi-valued items are common.  These types of items are stored as text arrays instead of single text values.

image  image

To migrate the multi-valued items be sure to set the Option property to “Multi” in your source data definition and set the MultiValue property to “True” in your target data definition. 

image  image

Finally be sure to set the MultiValueDisposition property on your field mapping to “All”.  (Unfortunately the Default behavior here is to map just the first value, not the complete array of values.  We plan to change that in an upcoming release.) 

image

(For additional details on writing formulas that deal with multi-valued items, see this post.)

Keyword Aliases.  Some Notes applications differentiate between the way data is stored in Notes and the way it is displayed.  This arrangement is useful in cases where the displayed values might change over time or may be displayed differently for different users (in particular, users who speak different languages).  In the following example, the application stores “1″ “2″ and “3″ for the FAQType field even though user sees “Features”, “HowTo” and “Problem”.  

image  image

While one might choose to continue to store values “1″ “2″ and “3″ in SharePoint and use a Lookup column(see below) to enter and display them, it is more common to simply translate them at migration time.  To do this, simply use a Formula field in your source data definition.  Here is an example formula:   @If(FAQType=”1″;”Features”;FAQType=”2″;”How To”;FAQType=”3″;”Problem”;”Other”)

image 

Note that this is just a special case of “data massaging” that you might want to do as you migrate.  Any valid Notes formula will work here.  You can even use an @DBLookup expressions to merge data from other sources.  (And, yes, I know there are more elegant ways to solve the simple problem above.) 

One more thing to point out here is that some Notes developer may have done this work for you and designed a view column that displays “friendly” values using a formula similar to the one above.  In this case, you could just select the View Column (instead of a data Item) in your Notes Migrator for SharePoint source data definition and simply migrate the pre-computed values from the view index.

Lookup columns.  Sometimes the list of possible keyword values are not hard-coded but instead come from other Notes views or even other Notes databases.  

image

Here are two “Use formula for choices” examples: 

@DbColumn(“Notes” : “NoCache”;”" :”" ; “StateCodes”; 1) 

@DbLookup( “”; “”; “ConfigDocs”; “StatusCodes” ; “Choices”)

Without going into too much detail, the first selects a list of possible choices from the first column in a view and the second looks up a particular configuration document that stores the list of possible choices in a multi-valued text item.

When migrating such a field, you have two basic choices.  First, you could migrate it to a Choice column as described above.  This means that you will no longer be using data documents to control the list of possible choices but will be instead storing the choices as part of the SharePoint list/library schema.  This is a simpler configuration, but you have to be a Designer to modify the choices.

Your other option is to migrate to a SharePoint Lookup column.  Unfortunately Notes Migrator for SharePoint cannot provision this type of column for you so you would have to do a little SharePoint design work yourself.  Once you have set things up, Notes Migrator for SharePoint will happily migrate the data for you.  Here are the steps to migrate to a Lookup column.

  1. Create the List that will contain the set of possible choices.  Of course, Notes Migrator for SharePoint would be a great way to create and populate such a list.  (In the above example, you might migrate the contents of the “StateCodes” view to a similar list in SharePoint.)
  2. Create a List or Library that will contain the main migrated documents.  Add a Lookup column that specifies the above List as the data source.  (As explained above, Notes Migrator for SharePoint can not provision new Lookup columns for you.  It may still be useful, however to use Notes Migrator for SharePoint to design and provision the rest of the list for you.  A good trick is to first migrate a handful of documents using all Text or Choice columns and then change the column type to a Lookup column after the fact.)
  3. Now create your Notes Migrator for SharePoint job.  In your target data definition you can specify the “Lookup” in the Type property for the appropriate column.  When you run this job, SharePoint will reject any records that do not contain legal values so be sure to populate all the possible values in advance (step 1 above).  Of course, the tool will log any exceptions that are encountered.

image   image

Slowly but surely…

Please be patient as I gradually repost content from my old (crashed) blog site.  Rather than bulk load everything, I am taking the opportunity to review and update the posts as well as eliminate the ones no longer relevant.  But there are a lot of old tech notes and “how to”s that I know people depend on and I am sorry about the disruption.  It will take weeks and I trust it will be better than before.

And yes, I am still writing new stuff!

How to migrate to SharePoint Wiki pages

Notes Migrator for SharePoint has allowed for migration to SharePoint wiki pages for over a year now.  Wiki pages were of mild interest in SharePoint 2007, but as described in my last post they have evolved into an awesome target choice in SharePoint 2010.  For example, you may have noticed that the Site Pages library in many of the new 2010 site templates is now a Wiki library.

The following steps recap the basic steps and some of the advanced options for migrating Notes documents to Wiki pages.  These steps apply equally well for SharePoint 2007 or SharePoint 2010 (but SharePoint 2010 requires the use of Notes Migrator for SharePoint 5.3.1 or higher).

Basic Steps

  • If using the Designer client, select a source Notes database, QuickPlace or QuickR room, or Domino.Doc library and then select a corresponding source data definition.  If using the Migration Console, simply open the Database Properties, got to the Migration Jobs tab, and add a new migration job.

image

  • On the second tab, select a target SharePoint site and Wiki page library (or any document library).  When asked whether you want to load a default target definition, say “Yes” and load the “Wiki pages” data definition.  You can also provision a new library on the fly here.

image image

  • On the third tab, press the “Auto Map” button.  The default mappings will create Wiki pages with the same name as the original Notes document, use the rich text Body field as the Wiki page content, and map any embedded elements to files in a subfolder.

image

  • Press the Run Job button and go!

image

What you get in the end is a bunch of new Wiki pages in your SharePoint library.  Any embedded images, attachments, or OLE objects shown on the Wiki pages are really stored in the “Attachments” subfolder.

image 

 

Advanced Job Customizations (optional)

  • If you prefer to put images and attachments into a separate library, simply edit the target data definition, select the Files field, and specify the Alternate Library property instead of the  Alternate Folder property.  (By the way, this is definitely the “2010” way to organize things.  Many 2010 templates contain a “Site Pages” wiki library and a “Site Assets” library where all the images and attachments are intended to go.)

image

  • If you would like to migrate the original attachment icons for your Notes attachments, simply edit the target data definition and check the “Migrate Attachments as Image files” checkbox.  The additional image files will be saved to the same alternate folder or library described above.

image   image

  • If you are migrating a QuickPlace site or other Notes/Domino application that does not store attachments inside the rich text Body field, you may wish to concatenate a rendered “attachment links” area to the bottom of the page so you can link to them.  QuickPlace and QuickR data definitions already have a built-in “{OtherAttachmentLinks}” section that you map to the existing WikiField in your target.  (If you are using other data sources. you will need to define an AttachmentLinks section in your source data definition.)

image

  • Notice how you the above job maps multiple source columns to one target WikiField?  You can actually concatenate as many things as you want (multiple rich text fields, text fields, and even static labels) to your WikiField.
  • If you want to map additional Notes items to SharePoint metadata fields, just do that as you would for list items.  The extra fields will show up in the page properties and you can use them in view columns.

image  image

  • Of course, you can use many other Notes Migrator for SharePoint features with your Wiki pages:  created/modified metadata, document level permissions, content types, folders and subfolders, approval status, incremental migrations, and much more.

Migrating Lotus Notes content to Pages in SharePoint 2010

As hard-core Notes Migrator for SharePoint users know, there are about five ways to migrate Notes documents to web pages in SharePoint 2007:

  • HTML pages
  • Basic pages
  • Wiki pages
  • Web Part pages
  • Publishing pages

In our extensive regression testing with SharePoint 2010, we noticed that the rules have changed a few interesting ways.  Here are four basic changes you should be aware of:

1. HTML pages have been “secured” – If you populate a SharePoint document library with migrated HTML pages, everything migrates correctly, but SharePoint does not display the pages the same way when a user clicks on one of them.  Instead of displaying the page in the browser, SharePoint forces the user to download the HTML file and view it locally.  This is annoying at a minimum, but if the file contains relative links to other images or attachments, they will not work at all when opened from a different location.

The reason for this is that Microsoft decided that displaying HTML files indiscriminately was a security risk and they added safeguards to prevent that by default.  The remedy to this is to turn the new security feature off.  In Central Administration, go to Manage Web Applications -> General Settings and select “Permissive” as your Browser File Handling Option.

Be sure to read the description on this option and make sure you understand the security implications.  Going “Permissive” is really no less secure than what we had in SharePoint 2007, but if you have users you don’t trust uploading content to your site, you might be better off choosing a different type of page to migrate to.

2. Basic pages are gone… sort of – If you go to the Create menu in a typical SharePoint 2010 team site, you will see that there is no longer a “Basic Page” option.  As described below, I think there is a good reason for it.

If you use Notes Migrator for SharePoint to generate a bunch of Basic pages, it actually does still work.  Each page looks nice but all the window dressing is gone and you are stuck in read-only mode.  Notice in the screen shot below that there is no Quick Launch menu and the Edit buttons are disabled.

image

Perhaps some of the new site templates I have not experimented with yet still expose the ‘Basic Page” construct, but I suggest that most of us move on to Wiki pages.

3. Wiki pages are king! – In SharePoint 2007, Wiki pages were a cute, but somewhat limited, list type that not many people used.  In SharePoint 2010, they have become something that is greatly improved and now pretty ubiquitous.  When you create a new “Page” using the Create menu in a team site, you are now creating a Wiki page.  And the “Site Pages” library that (by default) holds pages that users create is now a Wiki Page Library.

Microsoft basically merged the concept of Basic pages, Wiki pages and Web Part pages into a single construct that is much more powerful – and much more user friendly – than before.  Remember that crappy rich text editor in SharePoint 2007?   Now the editor sizzles.  End users can upload images and files and can even embed Web Parts in their rich content (similar to the way they used to embed OLE objects in their Windows applications).

image 

NOTE:  Don’t attempt to migrate to SharePoint 2010 Wiki Pages in Notes Migrator for SharePoint version 5.3.  Somewhere between the 2010 beta and RTM, there was a breaking change in how one of the SharePoint APIs worked and we had to make a two line change to accommodate it in our product.  Notes Migrator for SharePoint 5.3.1 fixes this issue which will RTM in a couple weeks.  If you can’t wait that long, contact me through your Quest rep and we will get you a build.

4. Put your Assets in the right place – When migrating to any of the above page types, it has been common practice to put the associated images and attachments in a subfolder inside the same document library you were putting the pages in (described in this post).  That’s not the 2010 way to do it, and there are some cases where it actually does not work out very well. 

Page Libraries in particular are not really designed for holding binary files.  Our tool will let you migrate attachments and images there, but the result is not always satisfying.  For one thing, you loose some of the nice integration that you have between Office applications and “normal” document libraries.  We have seen cases where Word will not open .doc files from a folder in a Page Library.

The right solution here is to put images and attachments in the “Site Assets” library, or whatever place the designer of your site template intended such things to go.  As shown below, this matches perfectly what users will  be encouraged to do when they upload new attachments while editing a new page.  Putting images and attachments into different libraries is nothing new for Notes Migrator for SharePoint and the technique is pretty simple (described in this post).

image

I will have a lot more to say about SharePoint pages – especially Wiki pages – in future posts.  Web Part pages and Publishing pages still exist as distinct page types and migrating to these work pretty much the same as they did in SharePoint 2007. 

How to migrate to SharePoint Publishing Pages

Many Notes applications were designed primarily to publish rich content to a wide audience.  These often included some type of approval process, management of draft content, version control, etc.  These are great examples of applications that may well to the “publishing” site templates available in SharePoint Server 2010 and MOSS 2007.  Here, for example, is a rich text Notes document (with embedded images, attachments and doc links) that has been migrated to a 2010 “Publishing Portal” using Notes Migrator for SharePoint.

image

If we put this page into edit mode, we can see that a great deal of out-of the-box functionality is available with no development required.

image

Notes Migrator for SharePoint supports migrating any Notes content to publishing pages.  This is a little more complex than doing other wiki pages or basic pages and uses the tool’s unique capability to create pages using custom ASPX template code.  The remainder of this walkthrough will use screen shots from SharePoint 2007, but the process is nearly identical for SharePoint 2010.

If you do not already have a publishing site, create one using SharePoint Central Administration and specify one of the “Publishing” templates.

image

Next, we need to create a “template” for generating pages from your Notes documents.  Go to your new SharePoint publishing site site and create a sample page by selecting Create Page from the Site Actions menu.

image

Select the page layout you want for your new pages.  The list of layouts may vary depending on the site template you started with and may include custom layouts designed by your site owners.

image

Now populate the page with a little sample data and save it. 

image

Feel free to experiment with checking the page in and out, versioning it, scheduling it’s release or submitting it for approval.  These are all powerful features of the SharePoint publishing templates, but you actually do not need to use them for the task at hand.

For designing a migration job, we need to extract the page to a local file so we can example the ASPX layout.  Select View All Site Content from the Site Actions men and then go to the “Pages” document library.

image

In the Pages library locate the test page you just created and pick Send To –> Download a Copy from the drop down menu for that page.

image

Save the ASPX file to your computer and edit in any text editor.  I like Visual Studio or SharePoint Designer, because it gives me nice color coding and formatting, but Notepad also works just fine.  Keep this ASPX file handy, because will be using it later.

image

Digression:  ASPX developer’s may be interested in how this page is constructed.  It inherits from a class in the Microsoft.SharePoint.Publishing namespace, but does not actually specify any HTML markup.  Instead the code behind the pages uses the data in an XML data island to render the page.  Notice that the XML parts specify not only content properties such as PublishingPageContent but also the page layout in the PublishingPageLayout property.  

Now you have what you need to create your Notes Migrator for SharePoint migration job.  You can start from scratch or customize an existing job if you prefer, but you might prefer to start with an existing job that I created.  I suggest downloading one of the following jobs, depending on which version of SharePoint you are targeting:

[DocLibrary to Publishing Page 2007.pmjob]

[DocLibrary to Publishing Page 2010.pmjob]

If you are starting with the above jobs, should first change the source Notes database to refer to the your database and you may need to customize the source data definition to extract different Notes data items than the default ones specified (“Subject”, “Body”, etc.). 

You should also change and target SharePoint URL to point to your publishing site.  Both jobs are already configured to create new pages in the “Pages” library, place any embedded objects in the “Images” library, and place any attachments or embedded objects in the “Documents” library.  This is consistent with the way things work normally when a SharePoint user created content in a publishing site, so you probably do not need to change those parts. 

image

If you open the target data definition in the migration jobs, you will notice that there is a target field of type PageName and that the PageType property of this field is set to “Template”.  This PageType allows you to specify your own custom ASPX code in the PageTemplate field.   

image

Remember that ASPX code we looked at when we downloaded a sample ASPX page from the server?  That is the code we need to put into the PageTemplate field.  But we don’t want all of it, just the bits that describe the page structure.  We can leave out the content parts and, as you will see shortly, we will specify the content in a different way (mapping the data dynamically from Notes).  Your ASPX page may be different than the one I showed above, but generally you want the ASPX tags at the top (which start with “<%@”) and the <html> tag.  In my example, I am going to grab the first four lines and paste it into the little drop down editor for the PageTemplate.

image

Notice that the target data definition also specifies several fields that allow data to be mapped as content in the generated pages.  Some of these you may recognize as the properties that were specified in the XML data island (the green part) in the above example.  We included PublishingPageContent for mapping the Notes rich text and PublishingPageLayout for specifying the page layout.  Other page types may require additional properties but you will find that many of them can be omitted as the defaults are acceptable for migrations.  Title and ApprovalCode allow setting of metadata on the page.  ExternalImages and ExternalAttachments allow mapping of additional files to the appropriate SharePoint libraries.

Press OK to save the target data definition.  Next go to the Mapping tab to review how various fields are set from the dynamic Notes data.  Most of these mappings will make sense to an experienced Notes Migrator for SharePoint user, but two deserve special attention.

The PublishingPageLayout is set to a constant value, which is the URL of the appropriate layout page.  It is critical that you replace this value with the the address of a layout page on your SharePoint server.  Recall that when I created a test page in the example above, I selected the page layout “Article page with body only”.  In the resulting ASPX file, this translated to the PublishingPageLayout property in the XML data island (the green bit) set to “
http://quest-e52a78ada/sites/publishing/_catalogs/masterpage/PageFromDocLayout.aspx
”  This is the URL that you need to use here.  If you do not get this part right, your pages will not open.

image

The jobs are also designed to set any migrated content to the “Approved” state.  This is accomplished by mapping a constant value to the ApprovalCode field.  Of course you can change this to a different constant value or even make it dynamic depending on the state of your Notes document.

Depending on the page layout you selected, you may need to map other properties as well.  When you are ready, press the Run Job button and start migrating! 

Upcoming releases of Notes Migrator for SharePoint will add a few things to make the above process a bit easier, but there is really no need to wait.  You can generate great looking publishing pages now.

image

Simple migrations without tools

Migration tools are great (especially mine) but we don’t want to ever forget about the simple migration scenarios that you get for free from the Microsoft platform. 

Here is a cool video [link] from Microsoft’s Gary Devendorf showing you how to extract data from Notes using the good old ReadViewEntries Domino URL commands.  Gary uses Microsoft Access in this case to grab data from the Domino URL, massage it, and publish it to a SharePoint list.  Way cool!

You can do similar things using Excel and SharePoint Web Parts that read data from the same place.  Gary and I have co-presented on a few occasions and these types of demos are very popular.  And Notes developers are very happy to have a way to get started doing simple data migrations using these types of methods.

As Gary well be the first to tell you, these methods only take you so far.  You do not get rich text, attachments, created/modified metadata, security, and many other things.  That’s where tools such as Notes Migrator for SharePoint come in to save the day.

New article on Migrating Lotus Notes Applications to Microsoft SharePoint

A new article by yours truly has come out on CTO Edge:


http://www.ctoedge.com/content/migrating-lotus-notes-applications-microsoft-sharepoint

Also, a very nice podcast by Joel Oleson on What’s New For Administrators in SharePoint 2010 here:


http://www.themossshow.com/2010/08/episode-25-whats-new-for-administrators-in-sharepoint-2010-with-joel-oleson/

Enjoy!

Ten Ways SharePoint 2010 Will Impact Your Notes Migration

Here is a link to my new white paper, hot off the presses: 

[
http://www.quest.com/documents/landing.aspx?id=12162&prod=352
]

Abstract:

Many organizations are moving from Lotus Notes/Domino environments to Microsoft Exchange Server, SharePoint and Office. However, applications that are migrated from Notes to SharePoint may need to be rebuilt – typically an expensive and time consuming process.  Even then, the new applications may not function as well as the legacy ones. But with the release of Microsoft SharePoint Server 2010 and SharePoint Foundation 2010, things have changed.  This paper discusses 10 ways that SharePoint 2010 will change the game for enterprises of all sizes who want SharePoint to replace or enhance their Notes environments.  You will learn about major platform and functionality improvements and discover how SharePoint 2010 simplifies rebuilding Notes applications after a migration.

Feel free to post comments here or send to me privately.

Migrating Lotus Notes data to Office 365 beta… NOW

Now that the next generation of SharePoint Online (Office 365) has gone into beta, we know that many of our customers are itching to start migrating their Lotus Notes applications to the cloud.  Well I am happy to report that Quest is ready to help you.

image

Starting next week, selected customers will be using pre-beta versions of Notes Migrator for SharePoint 6.0 to migrate to their Office 365 beta sites.  If you want to be included in this, please contact your Quest sales rep or reach out to me directly at steve.walch @ quest.com.

Why would Notes customers care about SharePoint 2010 and SharePoint Online?  Here again are links to a webcast [link] and a white paper [link] on that topic.

New Site Under Construction

My hosting company (VPSLAND.COM) failed me again with more hardware problems.  Rather than wait to see if my old site will come back to life, I have decided to bite the bullet and move to a different provider regardless. 

So here I am on WordPress.  It will be nice to be on a real blog platform, with all the widgets, gadgets and links that the cool bloggers have.  And just maybe my blog will stay up a bit more reliably.

I will be reposting a lot of the old content, especially the tech notes and “how to”s, to this site, but it may take a while again.  Thanks to Windows Live Writer, which makes reposting to a new site pretty easy.  My apologies for all the broken links, but I will see what I can do about that.

New Site Administration Configuration Pages

Never access Central Administration again!  Until now, people who used the Notes Migrator for SharePoint services (Import Service, Link Tracking Service) had to access our Central Admin add-in pages to configure them.  This was a big problem in many cases (including SharePoint Online and other hosting situations) where the people running migration projects did not have access to Central Administration.  There were some workarounds, but it was still a challenge for many.

Notes Migrator for SharePoint 5.3.3 solves this problem by introducing a new set of configuration pages that run inside the SharePoint sites instead of Central Administration.  Anyone who is a Site Collection Administrator can configure our services for their site collection.  To access these pages go to Site Settings –> Site Collection Administration –> Notes Migrator for SharePoint settings.  The following screen shot shows this is SharePoint 2010, but it is also there in SharePoint 2007.

image 

The pages that you see are a simplified version of what you used to see in our Central Administration pages.  They use the styles appropriate to their new context, but they pretty much do the same thing.  Since we are already in a site collection we do not force you to select one. 

image

So now you have a choice, you can configure our services from our Central Administration pages or from our Site Collection Settings pages.  The only functions we did not include in the Site Collection Settings pages are our Link Tracking Updater/Finalizer tools.  The reason is that earlier in the year we introduced a client-side version of these tools that run in the Migration Console which are much better and almost everyone prefers to use them.

NOTE:  In addition to not having to get Central Administration access in order to manage our tool, this feature gives you one additional benefit.  You don’t have to install as much stuff on your servers.  In fact, you don’t have to install our “Administration Services” feature at all.  It is still selected by default when you run Notes Migrator for SharePoint Services, but you can easily deselect it.

image

Follow

Get every new post delivered to your Inbox.