March 3, 2010

SP2010: Multilingual term store management

Problem:
After installing SharePoint 2010 Language Pack (LP), how do I define translations for term sets and terms in Term Store Management?

Solution:

  1. As mentioned, first you need to install LP on the server (in this case server is English and additional German LP as installed)
  2. Go to Term Store Management Tool in Central Admin
  3. In Managed Metadata Service Properties screen, enable the new language by adding it as a Working Language


  4. Create your term set and term hierarchy, e.g., like in the image below.


  5. Change language from the drop-down menu below the TAXONOMY TERM STORE title
  6. Translate Term Set title by changing the Term Set Name property


  7. Translate Term title by changing the Default Label property


  8. Group titles cannot be translated
End result for German terms are as following:

February 18, 2010

SP2010: FIMSynchronizationService errors when running Profile Synchronization

Problem:
Profile import from AD fails. You are able to successfully create Synchronization Connection, but when trying to run Full or Incremental Profile Synchronization, you are greeted with errors in Application Event Log such as this:

Log Name: Application
Source: FIMSynchronizationService
Date: 17.2.2010 9:23:03
Event ID: 6050
Task Category: Management Agent Run Profile
Level: Error
Keywords: Classic
User: N/A
Computer: wv002578.eu.tieto.com
Description:
The management agent "MOSSAD-[SYNCHRONIZATION CONNECTION NAME]" failed on run profile "DS_DELTAIMPORT" because of connectivity issues.

Additional Information
Discovery Errors : "0"
Synchronization Errors : "0"
Metaverse Retry Errors : "0"
Export Errors : "0"
Warnings : "0"

User Action
View the management agent run history for details.

SharePoint log contains row:
UserProfile Synchronization: Encountered unexpected step result: stopped-connectivity.

Synchronization progress log contains:
[SYNCHRONIZATION CONNECTION NAME]
Stage Active directory import
Additions 0

Updates 0

Unchanged 0

.............................
Successes 0
Failures 1

Start Time 2/18/2010 11:06:01 AM

-----------------------------------------------------------------


Thoughts:
Explanation for the error found in the SharePoint logs is found on this blog post. It is in fact the cause of the error, but the true solution to this problem is not that trivial.

What really happens when you create a Synchronization Connection in Central Admin? Behind the scenes SP2010 uses Forefront Identity Manager 2010, amongst other things, to do the actual profile importing from AD. You can find management console for this opening FIM Synchronization Service Manager (SSM) from C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe.

In SSM you can view the status of currently running synchronization jobs, as well as history of previously ran jobs. In the picture below you see the actual error (on yellow), and it is indeed caused because of missing permissions on the AD.

But, why is there wrong DC and Partition there (circled with red)? That is not the AD that was defined in Synchronization Connection, where the defined AD was set to be eu.tieto.com.


Looking at the respective Management Agent properties in SSM (picture below), one can see that eu.tieto.com domain has been replaced by tieto.com (on yellow), which is in this case completely different AD. eu in the Domain field is related to the user name used to do the actual synchronization, and is not related to this issue.


Furthermore, looking at the Directory Partitions definition for this Management Agent, there is some strange partition, CN=Configuration,DC=tieto,DC=com, which is again not at all related to the AD that was defined in SP2010 and where the profiles should be synchronized from.

Solution:

  1. Start FIM SSM (C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe)
  2. Go to Management Agents screen, right click on MOSSAD-[SYNCHRONIZATION CONNECTION NAME] and select Properties
  3. Go to Configure Directory Partitions and uncheck the directory partition that you didn't define in SP2010
  4. Click OK to close Properties window
  5. Again, right click on MOSSAD-[SYNCHRONIZATION CONNECTION NAME] and select Configure Run Properties...
  6. On DS_FULLSYNC, DS_DELTASYNC, DS_FULLIMPORT, DS_DELTAIMPORT, delete step for the directory partition you removed on bullet 3. NOTE! You must only remove the step for the directory partition you removed earlier on bullet 3. I.e., if the removed directory partition was 3rd on the list, you should delete 3rd Step.
  7. Click OK
  8. Re-run profile synchronization from Central Admin

January 12, 2010

SP2010 Beta 2: MySite's Organization Browser Silverlight crashes browser

Problem:
When trying to access Organization tab on My Profile page in SharePoint 2010 My Site, the Organization Browser Silverlight control partly loads, but soon freezes the browser, and consumes all available CPU (well, on multi-core CPUs only one core, to be exact). Only option is to kill browser process and stay away from the Organization Silverlight.

