Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Die Azure AD App benötigt hierfür die Scopes: Sites.Read.All, Files.ReadWrite.All.

CMI

Für die Integration in das Produkt CMI ist folgendes nötig:

Im CMI muss primedocs als Applikation registriert sein (Scope templateManager) und die ClientId und das ClientSecret wird benötigt.

Diese Daten müssen dann in der primedocs.config hinterlegt werden:

Code Block
<primedocs ...>
    ...
    <cmi tokenEndpoint="https://[sts-cmihost]/[cmi-Tenant]/identity/connect/token" 
         uploadEndpointHost="https://[cmihost].com"
         clientId="[Client Id von CMI]" 
         clientSecret="[Client Secret von CMI]" 
         />
    ...
</primedocs>

Eine Demonstration dieser Integration finden Sie auf unserem YouTube Kanal.

Einbinden von CMI Daten in Vorlagen

Möchte man Daten aus CMI in primedocs Vorlagen anzeigen, kann man diese als Platzhalter über Word PlainText Content Controls mit dem Namensschema CMI_[FELDNAME] bzw. können auch Bookmarks genutzt werden. Sowohl die Content Controls mit dem CMI Naming als auch Bookmarks werden von CMI automatisch mit den richtigen Inhalten befüllt.

Technische Details

Beim Auswahl des primedocs “Template-Picker” wird ein iFrame erzeugt, welches auf die primedocs Web-Applikation zeigt.
Zusätzlich wird der Parameter saveLocationCmiTenant sowie saveLocationCmiToken mitgegeben. Im einfachsten Fall erzeugt die CMI Applikation solch ein iFrame:

Code Block
<iframe src="https://{INSTANCE-NAME}/app/web/cmi?saveLocationCmiTenant=[CMI-Tenant]&saveLocationCmiToken=[CMI-Token]"
        style="height: 700px; width: 700px; border: 1px solid;">
</iframe>

Nach dem Erzeugen des Dokuments wird es automatisch an den uploadEndpointHost hochgeladen.

Beim Hochladen geschehen noch folgende Zwischenschritte:

  • Über die ClientId und ClientSecret wird vom tokenEndpoint mit dem Scope templateManager via client_credentials ein AccessToken angefordert.

  • Das AccessToken wird für den Dateiupload an [uploadEndpointHost]/[CMI-Tenant]/Template/[CMI-Token] angehangen und der Upload wird via HTTP POST ausgeführt.

Nach dem Hochladen wird per Javascript an CMI dieses Objekt geliefert, sodass der Prozess im CMI fortgesetzt werden kann.

Code Block
window.parent.postMessage({
                           type: "template-chooser-document-uploaded",
                           name: result.name,
                          }, "*");