Datenablage und -Organisation in SharePoint
Instanz
Eine Instanz von d.velop contracts for Microsoft 365 wird in einer Websitesammlung gehalten. Die Websitesammlung muss der Instanz exklusiv zur Verfügung stehen. Um einen fehlerfreien Betrieb zu gewährleisten, ist ein Bearbeiten der Strukturen in dieser Websitesammlung nur im Rahmen dieses Datenmodells entsprechend der Dokumentation zulässig. Der Großteil der Strukturen wird im Rahmen der Installation automatisch bereitgestellt, im Anschluss müssen einige individuelle Optionen manuell umgesetzt werden.
Vertragsakten
Eine Vertragsakte ist die logische Kombination aus mehreren Elementen:
Vertragshülle (Dokumentenmappe, Metadaten)
Dokumente
Aufgaben
Optional: Individuelle Unterelemente (z.B. Notizen, Kosten etc.)
Diese Elemente sind in SharePoint in verschiedenen Listen und Bibliotheken verteilt.
Physikalische Ablage der Vertragsakte
Eine Dokumentenmappe ist die Grundlage für die Vertragsakte. Die Metadaten der Dokumentenmappe gelten als Eigenschaften der Vertragsakte. Der Basisinhaltstyp für Verträge ist ecsContractContentType und basiert auf dem Inhaltstypen Dokumentenmappe. Bei Speicherung der Dokumentenmappe wird eine eindeutige VertragsID generiert die den Namen der Dokumentenmappe angibt. Die VertragsID wird zusätzlich als Eigenschaft an der Dokumentenmappe gespeichert und ist das Verknüpfungsfeld zu zusätzlichen Listen (Aufgaben, Individuelle Listen). Die Dokumentenmappe ist den Vertragsbibliotheken als Inhaltstyp zugeordnet.
Vertragsdokumente
Die Vertragsdokumente werden in der Dokumentenmappe abgelegt und erben dadurch automatisch alle Eigenschaften. Die Vertragsdokumente erhalten im Standard den Inhaltstypen ecsContractDocumentContentType der auf dem Inhaltstypen Dokument basiert. ecsContractDocumentContentType ist den Vertragsbibliotheken als Inhaltstyp zugeordnet.
Standardeigenschaften der Vertragsakte
Die Eigenschaften der Vertragsakte werden durch die Felder des Inhaltstypen ecsContractContentType angegeben. Die in diesem Inhaltstypen hinterlegten Felder sind für alle Vertragsarten verfügbar. Der Typ eines Vertrages wird durch das Feld Vertragstyp angegeben. Die verfügbaren Werte sind über Ausdrücke innerhalb eines vorgegebenen Ausdruckssatzes im Terminologiespeicher abgebildet. Der Status eines Vertrages wird durch das Feld Vertragsstatus angegeben. Die verfügbaren Werte sind über Ausdrücke innerhalb eines vorgegebenen Ausdruckssatzes im Terminologiespeicher abgebildet.
Organisatorische Einordnung
Zur Einordnung von Verträgen in Unternehmensstrukturen kann das Feld Organisatorische Zuordnung genutzt werden. Das Feld wird im Standard erstellt, die möglichen Werte werden im Ausdruckssatz ecsContractOrganization im Terminologiespeicher verwaltet. Zur Nutzung des Feldes muss dieses dem Standardinhaltstypen ecsContractContentType hinzugefügt werden.
Vertragstypen
Die verfügbaren Vertragstypen sind über Ausdrücke innerhalb des Ausdruckssatzes ecsContractTypeTerm im Terminologiespeicher abgebildet. Im Standard wird der Inhaltstyp ecsContractContentType für neue Vertragsakten verwendet.
Über die Konfiguration können die Vertragstypen zu entsprechenden Inhaltstypen zugeordnet werden.
Individuelle Felder
Über die Systemfelder hinaus können Vertragstypen weitere Felder nutzen.
Alle individuelle Felder werden in der Oberfläche im Bereich Details angezeigt. Standardfelder werden im Bereich Stammdaten angezeigt. Felder die nur für bestimmte Vertragstypen gelten sollen, müssen dem entsprechenden Inhaltstypen zugeordnet werden. Dieser neue Inhaltstyp muss vom Basisinhaltstyp ecsContractContentType erben.
Dokumenttypen
Dokumenttypen werden über das Feld Dokumenttyp abgebildet. Die verfügbaren Dokumenttypen sind über Ausdrücke innerhalb des Ausdruckssatzes ecsDocumentTypeTerm im Terminologiespeicher abgebildet. Im Standard wird der Inhaltstyp ecsContractDocumentContentType für neue Vertragsdokumente verwendet. Über die Konfiguration können die Dokumenttypen zu entsprechenden Inhaltstypen zugeordnet werden.
Aufgaben
Aufgaben werden in zusätzlichen Listen angelegt und erhalten den Inhaltstyp ecsTasksContentType. Die Zuordnung zur Vertragsakten erfolgt durch das Systemfeld VertragsID. Der Status eine Aufgabe wird durch den Aufgabenstatus angegeben. Die verfügbaren Status sind über Ausdrücke innerhalb des Ausdruckssatzes ecsContractTaskState im Terminologiespeicher abgebildet.
Individuelle Unterelemente
Individuelle Unterelemente werden in zusätzlichen Listen angelegt. Für individuelle Unterelemente sollte ein eigenständige Inhaltstyp angelegt werden der vom ecsContractCustomListBaseContentType erbt. Die Zuordnung zur Vertragsakten erfolgt durch das Systemfeld VertragsID. Die Individuellen Listen können über die Instanzkonfiguration in d.velop contracts for Microsoft 365 eingebunden werden.
Skalierung von Listen und Bibliotheken
Da die Daten von d.velop contracts for Microsoft 365 in SharePoint Online gehalten werden, sollte als Teil der Planung zur Einführung ein Abgleich mit den Limits von SharePoint Online durchgeführt werden. Eine Aufstellung ist hier zu finden auf: https://docs.microsoft.com/de-de/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits bzw. https://docs.microsoft.com/de-de/sharepoint/search-limits
Bei der Entwicklung sind die von Microsoft dokumentierten Limits berücksichtigt worden und das Produkt wurde entsprechend optimiert.
Für die Struktur des Vertragsmanagement ist insbesondere folgende Beschränkung relevant: Einzelberechtigungen in einer Bibliothek, https://docs.microsoft.com/de-de/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#unique-permissions-for-items-in-a-list-or-library.
Das absolute Limit liegt bei 50.000 Einzelberechtigungen pro Bibliothek die Empfehlung lautet 5.000 Einzelberechtigungen. Um das empfohlene Limit einzuhalten werden alle Elemente eines Vertrags in Unterordner zusammengefasst und Berechtigungen auf Ebene des Ordners gesetzt. Ab 5.000 Ordnern wird programmatisch eine weitere Liste oder Bibliothek verwendet. Im Standard betrifft dies die Listen bzw. Bibliotheken Verträge und Aufgaben. Das Verhalten wird ebenso auf individuelle Listen angewendet.