2009-08-20 8 views
0

Ich habe viele Blogs, Artikel und Diskussionen im Internet gesehen, die mich dazu gebracht haben zu glauben, dass benutzerdefinierte Inhaltstypen unverzichtbare Funktionen auf einer SharePoint-Website sind - insbesondere bei der Code-Anpassung von SharePoint/MOSS-Websites.Was sind die Killerverwendungen von Inhaltstypen für Listen (nicht Dokumentbibliotheken)?

Doch nach ein paar Stunden gerichtet Forschung zu diesem Thema, die Verwendung von Inhaltstypen (für Listen, nicht für Dokumentbibliotheken) scheinen nicht, dass alle mir beeindruckend:

  • (1) Ich kann ähnliche Arten von Datensätzen (z. B. Aufgaben und Meilensteine) in derselben Liste gruppieren und jedem Datensatz in der Liste einen benutzerdefinierten Satz von Feldern (und verschiedene Auswahlmöglichkeiten in diesen Feldern) zuweisen.
  • z.B. ein Aufgabeninhalts-Typ könnte das Feld "Zugewiesen an" und ein Status-Feld haben, dessen Auswahlmöglichkeiten "Nicht gestartet, In Bearbeitung, Erledigt, Aufgegeben" umfassen; Der Milestone-Inhaltstyp könnte das Feld "Zugewiesen an" übergehen und ein Statusfeld bereitstellen, dessen Auswahlmöglichkeiten "Unvollständig, Erledigt, Aufgegeben" lauten.
  • Warum aber nicht einfach separate Listen erstellen? Ein Grund, verschiedene Inhaltstypen in einer Liste zu gruppieren, besteht darin, dass Sie einen Workflow erstellen und alle Inhaltstypen in dieser Liste verarbeiten können. Wenn Sie zwei separate Listen hätten, müssten Sie den Workflow zweimal erstellen und alle Aktualisierungen an zwei Stellen verwalten - große Schmerzen im Hintern.
  • (2) Wenn ich für jeden Inhaltstyp unterschiedliche Gruppen von Feldern habe, generiert SharePoint automatisch unterschiedliche Formulare "Neues Objekt" und "Objekt bearbeiten" - nur die Felder anzeigen/anfordern, die tatsächlich für einen Inhaltstyp relevant sind oder ein anderes.
  • z.B. Wenn ich ein neues Aufgabenelement erstelle, enthält das von SharePoint erstellte Eingabeformular automatisch das Feld "Zugewiesen an". Wenn ich ein neues Milestone-Objekt erstelle, enthält das Eingabeformular für SharePoint-Create nicht das Feld "Assigned To", was es für Benutzer einfacher macht (und die Daten sauberer hält).
  • (3) Workflows pro Inhaltstyp: Workflows können zwar nur einer Liste zugeordnet werden, Sie können jedoch auch einen Workflow einem Inhaltstyp zuordnen. Dies gibt Ihnen zwei Möglichkeiten:
  • Erstellen Sie einen anderen Workflow mit verschiedenen Aktionen und Bedingungen, die für jeden Inhaltstyp geeignet sind.
  • Erstellen Sie einen einzelnen Workflow, der für einen einzelnen Inhaltstyp verwendet wird, und verwenden Sie diesen Inhaltstyp in mehreren Listen. (Dann erhalten Sie "denselben Workflow in mehreren Listen", in einer bestimmten Art und Weise Dinge zu betrachten.)
  • (4) Ich kann einen bestimmten Datensatztyp in einer Liste erstellen und dann Dinge so konfigurieren, dass alle Datensätze davon "Type" ist schreibgeschützt (dh kann nicht bearbeitet werden, nachdem sie erstellt wurden).
  • (5) Gefiltert Lookups: http://www.sharepointblogs.com/mossms/archive/2009/07/23/filtered-lookups-across-content-types.aspx

Bin ich etwas fehlt? Gibt es ein Verwendungsszenario für benutzerdefinierte Inhaltstypen in Listen, die ich nicht sehen kann, und das macht sie zu einer unverzichtbaren Funktion von SharePoint für Sie?

+0

Ist das Programmieren Frage ?? – derobert

Antwort

4

