次の方法で共有


Organization Hierarchy a Mess?

The "Organization Hierarchy" is a cool little thing that let's SharePoint users to remember who their colleagues are and more importantly who their manager is.

image

If you are wondering about customizing it, honestly, it's quite a bit of a work if you want to do that via features or using OM for the "small" issue in hand.

This pretty little control is actually marked up in the person.aspx page in the "SPSMSITEHOST" site definition. The actual control reference is "SPSWC:ProfileManages". Looks like this control is designed to lookup SharePoint's user profile database for filling itself up. And quite obviously, if proper mapping (between managers/employees) is done in Active Directory that information is captured in SharePoint's user profile database as well and the accurate AD structure is replicated in SharePoint's user profile database. This acts as the primary source for the "Organization Hierarchy" control.

There was a recent customer query, where they had ~ 12,000 user profiles in their Active Directory. Worst, those user profiles did not have proper structure defined in AD i.e., no manager employee association or whatever! They setup My Site and fact a performance issue and quite obviously the "Organization Hierarchy" control was causing it.

As I said earlier, "Organization Hierarchy" control has no intelligence of its own and purely relies on SharePoint's user profile module, which in turn relies on AD structure to populate information. Now, since this customer did not have a structured AD, it ended up being a mess as all their user profiles (~ 12,000) was displayed in the "Organization Hierarchy" control. Actually, the "Organization Hierarchy" control "tries" displaying all the data and eventually times out or if it displays, it does after a good 10 minutes delay. So much for their unstructured AD.

Now, coming to the ways to fix this problem.

1. Delete all the user profiles you've loaded in your User Profile database.

2. Remove the "Organization Hierarchy" control using SPD.

The customer did not want to delete the user profiles, so the suggestion to remove the "Organization Hierarchy" control via SPD was the only one feasible. All that the customer had to do was to login to open their https://<sharepoint>/person.aspx page using SPD. Find the control and delete it as shown below:

image

Once this is done, it affect the person.aspx page of all users in that SharePoint Server Farm.  I couldn't think of any other means (for e.g., via features) because this control seems to be embedded in the person.aspx page as I told earlier.  There might be ways of achieving it via feature (may be looping through the controls collection and removing this particular control), but to me it seemed to be a over-shot for the simply issue in hand.

Comments

  • Anonymous
    July 14, 2008
    PingBack from http://blog.a-foton.ru/2008/07/organization-hierarchy-a-mess/

  • Anonymous
    September 22, 2008
    Hi, any Ideas how can I set permissions ? I should be disabled for externals as example. Regards, Heiko

  • Anonymous
    December 05, 2008
    is there a way to use that control on another page, lets say userdisp.aspx but display the info for the user on that page as opposed to the user running the page? i was able to add the control but the page shows the entry for the user running the page and not what the userdisp.aspx user info is.

  • Anonymous
    June 17, 2009
    Hello sridhar, Nice article, I'm building a workflow. And my site has the organization hierarchy. NOw, can i build a work flow which automatically retrieves one's boss from the hierarchy and submits a infopath form to him? Thanks and appreciate the response.

  • Anonymous
    February 03, 2010
    Hi The webpart does not seems to work on the IE 8 any suggestion of how to use it ? thanks nikhil