Zum Inhalt

Tipps, Tricks und Hinweise#

SharePoint Online#

  1. Die Dokumentenablage in SharePoint Online nutzt zur Konnektivität die standardisierte Schnittstellen-Architektur der Microsoft1 Graph API. Hierdurch kann es zu Unterschieden der Anbindung gegenüber der SharePoint-API kommen.

  2. Die Suche nach Schlagworten erfolgt immer mit einem gesetzten http-Header "prefer" mit dem Wert "HonorNonIndexedQueriesWarningMayFailRandomly" um auch über Indexbegriffe suchen zu können, die nicht in einem Index abgebildet werden.

  3. Die Ablage von Dokumenten erfolgt in SharePoint Online immer mit einer Konfliktbehandlung zum Umbenennen. Dies hat zur Folge, dass ein gleichnamiges Dokument, das mit identischen Indexbegriffen abgelegt wird, niemals das bestehende Dokument überschreibt, sondern einen automatisch mit einer Nummer versehenen , angepassten Dateinamen erhält.
    Dies erfolgt automatisiert unter Verwendung des URL-Parameters \@microsoft.graph.conflictBehavior=rename

Einrichtung von App-Registrierungen#

Damit per OAuth 2.0 Authentifizierung unter Verwendung der Graph API auf SharePoint Online zugegriffen werden kann, müssen App-Registrierungen angelegt werden, die für den delegierten Zugriff oder für Anwendungsberechtigungen ausgelegt sind. In den nachfolgenden Kapiteln wird ein kurzer Überblick gegeben, welche Einstellungen und Vorgehensweisen für die Anlage der App-Registrierungen verwendet werden können.

Einrichtung einer App-Registrierung für delegierten Zugriff im Azure AD#

Damit Benutzer sich aus Microsoft Dynamics 365 Business Central1 heraus an der Microsoft1 Graph API für die Verwendung von SharePoint-Zugriffen authentifizieren können, muss eine App-Registrierung für den delegierten Zugriff eingerichtet werden.

Detailinformationen zur Einrichtung einer App-Registrierung sind der Microsoft1-Dokumentation zu entnehmen.

  1. Öffnen Sie die App-Registrierungen im Azure AD, erstellen eine neue App-Registrierung und vergeben Sie einen eindeutigen Namen.

  2. Geben Sie unter "Authentifizierung" die Adresse https://businesscentral.dynamics.com/OAuthLanding.htm als Umleitung -URI mit dem Typ "Web" an.

  3. Erstellen Sie unter "Zertifikate & Geheimnisse" einen neuen geheimen Clientschlüssel und merken diesen vor.

    Achtung! Nach dem Schließen des Popup-Fensters, ist dieser Schlüssel nicht mehr kopierbar!

  4. Vergeben Sie unter "API-Berechtigungen" für den SharePoint-Zugriff "Delegierte Berechtigungen" auf die Microsoft1 Graph-Scopes:

    • Files.ReadWrite.All
    • Sites.ReadWrite.All
    • User.Read

Einrichtung einer App-Registrierung für Anwendungsberechtigungen im Azure AD#

Sofern sich z.B. für die Hintergrundverarbeitung ein Dienst an SharePoint Online anmelden und Dokumente ablegen oder abfragen soll, muss ggfls. eine App-Registrierung mit Anwendungsberechtigungen erstellt werden.

Detailinformationen zur Einrichtung einer App-Registrierung sind der Microsoft1-Dokumentation zu entnehmen.

  1. Öffnen Sie die App-Registrierungen im Azure AD, erstellen eine neue App-Registrierung und vergeben Sie einen eindeutigen Namen.

  2. Geben Sie unter "Authentifizierung" die Adresse https://businesscentral.dynamics.com/OAuthLanding.htm als Umleitung -URI mit dem Typ "Web" an.

  3. Erstellen Sie unter "Zertifikate & Geheimnisse" einen neuen geheimen Clientschlüssel und merken diesen vor.

    Achtung! Nach dem Schließen des Popup-Fensters, ist dieser Schlüssel nicht mehr kopierbar!

  4. Vergeben Sie unter "API-Berechtigungen" für den SharePoint-Zugriff "Anwendungsberechtigungen" auf die Microsoft1 Graph-Scopes:

    • Files.ReadWrite.All
    • Sites.ReadWrite.All

    Es ist auch möglich, mit Sites.Selected anstelle von Sites.ReadWrite.All zu arbeiten. Die Einrichtung von selektiven Berechtigungen ist jedoch nur über APIs und nicht über eine grafische Benutzeroberfläche möglich.

Crawled Properties vs. Managed Properties#

In der SharePoint-Struktur wird grundsätzlich unterschieden zwischen "Durchforsteten Eigenschaften" (Crawled Properties) und "Verwalteten Eigenschaften (Managed Properties).

Durchforstete Eigenschaften entstehen, indem z.B. einer SharePoint-Liste neue Spalten hinzugefügt werden. Auf diese Spalten kann bei Bedarf ein Index gelegt werden, so dass diese Spalten auch direkt indiziert und gefiltert werden können. Der Nachteil ergibt sich allerdings in Bezug auf die Graph-API, sobald ein Indexbegriff listenübergreifend in mehreren tausend Dokumenten verwendet wird (z.B. die Debitorennummer). Hier kann der Filterungsmechanismus der Graph-API keine strukturierte Filterung mehr durchführen und gibt entsprechend einen http-Fehler 422 "The request is unprocessable because it uses too many resources" zurück.

Das "DMS & ECM Interface" bietet hierzu die Möglichkeit, bei zu vielen Treffern automatisch auf eine Suchabfrage (Graph Query) umzustellen und die Dokumente darüber zu beziehen. Hierzu gibt es allerdings folgende Einschränkungen, die zu berücksichtigen sind:

  • Für eine Graph-Query müssen Eigenschaften als "Refinable" gekennzeichnet sein. Dies ist nur über die bereits mitgelieferten Eigenschaften mit den Namen "Refinable\\ (Beispiel "RefinableString00" möglich! Um also eine eigene Eigenschaft durchsuchbar zu machen und für die Rückgabe bereitzustellen, sind den durchsuchbaren Eigenschaften verwaltete, "refinable" Eigenschaften zuzuordnen. Wie dies erfolgt, wird im Nächsten Abschnitt erklärt.

  • Verwaltete Eigenschaften stehen erst nach der Indexierung bereit. Die Indexierung erfolgt in SharePoint Online automatisiert in einem Zeitzyklus zwischen 5 Minuten und 2 Stunden und ist durch den Benutzer oder Administrator nicht steuerbar. Folglich kann es dazu kommen, dass ein soeben abgelegtes Dokument über die Suche noch nicht auffindbar ist!

Zuordnung von "Refinable" Eigenschaften#

Öffnen Sie das Microsoft1 365 admin center und wählen Sie in der linken Navigationsstruktur unter "Admin centers" den Eintrag "SharePoint" aus.

Wählen Sie im "SharePoint admin center" in der linken Navigationsstruktur den Eintrag "More features" und danach im Hauptbereich die Schaltfläche "Open" in der Kachel "Search" aus, um die Sucheinstellungen zu öffnen.

Anschließend wählen Sie im folgenden Bildschirm den Listeneintrag "Manage Search Schema".

Weisen Sie nun den verwalteten Eigenschaften (Managed Properties) mit dem Namensmuster "Refinable\\" die einzelnen durchforsteten Eigenschaften (Crawled Properties) zu, die Sie über die Spalten der Dokumentenbibliothek erstellt haben.

Entsprechende Datentypen für die "Refinable"-Properties sind:

  • RefinableDate (00-19)

  • RefinableDateFirst (00-04)

  • RefinableDateInvariant (00-01)

  • RefinableDateSingle (00-04)

  • RefinableDecimal (00-09)

  • RefinableDouble (00-09)

  • RefinableInt (00-49)

  • RefinableIntFirst (00-04)

  • RefinableString (00-219)

  • RefinableStringFirst (00-39)

  • RefinableStringLn (00-09)

  • RefinableStringWbOff (00-49)

  • RefinableStringWbOffFirst (00-49)

  • RefinableYesNo (00-04)

Eine Übersicht zu den verschiedenen Properties und deren Eigenschaften ist diesem Link zu entnehmen: Microsoft1-Dokumentation

Auflistung der Business Central Standard Pages, die um eine Dokumenten-Infobox erweitert wurden#

Die folgende Übersicht beinhaltet alle Standard Pages aus Business Central, die zur Zeit mit einer Infobox für die Anzeige von Dokumenten ausgestattet wurden. Im Fall von individuellen Pages oder sonstigen Funktionsbereichen kann über eine Individual-Programmierung die Infobox auf weiteren Seiten eingeblendet werden. Diese sind jedoch nicht im Standardumfang der Anwendung erhalten und daher hier nicht angezeigt.

Objektname Objektcaption Bemerkung
Bank Account Card Bankkontokarte
Bank Account List Bankkonten
Cash Receipt Journal Zlg.-Eing. Buch.-Blätter
Contact Card Kontaktkarte Separate Infoboxen für Kontakt, Kreditor, Debitor, Bankkonto und Mitarbeiter
Contact List Kontakte Separate Infoboxen für Kontakt, Kreditor, Debitor, Bankkonto und Mitarbeiter
Customer Card Debitorenkarte
Customer Ledger Entries Debitorenposten
Customer List Debitoren
Finance Charge Memo Zinsrechnung
Finance Charge Memo List Zinsrechnungen
Finished Production Order Beendeter FA Separate Infoboxen für Fertigungsauftrag, FA-Zeile und Artikel
Finished Production Orders Beendete Fertigungsaufträge
Firm Planned Prod. Order Fest geplanter FA Separate Infoboxen für Fertigungsauftrag, FA-Zeile und Artikel
Firm Planned Prod. Orders Fest geplante FA
Fixed Asset Card Anlagenkarte
Fixed Asset G/L Journal Anlagen Fibu Buch.-Blätter
Fixed Asset List Anlagen
General Journal Fibu Buch.-Blätter
General Ledger Entries Sachposten
Insurance Card Versicherungskarte
Insurance List Versicherungspolicen
Issued Reminder List Registrierte Mahnungen
Issued Finance Charge Memo Registrierte Zinsrechnungen
Issued Fin. Charge Memo List Registrierte Zinsrechnungen
Issued Reminder Registrierte Mahnungen
Item Card Artikelkarte
Item List Artikel
Job Card Projektkarte Separate Infoboxen für Projekte und Projektaufgabe
Job G/L Journal Fibu Buch.-Blätter Projekt
Job Ledger Entries Projektposten
Job List Projekte
Lot No. Information Card Chargennr.-Informationskarte
Lot No. Information List Chargennr.-Informationsliste
Machine Center Card Arbeitsplatzkarte
Machine Center List Arbeitsplätze
Payment Journal Zlg.-Ausg. Buch.-Blätter
Planned Production Order Geplanter FA Separate Infoboxen für Fertigungsauftrag, FA-Zeile und Artikel
Planned Production Orders Geplante FA
Posted Direct Transfer Gebuchte direkte Umlagerung
Posted Direct Transfers Gebuchte direkte Umlagerungen
Posted Purchase Credit Memo Geb. Einkaufsgutschrift
Posted Purchase Credit Memos Geb. Einkaufsgutschriften
Posted Purchase Invoice Geb. Einkaufsrechnung
Posted Purchase Invoices Geb. Einkaufsrechnungen
Posted Purchase Receipt Geb. Einkaufslieferung
Posted Purchase Receipts Geb. Einkaufslieferungen
Posted Return Shipment Gebuchte Rücklieferung
Posted Return Shipments Gebuchte Einkaufsrücklieferungen
Posted Sales Credit Memo Geb. Verkaufsgutschrift
Posted Sales Credit Memos Geb. Verkaufsgutschriften
Posted Sales Invoice Geb. Verkaufsrechnung
Posted Sales Invoices Geb. Verkaufsrechnungen
Posted Return Receipt Gebuchte Rücksendung
Posted Return Receipts Gebuchte Rücksendung
Posted Sales Shipment Geb. Verkaufslieferung
Posted Sales Shipments Geb. Verkaufslieferungen
Posted Service Credit Memo Gebuchte Servicegutschrift
Posted Service Credit Memos Gebuchte Servicegutschriften
Posted Service Invoice Gebuchte Servicerechnung
Posted Service Invoices Gebuchte Servicerechnungen
Posted Service Shipment Gebuchte Servicelieferung
Posted Service Shipments Gebuchte Servicelieferungen
Posted Whse. Receipt Gebuchter Wareneingang
Posted Whse. Receipt List Gebuchte Wareneingänge
Posted Whse. Shipment Gebuchter Warenausgang
Posted Whse. Shipment List Gebuchte Warenausgänge
Prod. Order Components FA-Komponenten Separate Infoboxen für FA-Komponente, Artikel und Stücklistenzeile
Prod. Order Routing FA-Arbeitsplan Separate Infoboxen für FA-Arbeitsplan, Arbietsplatzgruppe / Arbeitsplatz und Arbeitsgang
Production BOM Fertigungsstückliste Separate Infoboxen für Stückliste und Stücklistenzeile
Production BOM List Stücklisten
Production BOM Version Fert.-Stücklistenversion
Purchase Journal Einkaufs Buch.-Blätter
Purchase Order List Einkaufsbestellungen
Purchase Return Order List Einkaufsreklamationen
Blanket Purchase Order Rahmenbestellung
Blanket Purchase Order Archive Rahmenbestellungsarchiv
Blanket Purch. Order Archives Rahmenbestellungsarchive
Blanket Purchase Orders Rahmenbestellungen
Purchase Credit Memo Einkaufsgutschrift
Purchase Credit Memos Einkaufsgutschriften
Purchase Invoice Einkaufsrechnung
Purchase Invoices Einkaufsrechnungen
Purchase List Einkaufsübersicht
Purchase List Archive Einkaufsübersichtsarchiv
Purchase Order Einkaufsbestellung
Purchase Order Archive Einkaufsbestellungsarchiv
Purchase Order Archives Bestellungsarchive
Purchase Orders Einkaufsbestellungen
Purchase Quote Einkaufsanfrage
Purchase Quote Archive Einkaufsanfragenarchiv
Purchase Quote Archives Einkaufsanfragenarchive
Purchase Quotes Einkaufsanfragen
Purchase Return Order Einkaufsreklamation
Purchase Return Orders Einkaufsreklamationen
Recurring General Journal Wiederk. Fibu Buch.-Blätter
Released Production Order Freigegebener FA Separate Infoboxen für Fertigungsauftrag, FA-Zeile und Artikel
Released Production Orders Freigegebene Fertigungsaufträge
Reminder Mahnung
Reminder List Mahnungen
Requests to Approve Zu genehmigende Anforderungen
Resource Card Ressourcenkarte
Resource List Ressourcen
Routing Arbeitsplan Separate Infoboxen für Arbeitsplan und Arbeitsgang
Routing List Arbeitspläne
Routing Version Arbeitsplanversion
Blanket Sales Order Rahmenauftrag
Blanket Sales Order Archive Rahmenauftragsarchiv
Blanket Sales Order Archives Rahmenauftragsarchive
Blanket Sales Orders Rahmenaufträge
Sales Credit Memo Verkaufsgutschrift
Sales Credit Memos Verkaufsgutschriften
Sales Invoice Verkaufsrechnung
Sales Invoice List Verkaufsrechnungen
Sales Journal Verkaufs Buch.-Blätter
Sales List Verkaufsübersicht
Sales List Archive Verkaufsübersichtsarchiv
Sales Order Verkaufsauftrag
Sales Order Archive Verkaufsauftragsarchiv
Sales Order Archives Verkaufsauftragsarchive
Sales Order List Verkaufsaufträge
Sales Orders Verkaufsaufträge
Sales Quote Verkaufsangebot
Sales Quote Archive Verkaufsangebotsarchiv
Sales Quote Archives Verkaufsangebotsarchive
Sales Quotes Verkaufsangebote
Sales Return List Archive Archiv für Verkaufsreklamationen
Sales Return Order Verkaufsreklamation
Sales Return Order Archive Verkaufsreklamationsarchiv
Sales Return Order List Verkaufsreklamationen
Sales Return Orders Verkaufsreklamationen
Serial No. Information Card Seriennr.-Informationskarte
Serial No. Information List Seriennr.-Informationsliste
Service Contract Servicevertrag
Service Contract List Servicevertragsübersicht
Service Contract Quote Servicevertragsangebot
Service Contract Quotes Servicevertragsangebote
Service Contracts Serviceverträge
Service Credit Memo Servicegutschrift
Service Credit Memos Servicegutschriften
Service Invoice Servicerechnung
Service Invoices Servicerechnungen
Service Item Card Serviceartikelkarte
Service Item List Serviceartikel
Service Items Serviceartikel
Service Order Serviceauftrag
Service Order Archive Serviceauftragsarchiv
Service Order Archives Serviceauftragsarchive
Service Orders Serviceaufträge
Service Quote Serviceangebot
Service Quote Archive Serviceangebotsarchiv
Service Quote Archives Serviceangebotsarchive
Service Quotes Serviceangebote
Simulated Production Order Simulierter FA Separate Infoboxen für Fertigungsauftrag, FA-Zeile und Artikel
Simulated Production Orders Simulierte Fertigungsaufträge
Transfer Order Umlagerungsauftrag
Transfer Orders Umlagerungsaufträge
User Task Card Benutzeraufgabe
User Task List Benutzeraufgaben
VAT Entries MwSt.-Posten
Vendor Card Kreditorenkarte
Vendor Ledger Entries Kreditorenposten
Vendor List Kreditoren
Warehouse Receipt Wareneingang
Warehouse Receipts Wareneingänge
Warehouse Shipment Warenausgang
Warehouse Shipment List Warenausgänge
Work Center Card Arbeitsplatzgruppenkarte
Work Center List Arbeitsplatzgruppen

  1. Microsoft, Microsoft Dynamics und Microsoft Dynamics 365 sind Marken der Microsoft-Unternehmensgruppe.