Die Punkte, die Janis und Alex machen, sind gute. Hier sind ein paar von mir:

  1. Die "Klasse" Analogie, die Janis zeichnet, ist eine gute. Inhaltstypen sind nicht nur Daten - sie sind das Verhalten, das mit diesen Daten einhergeht. Diese "Portabilität des Verhaltens" ermöglicht es uns, nicht mehr an SharePoint-Daten zu denken, sondern einfach in einer Liste zu sitzen. List-gebunden ist besonders einschränkend; Inhaltstypen brechen diese Einschränkung.

  2. Inhaltstypen sind hierarchischer Natur und unterstützen die Vererbung (wie Janis darauf hingewiesen hat). Sie können eine Hierarchie so komplex erstellen, wie Sie möchten, ähnlich einer Klassenhierarchie. Inhaltstypen, die tiefer in der Hierarchy liegen, erben Felder und die meisten Code-bezogenen Elemente von höheren in der Vererbungskette. Sie können das übergeordnete Verhalten in einem abgeleiteten Typ beibehalten oder überschreiben.

  3. Was ich besonders an Inhaltstypen (in Bezug auf die Portabilität von Kontakten) mag, ist die Möglichkeit, benutzerdefinierte Formulare zum Anzeigen und Arbeiten mit Daten anzugeben. Ich spreche nicht über FormTemplates die in Liste Formularseiten stecken; Ich spreche von einer handwerklichen Erfahrung. Die gesamte "Listen-zentrierte" Denkweise von SharePoint kann durch gut gestaltete Formulare, die über FormUrl Elemente in der XmlDocument-Struktur eines Inhaltstyps gebunden sind, auf den Kopf gestellt werden. Eine leere ASPX-Seite wird zu Ihrer Arbeitsfläche, wenn Sie es wünschen.

Am Ende des Tages, ich denke, es auf diese kommt (für mich): Ich über Daten, die gebunden an eine Liste denken und Verhalten dieser Liste oder woran ich denken kann Daten mehr OOP sind Ähnlich wie in der Natur mit Inhaltstypen. Microsoft hat erhebliche Investitionen in Inhaltstypen innerhalb der SharePoint-Plattform getätigt und starke Argumente für deren Verwendung in der Informationsarchitektur jeder Site aufgestellt. Die Wahl, sie nicht zu benutzen, könnte einige Überraschungen auf der Straße bringen.

Hier ist nur ein Beispiel: das MOSS Records Center. Der "Eingeweide" des MOSS Records Center nutzt Inhaltstypen als Routing- und Sortiermechanismus, um die Lebensdauer zu vereinfachen (http://blogs.msdn.com/recman/archive/2006/09/12/750034.aspx). Wenn Sie viele Daten ohne Klassifizierungen von Inhaltstypen haben und sich dafür entscheiden, ein Datenarchiv zu nutzen ... autsch.

Hier ist ein weiteres Beispiel: Suche. Mit einer klar definierten Informationsarchitektur basierend auf Inhaltstypen kann das Partitionieren von Suchbereichen viel einfacher werden, da der Inhaltstyp fast mühelos in eine verwaltete Eigenschaft konvertiert werden kann. Mit meinem aktuellen Kunden machen wir dies, um Inhalte für die automatische Aufnahme von Inhalten einfach zu identifizieren und zu kategorisieren.

Extremes Beispiel: Veröffentlichung von Websites. Sie können Veröffentlichungswebsitefunktionen nicht ohne die Verwendung von Inhaltstypen nutzen, da alle Veröffentlichungslayouts an einen Inhaltstyp gebunden sind, um Listendaten mit Layoutplatzhaltern auszurichten.

Ich könnte weitermachen, aber das gibt Ihnen hoffentlich eine Vorstellung davon, welche Inhaltstypen sowohl für Sie als Entwickler als auch als Administrator tun können. Sie brauchen nicht brauchen, um sie zu verwenden, aber sie stellen eine ziemlich Verbesserung gegenüber den listenspezifischen Datentagen von WSSv2/SPS 2003 dar.

Für was es wert ist!

3

Ich sehe sie als Klassen. Warum klassifizieren Sie Ihre Daten nicht?

Zum Beispiel können Sie context menu items oder event listeners oder workflows an einen Inhaltstyp anhängen. Oder wenn es sich herausstellt, dass Sie ein anderes Feld benötigen, fügen Sie es einfach zum Inhaltstyp hinzu und fügen es überall hinzu, wo Daten verwendet werden.

2

Der Grund, warum sie eine unverzichtbare Funktion für mich sind, ist, weil ich oft die gleiche Liste an vielen Standorten auf einer Website bereitgestellt haben. Um die Listenspalten zu ändern, kann ich einfach den übergeordneten Inhaltstyp ändern, und alle Listen, die diesen Inhaltstyp verwenden, werden aktualisiert.

Aber auch als Janis says geht es darum, Ihre Daten zu klassifizieren. Durchdenken Sie die Datenstruktur und definieren Sie sie in einem Inhaltstyp. Dieser Inhaltstyp kann dann überall eingesetzt und immer zentral aktualisiert werden. Dies macht die Verwaltung der Datenstruktur konsistent, vorhersehbar und wiederholbar.

Es ist auch ein gutes Zeichen, dass jeder, der die Lösung entwickelte, der Planung und dem Abgleich der Geschäftsanforderungen mit dem Produkt besondere Aufmerksamkeit schenkt. Sonst kann es zeigen, dass es eine Tendenz gegeben hat, Listen ad hoc zu verursachen, die oft am Ende ein Wartungsalptraum sein können.

+0

+1 für den letzten Absatz :) – danieldekay

Verwandte Themen