Thoughts:
When looking at the HTTP traffic using Fiddler, I noticed that page Silverlight control loading seemed to halt more or less immediately after querying information of a same specific individual using /MY/_vti_bin/SilverlightProfileService.json/GetUserSLProfileData.

Solution:
So, I went to the profile of this user and found out that if a person is a Manager of himself/herself, the Silverlight control will crash. It is probably going into some never-ending loop. In my case the problematic user was the most top-level manager. After I modified the profile of this user in Central Admin and cleared the manager field, Organization control started working.

SP2010 Beta 2: Error occurred during the processing of /my/default.aspx or /my/personcontent.aspx

Problem:
When you modify My Site master page (mysite.master) either using SharePoint Designer 2010 (SPD), or by creating new master page and setting your custom master page as Custom Master Page using SPD, you will end up with error when trying to access My Network page. You are not using any server side code blocks in your master page. In fact, you only need to create a new version of the default mysite.master without modifying it, and publish the new version, to get this error.

The error you see is: An error occurred during the processing of /my/default.aspx. Code blocks are not allowed in this file.

You might also get the same error from file /my/personcontent.aspx.

Solution:
You need to modify web.config and add the following PageParserPath (although you are not using inline code in your master page):

<SharePoint>
<PageParserPaths>
<PageParserPath VirtualPath="/my/default.aspx" CompilationMode="Always" AllowServerSideScript="true" />
</PageParserPaths>
</SharePoint>

January 11, 2010

SP2010 Beta 2: Access Denied when accessing My Content

Problem:
When trying to access My Content section in MySite in SharePoint 2010 Beta 2, you get error:

There has been an error creating the personal site. Contact your site administrator for more information

Furthermore, you get these errors in Application Event Log:

Log Name: Application
Source: Microsoft-SharePoint Products-SharePoint Foundation
Date: 11.1.2010 12:54:21
Event ID: 6141
Task Category: Topology
Level: Error
Keywords:
User: DOMAIN\SPFarmAdminAccount
Computer: mycomputer.domain.com
Description:
The site /my/personal/palojus could not be created. The following exception occurred: Access denied..


and

Log Name: Application
Source: Microsoft-SharePoint Products-SharePoint Portal Server
Date: 11.1.2010 12:54:21
Event ID: 5187
Task Category: Administration
Level: Error
Keywords:
User: DOMAIN\palojus
Computer: mycomputer.domain.com

Description:

