ใน SharePoint Farm ปัจจุบันมี Managed Metadata Service อยู่ 1 ตัว มีความต้องการว่าเราจะสร้าง Managed Metadata Service สำหรับ Web Application ที่เราต้องการจะศึกษา Cross-site publishing ผมก็เลยทำการสร้าง MMS ขึ้นมาอีกตัว ทำการ Web Application อันใหม่แล้วผูก MMS ตัวนี้เข้ากับ Web Application นั้นโดยไม่ใช้ MMS ตัวเดิม
ปัญหามาเกิดเมื่อเราทำการสร้างไซต์ที่เป็น Product Catalog เมื่อเปิดใน Term Store เราพบว่า ไม่มีการสร้าง Term พิเศษให้โดยอัตโนมัติ ใน Event Log ไม่ได้แจ้งอะไรเป็นพิเศษ แต่ใน ULS เราพบ Event น่าสนใจอันหนึ่ง ซึ่งเกิดขึ้นในกระบวนการสร้าง Site Collection นี้ (ใช้ ULS Viewer ดักค่าตั้งแต่กดปุ่มสร้างไซต์จนถึงหน้าจอที่รายงานผลการสร้างไซต์)
{DATE/TIME} w3wp.exe (0x099C) 0x17E0 Web Content Management Publishing Provisioning aaub3 High Failed to add term set Product Hierarchy. Unable to fetch the Term Store of the Site Collection {GUID}
ก็ค่อนข้างชัดเจนว่ามันไม่รู้จัก Term Store แต่จะทำอย่างไรให้มันรู้จักล่ะ? ไปพบบทความของ Jason Lee ซึ่งพบอาการเดียวกันเป๊ะ ก็เลยจัดการตั้งค่าตาม แล้วสร้าง Site Collection ใหม่ ผลลัพธ์ก็ออกมาเป็นดังที่ควรจะเป็น
บทเรียนสำหรับวันนี้คือ นอกจากจะตั้งให้ Permission แก่ Term Store แล้ว เรายังต้องตั้ง Properties ของ Service Application Proxy ด้วย เผื่อเกิดข้อผิดพลาดที่ไม่คาดคิดเช่นนี้