Benutzerdefinierte Dokumentparser

Letzte Änderung: Montag, 1. November 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Parseranforderungen
Parserzuordnung
Parserbereitstellung

Die Verwaltung der einem Dokument zugeordneten Metadaten ist einer der wichtigsten Vorteile der Speicherung von Unternehmensinhalten in Microsoft SharePoint Foundation 2010. Die Synchronisierung der Informationen zwischen der Dokumentbibliotheksebene und dem Dokument selbst ist jedoch keine leichte Aufgabe. SharePoint Foundation bietet die Dokumentparserinfrastruktur, die es Ihnen ermöglicht, benutzerdefinierte Dokumentparser zu erstellen und zu installieren, die benutzerdefinierte Dateitypen analysieren und ein Dokument mit den auf Dokumentbibliotheksebene vorgenommenen Änderungen aktualisieren können und umgekehrt. Durch die Verwendung eines Dokumentparsers für benutzerdefinierte Dateitypen können Sie sicherstellen, dass die Dokumentmetadaten stets aktuell und zwischen der Dokumentbibliothek und dem Dokument selbst synchronisiert sind.

Ein Dokumentparser ist ein benutzerdefiniertes COM-Objekt, das durch die Implementierung der ISPDocumentParser-Schnittstelle folgende Aktionen ausführt, wenn es von SharePoint Foundation aufgerufen wird:

  • Extrahieren von Dokumenteigenschaftswerten aus einem Dokument eines bestimmten Dateityps und Übergeben dieser Eigenschaftswerte an SharePoint Foundation, um in die Eigenschaftsspalten der Dokumentbibliothek höher gestuft zu werden.

  • Empfängt Dokumenteigenschaften und stuft diese Eigenschaftswerte dann in das Dokument selbst tiefer.

  • Aktualisiert darüber hinaus Inhaltstypinformationen, führt Linkerkennungs- und -reparaturoperationen aus und extrahiert ein Miniaturbild.

Diese Funktionalität ermöglicht es den Benutzern, Dokumenteigenschaften im Dokument selbst zu bearbeiten und die Eigenschaftswerte in der Dokumentbibliothek automatisch mit den jeweiligen Änderungen zu aktualisieren. Entsprechend können Benutzer Eigenschaftswerte auf der Ebene der Dokumentbibliothek aktualisieren und diese Änderungen automatisch in das Dokument zurückschreiben lassen.

Weitere Informationen zum Aufrufen von Dokumentparsern durch SharePoint Foundation und zum Höher- und Tieferstufen von Dokumentmetadaten durch diese Parser finden Sie unter Heraufstufung und Herabstufung von Dokumenteigenschaften.

Parseranforderungen

Damit SharePoint Foundation einen benutzerdefinierten Dokumentparser verwenden kann, muss der Dokumentparser die folgenden Anforderungen erfüllen:

  • Der Dokumentparser muss eine COM-Komponente sein, die die ISPDocumentParser-Schnittstelle implementiert.

    Weitere Informationen finden Sie unter Übersicht über die Dokumentparserschnittstelle.

  • Sie müssen die COM-Komponente auf jedem Webserver in der SharePoint Foundation-Installation installieren und registrieren.

  • Sie müssen den Dokumentparser bei SharePoint Foundation registrieren, indem er der Auflistung hinzugefügt wird, die von der PluggableParsers-Eigenschaft der SPWebService-Klasse zurückgegeben wird. (Aus diesem Grund werden benutzerdefinierte Parser mitunter auch als "austauschbar" bezeichnet.)

Parserzuordnung

In SharePoint Foundation werden die aufzurufenden Dokumentparser auf der Basis des Dateityps des zu analysierenden Dokuments ausgewählt. Jedem Dateityp kann nur ein einziger Dokumentparser zugeordnet werden. Es ist jedoch möglich, denselben Dokumentparser zu mehreren verschiedenen Dateitypen zuzuordnen.

Sie können den Parser, der einem bestimmten Dateityp zugeordnet ist, ermitteln, indem Sie die von der PluggableParsers-Eigenschaft der SPWebService-Klasse zurückgegebene Auflistung untersuchen. Die folgende Konsolenanwendung zählt beispielsweise die austauschbaren Parser auf, die beim Inhaltsdienst auf dem lokalen Server registriert sind, und gibt alle Dateinamenerweiterungen mit den zugehörigen Programm-IDs aus.

using System;
using System.Collections.Generic;
using Microsoft.SharePoint.Administration;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            SPWebService service = SPWebService.ContentService;

            Dictionary<string, SPDocumentParser> parsers = service.PluggableParsers;
            Dictionary<string, SPDocumentParser>.KeyCollection keys = parsers.Keys;

            Console.WriteLine("Ext       ProgID");
            Console.WriteLine("---       ------");
            foreach (string key in keys)
            {
                Console.WriteLine("{0, -7}   {1}", parsers[key].FileExtension,  parsers[key].ProgId );
            }
            Console.Write("\nPress ENTER to continue...");
            Console.ReadLine();
        }
    }
}

Zum Zuordnen eines benutzerdefinierten Dokumentparsers zu einem Dateityp fügen Sie den Parser der Auflistung hinzu, die von der PluggableParsers-Eigenschaft der SPWebService-Klasse zurückgegeben wird. Die folgende Konsolenanwendung erstellt beispielsweise einen benutzerdefinierten Dokumentparser und ordnet ihn Dateien mit der Erweiterung TXT zu, indem der Parser zur Auflistung austauschbarer Parser für den Inhaltsdienst auf dem lokalen Server hinzugefügt wird.

using System;
using System.Collections.Generic;
using Microsoft.SharePoint.Administration;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            SPWebService service = SPWebService.ContentService;
            Dictionary<string, SPDocumentParser> parsers = service.PluggableParsers;

            // Create a custom parser.
            string extension = "txt";
            string progID = parsers["docx"].ProgId;
            SPDocumentParser customParser = new SPDocumentParser(progID, extension);

            // Remove any existing parser for the file type.
            if (parsers.ContainsKey(extension))
            {
                parsers.Remove(extension);
                service.Update();
            }

            // Add the new parser for the file type.
            service.PluggableParsers.Add(extension, customParser);
            service.Update();
        }
    }
}
VorsichtVorsicht

SharePoint Foundation 2010 umfasst mehrere integrierte Dokumentparser. Sie können einen integrierten Dokumentparser durch einen benutzerdefinierten Parser ersetzen, was jedoch nur nach sorgfältiger Prüfung erfolgen sollte. Dies gilt insbesondere dann, wenn Sie erwägen, einen Parser für einen HTML-basierten Dateityp zu ersetzen. Die integrierten Parser erfüllen mitunter mehr Funktionen als die austauschbare Parserschnittstelle zulässt.

Parserbereitstellung

Um sicherzustellen, dass SharePoint Foundation einen bestimmten Parser bei Bedarf aufrufen kann, müssen Sie die COM-Komponente für jeden Parser auf jedem Front-End-Webserver in der SharePoint Foundation-Installation installieren. Daher können Sie innerhalb einer SharePoint Foundation-Installation nur einen einzigen Parser für einen bestimmten Dateityp angeben.

Die Dokumentparserinfrastruktur ermöglicht es nicht, einen benutzerdefinierten Dokumentparser zu packen und als Teil eines SharePoint Foundation-Features bereitzustellen.

Siehe auch

Referenz

SPDocumentParser

Konzepte

Heraufstufung und Herabstufung von Dokumenteigenschaften

Dokumentanalyse und Inhaltstypen

Übersicht über die Dokumentparserschnittstelle