看來,該解決方案在網站集中的基礎文檔內容類型中撒了謊。當激活文檔ID功能時,事件處理程序將作爲xmldocuments添加到內容類型定義中。創建常規文檔庫時,庫中的內容類型將繼承此內容類型,從而獲取事件接收器的副本。 自定義內容類型的自定義文檔庫沒有從網站集文檔內容類型繼承,而是從基本文檔內容類型(0x0101
)繼承,並且沒有獲得事件接收器的副本。 將xmldocuments複製到我的基本內容類型似乎有竅門。
<XmlDocuments>
<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/events">
<spe:Receivers xmlns:spe="http://schemas.microsoft.com/sharepoint/events">
<Receiver>
<Name>Document ID Generator</Name>
<Synchronization>Synchronous</Synchronization>
<Type>10001</Type>
<SequenceNumber>1000</SequenceNumber>
<Assembly>Microsoft.Office.DocumentManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<Class>Microsoft.Office.DocumentManagement.Internal.DocIdHandler</Class>
<Data>
</Data>
<Filter>
</Filter>
</Receiver>
<Receiver>
<Name>Document ID Generator</Name>
<Synchronization>Synchronous</Synchronization>
<Type>10002</Type>
<SequenceNumber>1001</SequenceNumber>
<Assembly>Microsoft.Office.DocumentManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<Class>Microsoft.Office.DocumentManagement.Internal.DocIdHandler</Class>
<Data>
</Data>
<Filter>
</Filter>
</Receiver>
<Receiver>
<Name>Document ID Generator</Name>
<Synchronization>Synchronous</Synchronization>
<Type>10004</Type>
<SequenceNumber>1002</SequenceNumber>
<Assembly>Microsoft.Office.DocumentManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<Class>Microsoft.Office.DocumentManagement.Internal.DocIdHandler</Class>
<Data>
</Data>
<Filter>
</Filter>
</Receiver>
<Receiver>
<Name>Document ID Generator</Name>
<Synchronization>Synchronous</Synchronization>
<Type>10006</Type>
<SequenceNumber>1003</SequenceNumber>
<Assembly>Microsoft.Office.DocumentManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<Class>Microsoft.Office.DocumentManagement.Internal.DocIdHandler</Class>
<Data>
</Data>
<Filter>
</Filter>
</Receiver>
</spe:Receivers>
</XmlDocument>
</XmlDocuments>
嗨,我有類似的情況:我有一個CTYPE CT1從頁面CTYPE inherrts,另一CTYPE CT2 CT1從繼承和另外一個 「CT3」 繼承CT2意味着:頁面級> ct1-> ct2-> ct3。我從cksdev中導入了他們的xml,它將以上事件接收器添加到所有ctypes,即ct1,ct2和ct3。我嘗試了所有組合,如刪除EH ROM,添加到所有等。但在所有情況下,我不能得到docid生成的頁面使用ct3製作的頁面,甚至不能在spdesigner中看到頁面佈局的docid屬性(docid功能被激活).. anry help..u可以做.. –
看起來這個功能真的不適合開發人員。最佳路線可能是使用代碼在運行時創建您的內容類型,使用每個庫中的基本文檔ct作爲基礎。 –