Tuesday, April 24, 2012

Want To Have User Profiles, But Don't Want To Deploy MySites Yet??

Well, you don't have to!!
Many companies are understandably nervous about deploying MySites. BUT nearly every company wants the benefit of User Profiles. However, in SharePoint 2010, a MySites host is a requirement for Profile Synchronization. What to do?

First and foremost, you DO need to provision a MySites host for Profile Sync... It is a hard requirement and there is absolutely no getting around it. However, there is nothing that says you have to publish the MySites links. In an environment where I need to sync profiles, but do not want to deploy MySites, I normally create the MySites Web Application with a host header, then create the MySites host Site Collection inside that new web application. This gives me everything I need to create the User Profile Service, BUT, because I am using a host header, the URL is unavailable to the outside world until I register the host header with DNS.
I can provision my profile import without worry that a user will create a MySite before my enterprise is ready.

"BUT!!!!" Someone in crowd yells, "What about the MySite and MyProfile links that are created in the user's drop down menu?? They will point to dead links, and then users will call me about not being able to get to places that they shouldn't go!! How do I get rid of those links???"

Well, I am glad you asked!! Normally when I need to get rid of, or add, something in a SharePoint menu, I need to create a feature with a CustomAction or HideCusomAction element in the feature's elements.xml file. The scope of the feature would depend on exactly how deeply I want to apply the change to the menu. In this case I would want to apply it from top to bottom, so I would scope it at the Web Application level.
BUT in this case the trusty HideCustomAction element will fail us. We need another approach. No, don't go looking for the welcome.ascx control. It is better to leave that alone, unless you are doing some major revisions, then it is better to replace it all together.

After you provision your User Profile Service, User Profile Service Application, User Profile Synchronization Service (check out Spencer Harbar's site for an EXCELLENT step by step guide to this confusing process... then when you screw that up, Spencer wrote another post on how to fix what is wrong.), AND do your first profile sync, you go back in to the User Profile Application page and click on "Manage User Permissions" under the People heading. From there a little window will pop up:

And you will see that All Authenticated Users have rights to User Personal Features, Create Personal Site, and Use Social Features. What are these?
  • Use Personal Features
    • Contains Memberships, such as SharePoint sites and distribution lists; Colleagues, such as the My Colleagues list and colleagues recommendations; My Links; My Personalization links, such as personalization site pinning; and User profile properties.
  • Create Personal Site
    • Creates a My Site, which includes a personal, private My Home page and a public My Profile page.
  • Use Social Features
    • Includes social tags, Note Board, and ratings.
Unchecking the boxes turns off the links, and you have just provisioned your User Profile Service, but did not deploy MySites!

Thanks to How to SharePoint for images!!

Tuesday, April 10, 2012

SharePoint PowerShell Command Builder

I can't believe that I just found this... Microsoft's SharePoint PowerShell Command Builder. All of the SharePoint commands at your fingertips. No more hunting around for the correct command or the switches that run them. A great tool!!