Question

J'ai un problème avec lequel je lutte depuis longtemps. Ce problème se manifeste dans l'environnement de test, mais pas dans mon environnement de développement.

J'ai un modèle de bibliothèque de documents. Dans un gestionnaire d'événements, j'attache plusieurs types de contenu (qui héritent tous d'un type de contenu de base qui à son tour hérite du document). Le type de contenu de base a un modèle de document personnalisé et des gestionnaires d'événements définis dans XMLDocuments sur la définition de contenu.

La fonction Doc-ID est allumée sur le site.

Lors du téléchargement d'un fichier dans la bibliothèque de documents, le document se voit attribuer un ID de document comme prévu. Cependant, lors de l'enregistrement d'un fichier à partir de Word, le doc-id est vide. Apparemment, la valeur est définie sur l'élément, car lors de la modification du type de contenu de l'élément par la suite, le DOC-ID apparaît avec un nombre indiquant qu'il a été attribué lorsque le fichier a été enregistré pour la première fois. Lors du rétablissement du contenu de la valeur d'origine, le DOC-ID reste affiché dans la vue.

Pour clarifier: il ne s'agit pas du champ ID du type de contenu de l'élément, mais le DOC-ID créé par la fonction Doc-ID dans SharePoint 2010.

Des idées pour pourquoi cette valeur n'est pas définie lors de la promotion des valeurs de Word?

Était-ce utile?

La solution

Il semble que la solution ait menti dans le type de contenu du document de base dans la collection de sites. Lorsque la fonction Document-ID est activée, les gestionnaires d'événements sont ajoutés à la définition du type de contenu sous forme de XMLDocuments. Lorsqu'une bibliothèque de documents régulière est créée, le type de contenu dans la bibliothèque hérite de ce type de contenu et obtient donc une copie des récepteurs de l'événement. Ma bibliothèque de documents personnalisée avec des types de contenu personnalisés n'a pas hérité du type de contenu du document de collection de site, mais plutôt à partir du type de contenu de base du document (0x0101), et n'a pas obtenu de copie des récepteurs de l'événement. La copie des XMLDocuments dans mon type de contenu de base semble faire l'affaire.

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top