O Unknown Document Type

Quando se associam Content Types a uma Document Library existe a possibilidade de definir que a Document Library aceita qualquer Content Type. Isso corresponde a associar um tipo especial de Content Type à Document Library chamado Unknown Document Type. A razão pela qual este Content Type existe prende-se com a forma como funcionam os Document Parsers do SharePoint e que passo a explicar com um exemplo.

Exemplo

Suponha-se que tenho uma Document Library designada Documentos de Entrada e outra chamada Documentos de Saída. Tenho também dois Content Types, um chamado Correio Normal, com os campos Data de Envio e Remetente, e outro chamado Correio Expresso, com o campos Data de Envio e Referência. O que acontece se eu criar um documento do tipo Correio Expresso na biblioteca Documentos de Entrada, preencher as suas propriedades, e depois o copiar para a biblioteca Documentos de Saída?

Situação 1: À biblioteca Documentos de Entrada estão associados ambos os Content Types, mas à biblioteca Documentos de Saída não estão associados quaisquer Content Types.

Neste caso, porque a biblioteca Documentos de Saída não permite Content Types, o documento vai perder a sua associação ao Content Type mantendo apenas os valores dos campos que sejam mapeados nos campos do Default Content Type da biblioteca. Ou seja, neste exemplo perderia todas as suas propriedades e respectivos valores.

Situação 2: À biblioteca Documentos de Entrada estão associados ambos os Content Types, mas à biblioteca Documentos de Saída está apenas associado o tipo Correio Normal.

Nesta situação, a biblioteca Documentos de Saída permite a existência de Content Types mas não possui o tipo usado como base para o documento. Assim sendo, o documento não perde as suas propriedades mas o SharePoint apenas promove aquelas que possam ser mapeadas em campos da biblioteca. Ou seja, neste exemplo, seria promovido o valor do campo Data de Envio uma vez que é um campo também presente em ambos os Content Types.

É aqui que entra o Unknown Document Type. Para não perdermos as propriedades dos documentos quando estes são copiados entre Document Libraries, as bibliotecas de destino têm que ter pelo menos um Content Type associado. No entanto, nem sempre queremos definir um Content Type específico para todas as bibliotecas. Nessa altura devemos usar o Unknown Document Type que, por si só, não possui quaisquer propriedades mas, pelo facto de estar associado à biblioteca, impede que o SharePoint apague os metadados dos documentos como aconteceu na situação 1.