Skip to main content

SharePoint Dev und ITPro Blog

Go Search
Home
Impressum
  


SharePoint Dev und ITPro Blog > Posts > Teil 2: Websitespalten per Feature erzeugen
Teil 2: Websitespalten per Feature erzeugen

Die Definition von eigenen Feldern besteht aus einer Datei, die die Beschreibung des Features enthält (standardmäßig feature.xml). In dieser Datei wird auf eine weitere XML-Datei referenziert, die die eigentlichen Felddefinitionen enthält.

Folgendes Beispiel zeigt die Verwendung der Feature Definitionsdatei:

Feature.xml erstellen

<Feature Id="0BB51CAF-9E02-4720-B7D8-D9E162BD75F8"

         Title="RGFields"

         Description="RG Spalten"

         Version="1.0.0.0"

         Scope="Site"

         xmlns="http://schemas.microsoft.com/sharepoint/">

  <ElementManifests>

    <ElementManifest Location="rgfields.xml" />

  </ElementManifests>

</Feature>

 

Wichtig: Für das Attribt Id muss eine neue GUID vergeben werden

 

Die oben gezeigte Feature Definition weist folgende Merkmale auf:

-          Das Feature ist auf Ebene einer Websitesammlung gültig und somit in allen Sites verfügbar, die sich innerhalb dieser Website Sammlung befinden.

-          Es kann innerhalb einer Website Sammlung in der grafischen Oberfläche (Websiteaktionen -> Websiteeinstellungen -> Websiteauflistungsfeatures) aktiviert bzw. deaktiviert werden. Soll es nur durch den Admin mit dem Tool stsadm aktiviert bzw. deaktiviert werden können, kann man das Attribut Hidden im Element Feature auf den Wert TRUE setzen (Hidden="TRUE").

-          Im Attribut Location des ElementManifest Elementes wird auf die XML-Datei verwiesen, die die Definitionen der Felder enthält. Das folgende Beispiel zeigt die Verwendung der meisten Feldtypen:

 

RGFields.xml erstellen

<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Field ID="{5024022C-ED24-4959-8A9C-D4E9D0E97A0C}"

   Name="DocNo"

   Group="RGFields"

   Type="Text"

   DisplayName="Dokument-Nr."

   SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"

   StaticName="DocNo"

   ShowInEditForm="FALSE"

   ShowInFileDlg="FALSE"

   ShowInNewForm="FALSE"

   Required="FALSE"/>

 

  <Field ID="{F8D2951B-ECC2-4a36-B5A4-1376D05047BB}"

   Name="Textfeld"

   Group="RGFields"

   Type="Text"

   DisplayName="Textfeld"

   SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"

   StaticName="Textfeld"

   Required="TRUE"/>

 

  <Field ID="{24E7DF9C-188E-4b80-8212-1CEF612F08B6}"

   Name="Datumsfeld"

   Group="RGFields"

   Type="DateTime"

   DisplayName="Datumsfeld"

   SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"

   StaticName="Datumsfeld"

   Format="DateOnly" />

 

  <Field ID="{59E99D36-3B7B-438b-B7A1-673F2EA49902}"

   Name="Userfeld"

   Group="RGFields"

   Type="User"

   DisplayName="Userfeld"

   SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"

   StaticName="Userfeld" />

 

  <Field ID="{7DAC2502-CD54-46f7-B14A-CE51743E30C5}"

   Name="Auswahlfeld"

   Group="RGFields"

   Type="Choice"

   DisplayName="Auswahlfeld"

   SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"

   StaticName="Auswahlfeld">

    <CHOICES>

      <CHOICE>Auswahl 1</CHOICE>

      <CHOICE>Auswahl 2</CHOICE>

      <CHOICE>Auswahl 3</CHOICE>

      <CHOICE>Auswahl 4</CHOICE>

    </CHOICES>

  </Field>

 

  <Field ID="{923CEE8F-DEF7-4b2b-A0A2-A13E6BE0E937}"

   Name="Boolfeld"

   Group="RGFields"

   Type="Boolean"

   DisplayName="Ja/Nein Feld"

   SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"

   StaticName="Boolfeld">

  </Field>

 

  <Field ID="{34A1C4FA-44EB-4ed5-B2DB-F544D5C17E5B}"

   Name="Notefeld"

   SourceID="http://schemas.microsoft.com/sharepoint/v3"

   StaticName="Notefeld"

   Group="RGFields"

   Type="Note"

   DisplayName="Memo Feld">

  </Field>

 

  <Field ID="{D9C3E07B-5BEB-4c6c-8407-FF6FA0751561}"

   Name="Numberfeld"

   Group="RGFields"

   Type="Number"

   DisplayName="Nummernfeld"

   SourceID="http://schemas.microsoft.com/sharepoint/v3/fields"

   StaticName="Numberfeld">

  </Field>

 </Elements>

 

Hinweise:

-          Wichtig ist, dass für jedes Feld eine eindeutige ID (GUID) vergeben wird.

-          Soll ein Feld nicht durch den Benutzer editiert und im Hintergrund gefüllt werden können (z.B. durch Eventhandler), kann das jeweilige Feld durch die Attribute ShowInEditForm="FALSE", ShowInFileDlg="FALSE" und ShowInNewForm="FALSE" ausgeblendet werden. Das Feld wird dann trotzdem noch im Anzeigedialog für die Metadaten angezeigt.

-          Soll bei einem Datumsfeld nur das Datum und nicht auch noch die Uhrzeit angezeigt werden, kann das Attribut Format auf den Wert DateOnly gesetzt werden.

Installieren und aktivieren des Features

1.       Die oben beschriebenen Dateien in einen Unterordner innerhalb des Feature Verzeichnisses kopieren z.B. „C:\Programme\Gemeinsame Dateien\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\RGFields“

2.       Feature installieren über folgenden Befehl:

a.        Stsadm –o installfeature –name RGFields

3.       Feature aktivieren in einer Websitesammlung

a.        Stsadm –o activatefeature –name RGFields –url http://rgserver/websites/team1

4.       IISREST durchführen

5.       Danach werden die neuen Spalten in der Websitesammlung sichtbar: Websitesaktionen -> Websiteeinstellungen -> Websitespalten. Sie befinden sich in der Gruppe RGFields.

 

RGFields

Comments

There are no comments yet for this post.
Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Title


Name (required) *


Body (required) *

SPAM Filter *


Bitte geben Sie hier die Nummer 4532 ein. Dadurch kann ich leichter SPAM unterbinden.
Attachments