Home » MOSS 2007-SP 2010 Migration » My Links Migration from MOSS 2007 to SP 2010 – Part 1

My Links Migration from MOSS 2007 to SP 2010 – Part 1


Note: Part 2 of this post is here https://pathikhrawal.wordpress.com/2011/12/04/my-links-migration-from-moss-2007-to-sp-2010-part-2/

 

While working on design of My Site for SharePoint 2010 and migration approach, I found that many users have lots of links under My Link section which should be migrated to SP 2010 as My links on their My Site.

Some back ground about My Links

My links used to be the top link in MOSS 2007 as shown below

MyLinks

This links “My Links” is not available on SP 2010 my Site by default unlike MOSS 2007, however functionality exists as is. There is a /_layouts/MyQuickLinks.aspx page on SP 2010 as well as shown below.

image

Where are links stored

In MOSS 2007, links are stored in USERLINKS table which is part of SSP Database.

In SP 2010, links are stored in USERLINKS table which is part of Profile DB database.

Now you can easily create links on Top bar or on My Profile Page with an additional tab. Which ever you like it. But the challenge is how will you migrate data from MOSS 2007 to SP 2010.

I will write about best approach for migration of My links from MOSS 2007 to SharePoint 2010 in next article

Please visit part 2 of this post for code snippet.

https://pathikhrawal.wordpress.com/2011/12/04/my-links-migration-from-moss-2007-to-sp-2010-part-2/

Thanks

About these ads

8 Comments

  1. Deno says:

    When will your article be finished about migration of My links from MOSS 2007 to SharePoint 2010 ?

  2. Oke says:

    Hi, sooner would ‘ve been better for us ;-)

    We are stucked in our migration: we migrated from Moss2007 to SP2010 _without_ migrating the MySites – just the content DBs. And we didn’t know that the My Links of our users have been stored with the mysites :-/
    With your tipp on the “USERLINKS table” we have been able to export the link by SQL, but we don’t want to risk to import via SQL into our SP2010-database (“do never ever write to the SharePoint databases!!!”).

    –> Do you know a way to _write_ the links (about 1000 of them) by powershell or C# into SP2010?

    Any help is appreciated and thank you for the first post of this subject!
    Oke

    • pathikhrawal says:

      Hi,

      We are working on this as this point of time. We are currently developing an utility which will export my links from MOSS 2007 (an XML file) and then import my links from XML ( By using SharePoint Object Model) and achieve following

      1) Export the “My Links” for every users into an XML file. Refer the XML below
      2) Import My links by reading the XML generated in step
      (refer http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/04/22/adding-a-link-to-my-links-programmatically.aspx)
      XML

      _ _users
      – user–pathik.rawal@xyz.com –/user
      – Links
      – link
      … name-google-name
      … -url-www.google.com-url
      …. -category-general-category
      …–links-
      …–Links–
      ….–user
      …–users

      • Oke says:

        Thank you so much for your answer – the dotnetmafia code was the clue! (which I could’t find by myself – )

        For all others having the same problem: I wrote the code for powershell like this:
        Add-PSSnapin Microsoft.SharePoint.Powershell
        $site = new-object Microsoft.SharePoint.SPSite(“http://people.contoso.com”)
        $ServiceContext = [Microsoft.SharePoint.SPServiceContext]::GetContext($site);
        $ProfileManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($ServiceContext)
        $currentUser = $ProfileManager.GetUserProfile(“oburg”);
        $quickLinkManager = $currentUser.QuickLinks;
        $quickLinkManager.Create(“My Quick Link”, “http://www.dotnetmafia.com”, “General”, $null, “Private”)

        The last, user specific lines can be written in one line:
        (($ProfileManager.GetUserProfile(“oburg”)).QuickLinks).Create(“Link1″, “http://www.bla1.com”, “General”, $null, “Private”)
        (($ProfileManager.GetUserProfile(“oburg”)).QuickLinks).Create(“Link2″, “http://www.bla2.com”, “General”, $null, “Private”)
        (($ProfileManager.GetUserProfile(“oburg”)).QuickLinks).Create(“Link3″, “http://www.bla3.com”, “General”, $null, “Private”)

        And I migrated our 1000 MyLinks by running this line a thousand times – KISS ;-)

  3. Thankfully some bloggers can still write. My thanks for this read

  4. This definitely makes great sense to me…

  5. Jeff Rickard says:

    http://mylinks.codeplex.com

    This is a my links replacement control. It is not perfect yet, but it has a much good functionality.

    4tw.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 81 other followers

%d bloggers like this: