Benutzerdefinierte Einstellungsseiten für die Konverterkonfiguration
Letzte Änderung: Montag, 8. März 2010
Gilt für: SharePoint Server 2010
Wenn der benutzerdefinierte Dokumentkonverter eine benutzerdefinierte Konfigurationsschnittstelle benötigt, können Sie zu diesem Zweck eine benutzerdefinierte ASPX-Seite angeben. Diese Seite ersetzt die Standardeinstellungsseite für die Dokumentkonfiguration in Microsoft SharePoint Server 2010.
![]() |
---|
Wenn Sie nur während der Konfiguration zusätzliche Informationen vom Administrator einholen müssen, können Sie ein benutzerdefiniertes ASCX-Steuerelement auf der Standardeinstellungsseite für die Dokumentkonfiguration in SharePoint Server 2010 einbetten. Bei diesem Ansatz können Sie die Standardeinstellungsseite für die Dokumentkonverterkonfiguration verwenden, anstatt ein Ersatzformular entwickeln zu müssen. Weitere Informationen finden Sie unter Weitere Steuerelemente mit Konvertereinstellungen. |
Administratoren können mithilfe dieser benutzerdefinierten Seite die Konfigurationseinstellungen für jeden Inhaltstyp angeben, der den Konverter verwendet. Diese inhaltstypspezifischen Konvertereinstellungen werden an den Dokumentkonverter übergeben, wenn der Benutzer ein Dokument dieses Inhaltstyps konvertiert. Die Standardeinstellungsseite für die Konverterkonfiguration, die in SharePoint Server 2010 enthalten ist, enthält Code, der die inhaltstypspezifischen Konvertereinstellungen übergibt.
Zum Angeben einer benutzerdefinierten Einstellungsseite für die Konverterkonfiguration legen Sie das ConverterSettingsForContentType-Element der Dokumentkonverterdefinition auf den Dateinamen der gewünschten ASPX-Seite fest. Es handelt sich hier um ein optionales Element; wenn Sie es nicht in die Konverterdefinition einschließen, steht für diesen Konverter keine Konverterkonfigurationsseite zur Verfügung.
Weitere Informationen zur Dokumentkonverterdefinition finden Sie unter Schema für die Dokumentkonverterdefinition.
Wenn ein Benutzer zur Einstellungsseite für die Konverterkonfiguration navigiert, werden die folgenden Informationen in SharePoint Server 2010 an die Seite übergeben:
ctype Stellt den Inhaltstypbezeichner (ID) des Inhaltstyps dar, für den der Benutzer diesen Konverter konfigurieren möchte.
Converter Stellt die GUID des Konverters dar, den der Benutzer konfigurieren möchte.
OriginalSource Stellt die URL der Seite dar, auf der der Benutzer mit der Navigation begonnen hat. Dieser Parameter wird in diesem Kontext nicht verwendet und kann ignoriert werden.
Zum Beispiel:
http://example-ts/_layouts/ConverterSettings.aspx?ctype=0x0101&Converter=6dfdc5b4%2D2a28%2D4a06%2Db0c6%2Dad3901e3a807&OriginalSource=http%3A%2F%2Fexample%2Dts%2FDocuments%2FForms%2FAllItems%2Easpx
Die angegebene Seite muss Code für die folgende Aktion enthalten:
Formatieren Sie die von der Seite in einem XML-Dokument gesammelten Konfigurationseinstellungen.
Damit der Konverter die erforderlichen Konfigurationsdaten für die Nachverarbeitung der Dokumentkonvertierung bereitstellt, muss er die Konfigurationseinstellungen im angegebenen Inhaltstyp nach dem folgenden Schema speichern.
<rca:RCAuthoringProperties xmlns:rca="urn:sharePointPublishingRcaProperties"> <rca:Converter rca:guid="6dfdc5b4-2a28-4a06-b0c6-ad3901e3a807"> <rca:property rca:type="InheritParentSettings">True</rca:property> <rca:property rca:type="SelectedPageLayout">30</rca:property> <rca:property rca:type="SelectedPageField">f55c4d88-1f2e-4ad9- aaa8-819af4ee7ee8</rca:property> <rca:property rca:type="SelectedStylesField">a932ec3f-94c1-48b1- b6dc-41aaa6eb7e54</rca:property> <rca:property rca:type="CreatePageWithSourceDocument">True</rca:property> <rca:property rca:type="AllowChangeLocationConfig">True</rca:property> <rca:property rca:type="ConfiguredPageLocation"></rca:property> <rca:property rca:type="CreateSynchronously">True</rca:property> <rca:property rca:type="AllowChangeProcessingConfig">True</rca:property> <rca:property rca:type="ConverterSpecificSettings"></rca:property> </rca:Converter> </rca:RCAuthoringProperties>
Im vorhergehenden Beispiel stellen die Elemente die verschiedenen Optionen dar, die auf der Standardeinstellungsseite für die Konverterkonfiguration zur Verfügung stehen. Das ConverterSpecificSettings-Element stellt die Konfigurationseinstellungen des konverterspezifischen ASCX-Steuerelements dar, sofern vorhanden. Weitere Informationen finden Sie unter Weitere Steuerelemente mit Konvertereinstellungen. Das ConfiguredPageLocation-Element ist leer, wodurch angegeben wird, dass die aktuelle Website von SharePoint Server 2010 verwendet werden sollte.
Schreiben Sie diese Konfigurations-XML als XMLDocument-Knoten in die entsprechende Inhaltstypdefinition.
Im folgenden Code wird beispielsweise die Inhaltstypdefinition der Website aktualisiert, nachdem das, wie weiter oben veranschaulicht, entsprechende XML-Dokument erstellt wurde.
// Delete the previous instance of this document if it already exists. myContentType.XmlDocuments.Delete(RcaPropertiesNamespaceUri); myContentType.XmlDocuments.Add(this.myXmlDocument); myContentType.Update();
' Delete the previous instance of this document if it already exists. myContentType.XmlDocuments.Delete(RcaPropertiesNamespaceUri) myContentType.XmlDocuments.Add(Me.myXmlDocument) myContentType.Update()
Bei den Konfigurationseinstellungsdaten kann es sich um beliebigen wohlgeformten XML-Code handeln, der vom Dokumentkonverter analysiert werden kann. SharePoint Server 2010 analysiert die eigentlichen Informationen zwar nicht, ermöglicht es Ihnen jedoch, den XML-Code in der Inhaltstypdefinition zu speichern, sodass sie später an den Dokumentkonverter übergeben werden können.
Wenn Sie eine Einstellungsseite für die Konverterkonfiguration angeben, müssen Sie auch eine benutzerdefinierte ASPX-Seite für die Benutzeroberfläche zum Aufrufen dieses Dokumentkonverters angeben. Von der Standardseite zum Aufrufen von Dokumentkonvertierungen werden keine Konfigurationseinstellungen an die ausgewählten Konverter übergeben. Weitere Informationen hierzu finden Sie unter Benutzerdefinierte Seiten mit Konvertierungseinstellungen.
Hosten eines benutzerdefinierten Steuerelements für Konvertereinstellungen
Zum Aktivieren von benutzerdefinierten Steuerelementen für Konvertereinstellungen muss die Seite, die den Dokumentkonverter aufruft, entsprechenden Code enthalten.
So wird beispielsweise durch den folgenden Code, eingefügt in die OnLoad-Funktion der Seite, der Seite ein benutzerdefiniertes Steuerelement für Konvertereinstellungen hinzugefügt, wenn ein benutzerdefiniertes Steuerelement angegeben wird.
Im folgenden Beispiel werden zwei Elemente in der CodeBehind-Datei benötigt:
Ein Element namens customControl vom Typ System.Web.UI.Control
Ein Element namens customConverterControl vom Typ System.Web.UI.WebControls.PlaceHolder sowie ein entsprechender Platzhalter auf der ASPX-Seite
if (!String.IsNullOrEmpty(myTransformer.ConverterSpecificSettingsUI)) { this.customControl = LoadControl(myTransformer.ConverterSpecificSettingsUI); this.customConverterControl = this.customControl as IDocumentConverterControl; if (this.customConverterControl != null) { this.converterSpecificControl.Controls.Add(this.customControl); } }
If Not String.IsNullOrEmpty(myTransformer.ConverterSpecificSettingsUI) Then Me.customControl = LoadControl(myTransformer.ConverterSpecificSettingsUI) Me.customConverterControl = TryCast(Me.customControl, IDocumentConverterControl) If Me.customConverterControl IsNot Nothing Then Me.converterSpecificControl.Controls.Add(Me.customControl) End If End If
Als Nächstes wendet der Code die vorhandenen Einstellungen des benutzerdefinierten Steuerelements für Konvertereinstellungen an.
// Set up the converter-specific control and retrieve the settings. if (this.customConverterControl != null) { this.customConverterControl.ContentType = this.CurrentContentType; this.customConverterControl.ConverterSettings = this.effectiveRcaProperties.ConverterSpecificSettings; }
' Set up the converter-specific control and retrieve the settings. If Me.customConverterControl IsNot Nothing Then Me.customConverterControl.ContentType = Me.CurrentContentType Me.customConverterControl.ConverterSettings = Me.effectiveRcaProperties.ConverterSpecificSettings End If
Im folgenden Codebeispiel, eingefügt in die OnOK-Funktion der Seite, werden die benutzerdefinierten Konvertereinstellungen für die Inhaltstypdefinition der Website beibehalten. Beachten Sie, dass der Inhaltstyp durch den Code so festgelegt wird, dass dem Steuerelement zusätzliche Kontextinformationen bereitgestellt werden.
// Persist the converter-specific settings. if (this.converterSpecificControl.Controls.Count > 0) { if (this.customConverterControl != null) { this.customConverterControl.ContentType = this.CurrentContentType; this.myRcaProperties.ConverterSpecificSettings = this.customConverterControl.ConverterSettings; // Store this string in the content type properties as converter specific settings. } }
' Persist the converter-specific settings. If Me.converterSpecificControl.Controls.Count > 0 Then If Me.customConverterControl IsNot Nothing Then Me.customConverterControl.ContentType = Me.CurrentContentType Me.myRcaProperties.ConverterSpecificSettings = Me.customConverterControl.ConverterSettings ' Store this string in the content type properties as converter specific settings. End If End If
Siehe auch
Konzepte
Übersicht über Dokumentkonverter
Bereitstellung von Dokumentkonvertern
Schema für die Dokumentkonverterdefinition