My Site creation failure for user 'domain\palojus' for site url 'http://communities.domain.com/my/personal/palojus'. The exception was: Microsoft.Office.Server.UserProfiles.PersonalSiteCreateException: A failure was encountered while attempting to create the site. ---> System.Security.SecurityException: Access denied.
at Microsoft.SharePoint.Administration.SPPersistedObject.BaseUpdate()
at Microsoft.SharePoint.Administration.SPJobDefinition.Update()
at Microsoft.SharePoint.Taxonomy.TaxonomyFeatureReceiver.EnsureHiddenListFullSyncTimerJob(SPWebApplication webApplication)
at Microsoft.SharePoint.Taxonomy.TaxonomyFeatureReceiver.FeatureActivated(SPFeatureReceiverProperties properties)
at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce)
at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce)
at Microsoft.SharePoint.SPFeatureCollection.AddInternal(SPFeatureDefinition featdef, Version version, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
at Microsoft.SharePoint.SPTemplateAssociationElement.EnsureTemplateAssociatedSiteFeaturesActivated(SPSite site, String sTemplateName)
at Microsoft.SharePoint.SPFeatureManager.<>c__DisplayClass16.
...

The Zone of the assembly that failed was:

MyComputer
...


Thoughts:
1. Granting direct access to the user (in addition to obviously already having access via NT AUTHORITY\Authenticated Users) didn't have any effect.


2. Verifying My Site Settings (Central Administration --> Manage Profile Service --> User Profile Service Application --> My Site Settings --> Setup My Sites) didn't have any effect, as the settings were already correct.

Solution:
In My Site Settings (Central Administration --> Manage Profile Service --> User Profile Service Application --> My Site Settings --> Setup My Sites), I changed My Site Host slightly (".../my/" to ".../my2/").


Then I tried accessing My Content again, and My Site was created successfully. Finally I changed My Site Host back to original value and got some flash-backs from the good old MOSS times when many things didn't work, and suddenly they just started to work. Some things never change.

August 26, 2009

Media Center Status Application version 0.6 released

New features

  • Option to post new item to user's Facebook Wall instead of changing user Status. Configuration tool can be used to select whether to post to Wall, update user Status or do both.
  • User may configure specific Amazon shop (US/UK/FR/DE/JP/CA) which is queried before wall post in order to try to get some details, cover and rating of the media being played.
  • User may select what media types have Amazon queries enabled. By default Music, DVD, Video have queries enabled. TV related media types don't have it enabled by default as very few TV series have DVD boxes, resulting incorrect search results.
  • Extended permissions are now requested during Facebook login process (upon Media Center startup), so there is no need to grant permissions beforehand. Existing extended permission web page will remain for troubleshooting purposes.
  • If Facebook status update type is Wall, Facebook friends may hide status update messages on their News feed. Because of this, you might want to make sure not to spam your friends too much, so consider enabling Status update confirmation in configuration tool and/or increase the polling time to maybe few minutes.
Changes
  • Uses new Facebook desktop application authentication method.
  • No longer gets current Status from Facebook upon startup
  • No longer uses soon-to-be-deprecated Facebook domains. NOTE! Old versions (pre 0.6) of the application will STOP working when Facebook removes the old domains, so please update as soon as possible.
Download here

July 29, 2009

Windows 7 Media Center TV Guide displays program info in wrong language

Problem:
When using Media Center to watch TV in a country where broadcasters send EPG information in multiple languages, you may end up having your Guide programs titles and descriptions in wrong language. For this to happen you must be using different language version Windows 7 compared to the language you would like to see the Guide in.

E.g., I live in Finland and want to see Guide information in Finnish. I use English version of Windows 7. Media Center Guide tries to get program info in English, but can only find Guide data in Swedish and Finnish (because Finland has two official languages). Swedish happens to come first, so Guide decides to show all information in Swedish, and only if program doesn't contain Swedish information, it will display information in Finnish. I will end up having half of the Guide information in Swedish and half in Finnish because only few channels provide EPG both in Finnish and Swedish.


This is a new issue in Windows 7 and didn't occur in Vista and XP. Despite I reported it to Microsoft during beta-testing, they didn't seem to fix this before launch.

Workaround:

  1. Open RegEdit and navigate to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Settings\MCE.GlobalSettings
  2. Change systemLanguage value to the language you wish to see the Guide data in, e.g., I had to change mine from "eng" to "fin"
  3. Reboot your PC
  4. [Optional] open an elevated command prompt, run the following command then wait a few minutes (approximately 4-5 mins): %windir%\eHome\mcupdate -pscn 0
  5. Start Media Center and open the Guide: all schedule data should now be in correct language.
---
Shortly in Finnish:

Windows 7 näyttää ohjelmaoppaan ohjelmatiedot väärällä kielellä
Jos käytössäsi on englanninkielinen (lue: muun kuin suomenkielinen) Windows 7 mutta haluaisit Media Centerin TV ohjelmaoppaan tekstit suomeksi, se ei onnistu täydellisesti, vaan Media Center näyttää ohjelmaoppaassa tietoja väärällä kielellä. Osalla kanavista ohjelmatiedot tulevat ruotsiksi ja osalla suomeksi. Tarkemmin sanottuna jos ohjelmalla on ruotsinkielinen EPG-tieto saatavilla, Media Center näyttää sen, eikä suomenkielistä tietoa.

Tämä johtaa siihen, että ainakin YLEn ohjelmatiedot ovat ohjelmaoppaassa ruotsiksi, mutta muilla kanavilla suomeksi, sillä muut kanavat eivät näytä kovin aktiivisesti toimittavan kaksikielisiä ohjelmatietoja.

Ongelman voi kiertää seuraavasti:
  1. Avaa RegEdit ja navigoi avaimeen: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Settings\MCE.GlobalSettings
  2. Vaihda systemLanguage arvo sen kieliseksi, jolla haluat ohjelmaoppaan tiedot nähdä, tässä tapauksessa vaihda se arvosta "eng" arvoon "fin"
  3. Käynnistä tietokone uudelleen
  4. [Ei pakollinen toimenpide] Avaa elevated komentorivi ja aja seuraava komento ja odota muutama minuutti (n. 4-5 min): %windir%\eHome\mcupdate -pscn 0
  5. Käynnistä Media Center ja avaa ohjelmaopas: kaikki pitäisi nyt olla suomeksi