primedocs.config

primedocs.config



Die primedocs.config-Datei ist die zentrale Konfigurationsdatei für die serverseitigen primedocs Applikationen. Sie befindet sich im Installationsverzeichnis (standardmässig unter C:\inetpub\wwwroot\primedocs\primedocs.config).

Über die primedocs.config können Features aktiviert und deaktiviert werden.

Beachten Sie, dass eine falsche Konfiguration zu Fehlern führen kann und dass gewisse Features auch lizenztechnisch relevant sind! Fragen Sie hierfür unseren Support an.

 

Nachfolgend befinden sich Beispiele:


Die GUIDs, Passwörter, Secrets, URLs und ConnectionStrings sollten nicht übernommen werden.
Bei der Installation werden die GUIDs, Passwörter und Secrets automatisch zufällig erstellt.

Standard-Installation

Die Standard OnPrem-Installation setzt auf die Windows Aufthentifzierung.

<primedocs operationDbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod_Operation;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True" databaseLoggingEnabled="false"> <datasources> <add id="9e769582-b411-43fa-b8f6-d15ea3d83dde" isPrimary="true" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" name="primedocs" /> </datasources> <clients> <!-- Windows Client OIDC Settings --> <add id="710be047-475a-4991-90b3-351ea93d6908" oidcClientId="DefaultClient" oidcClientSecret="G754ePPG0SBC" userAuthType="FromLogin" /> <!-- WebApi to invoke the Connect (DCS) --> <add id="84234199-5448-4d73-8182-b5623e51e99c" basicAuth="CONNECT-USER:izieAoETHS04" mappedToPrimarySid="CONNECT-USER" /> </clients> <apps> <add id="e185dddd-2cb4-43e2-a6fe-cf4272dd3401" name="Service" url="https://your-url.local/service/" logFilePath="Service\" type="Service" /> <add id="9ef34d3a-13b5-4f06-b437-b300474beb6d" name="IdentityServer" url="https://your-url.local/ids/" logFilePath="IdS\" type="IdentityServer" /> <add id="c74a324d-7c36-4d2f-b422-f2fdad41f81e" name="HealthMonitor" url="https://your-url.local/healthmonitor/" type="HealthMonitor" /> <add id="f7199131-de81-4d40-a254-39e7db9660f0" name="DataSourceAdminApp" url="https://your-url.local/datasourceadminapp/" logFilePath="DataSourceAdminApp\" type="DataSourceAdminApp" /> <add id="279b5480-27e5-4a09-bf9f-4c10d1770c76" name="App" url="https://your-url.local/app/" logFilePath="App\" type="App" /> <add id="f25dc7b9-d989-4d03-89ff-3ee17bf7d020" name="JobHost" logFilePath="JobHost\" type="JobHost" /> <add id="1cdca9fc-780b-477e-af20-29be64bf8dae" name="Connect" url="https://your-url.local/connect/" logFilePath="Connect\" type="Connect" /> <add id="1d28ed6f-74d4-4942-b254-b287db6e1cf9" name="AddressService" url="https://your-url.local/addressservice/" logFilePath="AddressService\" type="AddressService" /> <add id="a7ee7e49-b0eb-472c-aecb-cc0ca5257342" name="WebApi" url="https://your-url.local/webapi/" logFilePath="WebApi\" type="WebApi" /> <add id="822a4c62-ed2d-4165-9bb1-eb979632c0aa" name="AdminApp" url="https://your-url.local/adminapp/" logFilePath="AdminApp\" type="AdminApp" /> </apps> <identity signingCertFilePath="cert.pfx" signingCertPassword="kWFgDhRAMgKk" introspectionSecret="1Ubp4Efp6H3G"> <providers> <winAuth authority="https://your-url.local/IdSWindowsAuth" clientId="winauth" clientSecret="winauth-L2VDmPzm7PbK" /> </providers> </identity> <service streamBufferSizeInBytes="81920"> <syncBehavior maxConcurrentClients="30" initialAverageSyncTimeInSeconds="10" timeoutInSeconds="120" /> </service> <healthMonitor basicAuth="user:YHBAe5oAwsi2" clientSecret="healthmonitor-s5iZRGCWZ7ZE" intervalInSeconds="600"/> </primedocs>

Standard-Installation mit Entra ID

Möchten Sie anstelle der Windows Authentifizierung sich über Ihre Entra ID (ehemals Azure Active Directory) anmelden, folgen Sie den Schritten unter https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/143032405.
Die clientId/clientSecret für die “Benutzer-Anwendung” als auch die clientId/clientSecret für den Zugriff auf die DataSourceAdminApp (Dashboard) muss in der primedocs.config hinterlegt werden:

<primedocs operationDbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod_Operation;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True" databaseLoggingEnabled="false"> <datasources> <add id="9e769582-b411-43fa-b8f6-d15ea3d83dde" isPrimary="true" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" name="primedocs" allowedForTenant="{TENANTGUID}" /> </datasources> <clients> <!-- Windows Client OIDC Settings --> <add id="710be047-475a-4991-90b3-351ea93d6908" oidcClientId="DefaultClient" oidcClientSecret="G754ePPG0SBC" userAuthType="FromLogin" /> <!-- WebApi to invoke the Connect (DCS) --> <add id="84234199-5448-4d73-8182-b5623e51e99c" basicAuth="CONNECT-USER:izieAoETHS04" mappedToPrimarySid="CONNECT-USER" /> </clients> <apps> <add id="e185dddd-2cb4-43e2-a6fe-cf4272dd3401" name="Service" url="https://your-url.local/service/" logFilePath="Service\" type="Service" /> <add id="9ef34d3a-13b5-4f06-b437-b300474beb6d" name="IdentityServer" url="https://your-url.local/ids/" logFilePath="IdS\" type="IdentityServer" /> <add id="c74a324d-7c36-4d2f-b422-f2fdad41f81e" name="HealthMonitor" url="https://your-url.local/healthmonitor/" type="HealthMonitor" /> <add id="f7199131-de81-4d40-a254-39e7db9660f0" name="DataSourceAdminApp" url="https://your-url.local/datasourceadminapp/" logFilePath="DataSourceAdminApp\" type="DataSourceAdminApp" /> <add id="279b5480-27e5-4a09-bf9f-4c10d1770c76" name="App" url="https://your-url.local/app/" logFilePath="App\" type="App" /> <add id="f25dc7b9-d989-4d03-89ff-3ee17bf7d020" name="JobHost" logFilePath="JobHost\" type="JobHost" /> <add id="1cdca9fc-780b-477e-af20-29be64bf8dae" name="Connect" url="https://your-url.local/connect/" logFilePath="Connect\" type="Connect" /> <add id="1d28ed6f-74d4-4942-b254-b287db6e1cf9" name="AddressService" url="https://your-url.local/addressservice/" logFilePath="AddressService\" type="AddressService" /> <add id="a7ee7e49-b0eb-472c-aecb-cc0ca5257342" name="WebApi" url="https://your-url.local/webapi/" logFilePath="WebApi\" type="WebApi" /> <add id="822a4c62-ed2d-4165-9bb1-eb979632c0aa" name="AdminApp" url="https://your-url.local/adminapp/" logFilePath="AdminApp\" type="AdminApp" /> </apps> <identity signingCertFilePath="cert.pfx" signingCertPassword="kWFgDhRAMgKk" introspectionSecret="1Ubp4Efp6H3G"> <providers> <office365Auth authority=" https://login.microsoftonline.com/{TENANTGUID}" clientId="{CLIENTID}" clientSecret="{CLIENTSECRET}" microsoftAppDelegateScopes="email openid profile User.Read offline_access" /> <!-- AzureAD App for authentication instead of hardcoded admins --> <dataSourceAdminAppAuth clientId="{CLIENTID-DATASOURCEADMINAPP}" clientSecret="{CLIENTSECRET-DATASOURCEADMINAPP}" authority=" https://login.microsoftonline.com/{TENANTGUID}" microsoftAppDelegateScopes="email openid profile offline_access" /> </providers> </identity> <service streamBufferSizeInBytes="81920"> <syncBehavior maxConcurrentClients="30" initialAverageSyncTimeInSeconds="10" timeoutInSeconds="120" /> </service> <healthMonitor basicAuth="user:YHBAe5oAwsi2" clientSecret="healthmonitor-s5iZRGCWZ7ZE" intervalInSeconds="600"/> </primedocs>

Beachten Sie, dass die {TENANTGUID} durch die Id vom Entra ID auszutauschen.


Entra ID - Authority: Tenant vs. Common-Endpoint

Über die Konfiguration <office365Auth authority="https://login.microsoftonline.com/{TENANTGUID}" ... /> zeigt die primedocs Instanz auf den Entra ID Tenant. Alle Benutzer und Gruppen in diesem Entra ID Mandant sind dann nutzbar inkl. Gast-Benutzer.

Grundsätzlich kann die primedocs Instanz auch in einen “Multitenancy” Modus versetzt werden, in dem Fall zeigt die Konfiguration auf den Common-Endpoint https://login.microsoftonline.com/common/v2.0/. Hierbei muss auch die https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/143032405 App Registration für Multitenancy registriert werden.
Diese Konfigration kann bei “Plattform-Betreibern” genutzt werden um mehrere Mandaten über eine primedocs Instanz nutzbar zu machen.


SCIM

Um die Instanz für https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/1060864013 zu konfigurieren, muss mindestens ein SCIM-Tenant in der Konfiguration definiert werden:

<primedocs> ... <identity ...> ... <scimTenants enableLogging="true" deactivedUserRetentionHours="48"> <add name="demo" isActive="true" useUserNameAsJoiningProperty="false" useCustomAttributes="true" token="xxx" /> </scimTenants> </identity> </primedocs>
  • Bei Synchronisierungsproblemen kann über den Schalter enableLogging="true" jeder SCIM Request vom Entra ID in die Operation Database geloggt werden.

  • Optional deactivedUserRetentionHours: Der Prozess zur endgültigen Löschung von Benutzern mit dem Status active=false wird standardmässig 48 Stunden nach der Deaktivierung gestartet. Der Wert muss eine Zahl sein und gibt die Anzahl der Stunden an, die ein deaktivierter Benutzer in der Datenbank verbleibt, bevor er beim nächsten Aufruf des JobHosts gelöscht wird. Diese Funktion kann nicht vollständig deaktiviert werden.

  • Man kann beliebig viele scimTenants definieren, jeder benötigt allerdings diese Attribute:

    • name: Der Name wird in der SCIM Endpunkt URL aufgeführt. Hierdurch ist es z.B. möglich, dass eine Instanz verschiedene SCIM Requests entgegen nehmen kann, sodass man z.B. Test- und Produktivdaten besser trennen kann.

    • isActive: ScimTenants können deaktiviert werden, dadurch werden Requests abgewiesen.

    • useUserNameAsJoiningProperty: Dieser Schalter kann genutzt werden um die SCIM Schnittstelle z.B. gegen den SCIM Validator von Microsoft zu validieren. Der SCIM Validator nutzt standardmässig keine externalId, welche sonst immer als “Schlüssel” genutzt wird.

    • useCustomAttributes: Ist dieser Schalter auf true, können 16 frei definierbare Felder (customAttribute01…16) zur Datenübermittelung genutzt werden.

    • token: Dient zur Authentifizierung.

Damit eine DataSource auf die SCIM Daten zugreifen kann, muss das Attribut principalConnectorScimTenantName auf den name des entsprechenden scimTenants gesetzt werden:

<primedocs> <datasources> <add ... principalConnectorScimTenantName="demo" /> </datasources> </primedocs>

Without-IdS-Variante

<primedocs> <datasources> <add id="26735c39-3d6e-44c6-b701-f5ab6cc429fd" isPrimary="true" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" name="primedocs" /> </datasources> <apps> <add id="7e132bcb-b088-4cb2-b717-30174884b8f4" name="Service" url="https://your-url.local/service/" logFilePath="Service\" type="Service" /> <add id="60e0654e-9e62-4df2-8b24-4d00f2677cfa" name="HealthMonitor" url="https://your-url.local/healthmonitor/" type="HealthMonitor" /> <add id="80e85dff-e533-42df-b8f3-930598d9b955" name="JobHost" logFilePath="JobHost\" type="JobHost" /> <add id="f7199131-de81-4d40-a254-39e7db9660f0" name="DataSourceAdminApp" url="https://your-url.local/datasourceadminapp/" logFilePath="DataSourceAdminApp\" type="DataSourceAdminApp" /> <add id="c5667157-6cce-4da6-93ce-464b68947349" name="Connect" url="https://your-url.local/connect/" logFilePath="Connect\" type="Connect" /> <add id="7ee9d094-e728-4e36-91ea-8fb64aa6b765" name="AddressService" url="https://your-url.local/addressservice/" logFilePath="AddressService\" type="AddressService" /> </apps> <service streamBufferSizeInBytes="81920"> <syncBehavior maxConcurrentClients="30" initialAverageSyncTimeInSeconds="10" timeoutInSeconds="120" /> </service> <healthMonitor basicAuth="user:iPvKHKDmvlwP" clientSecret="healthmonitor-k9VBA5TXke9P" intervalInSeconds="600"/> </primedocs>

Datenquellen (“datasources”)

In den “Datenquellen” (datasources) werden alle Daten von primedocs gespeichert. In den meisten Fällen enthält eine primedocs Instanz eine Datenquelle, welche als isPrimary markiert ist.
Es gibt die Möglichkeit mehrere Datenquellen zu hinterlegen, sodass z.B. Produktiv- und Testsysteme auf einer Instanz hinterlegt werden können oder das es für verschiedene Abteilungen verschiedene Datenquellen gibt.

Beispiel mehrerer Datenquellen für Produktiv- und Testsystem mit Windows Authentifizierung:

<datasources> <add id="26735c39-3d6e-44c6-b701-f5ab6cc429fd" isPrimary="true" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" name="primedocs - Prod" /> <add id="9ce36252-0e25-4f40-a760-cd70dcfe124a" isPrimary="false" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Test;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" name="primedocs - Test" /> </datasources>

Beachten Sie, dass bei der Authentifizierung über Entra Id die datasources immer mit dem Attribut allowedForTenant="{TENANTGUID}" ausgestattet sein müssen und die {TENANTGUID} der Entra Id Tenant Id entsprechen muss.

“Multitenancy”-Modus

In der Standardeinstellung, sind alle Datenbanken für jeden Benutzer der primedocs Instanz sichtbar. Möchte man allerdings Datenbanken nur für bestimmte Benutzergruppen freigeben kann man dies über das Attribut allowedForGroups="..." steuern.
Hierbei ist es wichtig, dass keine Datenquelle mehr mit isPrimary="true" konfiguriert ist. Die “primäre Datenquelle” ist dann jeweils die erste Datenquelle, welche für den Benutzer in Frage kommt.

Über das Attribut allowedForGroups können kommasepariert (x,y) Gruppen SIDs bzw. Entra ID Group Ids angegeben werden. Zusätzlich kann ein * als Wildcard hinzugefügt werden.

Beispiel mit Windows Authentifizierung:

Alle sehen die Produktivdatenquelle, aber nur Benutzer in der Gruppe mit der SID S-1-5-21-2445566778-2513070483-412345678-11111 und S-1-5-21-2445566778-2513070483-412345678-22222 sehen die Testdatenquelle

<datasources> <add id="26735c39-3d6e-44c6-b701-f5ab6cc429fd" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" allowedForGroups="*" name="primedocs - Prod" /> <add id="9ce36252-0e25-4f40-a760-cd70dcfe124a" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Test;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" allowedForGroups="S-1-5-21-2445566778-2513070483-412345678-11111,S-1-5-21-2445566778-2513070483-412345678-22222" name="primedocs - Test" /> </datasources>

Beispiel mit Entra ID:

Ähnliches Szenario, aber allowedForTenant muss angegeben sein und die Gruppen IDs entsprechen den Object Ids aus dem Entra Id.

<datasources> <add id="26735c39-3d6e-44c6-b701-f5ab6cc429fd" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Prod;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" allowedForTenant="c86d1b74-6646-4efa-b2ce-60f4e21bf740" allowedForGroups="*" name="primedocs - Prod" /> <add id="9ce36252-0e25-4f40-a760-cd70dcfe124a" dbConnectionString="Data Source=your-sql-server.yourcorp.local;Initial Catalog=primedocs_Test;User ID=primedocsuser;Password=password_here;MultipleActiveResultSets=True;Encrypt=False" allowedForTenant="c86d1b74-6646-4efa-b2ce-60f4e21bf740" allowedForGroups="c1d880da-2e18-4e7e-b764-2346653a4a2e,970d75da-a393-4ad4-a19c-2ce14793bace" name="primedocs - Test" /> </datasources>

Für diese Konfiguration muss in der https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/143032405 der groups-Claim zusätzlich konfiguriert werden:

 

image-20240514-202839.png

Data Protection

primedocs unterstützt mehrere Optionen zur Ablage und Sicherung der ASP.NET Core Data-Protection-Keys. Diese werden über die primedocs.config gesteuert:

Parameter

Beschreibung

Parameter

Beschreibung

aspNetCoreDataProtectionDirectory

Verzeichnis, in dem die Data-Protection-Keys abgelegt werden. Standard: Verzeichnis der primedocs.config.

aspNetCoreDataProtectionDirectoryUseDPAPI

Aktiviert den Schutz der Keys mit DPAPI (Windows Data Protection API). Nur sinnvoll, wenn Keys im Filesystem liegen.

aspNetCoreDataProtectionAzureBlobStorage

URI zu einem Azure Blob Storage Container, in dem die Keys gespeichert werden.

aspNetCoreDataProtectionAzureBlobStorageFromEnvironment

Erwartet den Azure Blob Storage URI über eine Umgebungsvariable (PRIMEDOCS_CONFIG).

aspNetCoreDataProtectionAzureKeyVaultUri

Optional: URI zu einem Azure KeyVault. Falls gesetzt, werden die Keys zusätzlich im KeyVault geschützt.

Hinweis:

  • Es darf immer nur genau eine Speicheroption konfiguriert werden:

    • aspNetCoreDataProtectionDirectory (Dateisystem),

    • oder aspNetCoreDataProtectionAzureBlobStorage (Blob Storage),

    • oder aspNetCoreDataProtectionAzureBlobStorageFromEnvironment (Blob Storage über Umgebungsvariable).

  • Falls kein spezieller Speicher konfiguriert ist, werden die Keys standardmäßig im gleichen Verzeichnis wie die primedocs.config abgelegt.

  • Empfohlen für On-Premise: Dateisystem mit DPAPI.

  • Empfohlen für Cloud: Azure Blob Storage + KeyVault.

 


Signierungs-Zertifikat

Das in der primedocs.config angegebene cert.pfx dient der Signierung der Authentifizierungstokens und hat keinen Bezug zu TLS/SSL Zertifikaten.

Standardmäßig wird während der Installation ein cert.pfx erzeugt. Damit Tokens nach einer Neuinstallation gültig bleiben, muss dieses Zertifikat erhalten oder über den Zertifikat-Store geladen werden.

Unterstützte Konfigurationsparameter in der primedocs.config:

Parameter

Beschreibung

Parameter

Beschreibung

signingCertFilePath

Relativer oder absoluter Pfad zur Zertifikatsdatei (.pfx). Relativ: bezogen auf primedocs.config.

signingCertPassword

Passwort zum Entschlüsseln der .pfx-Datei.

signingCertThumbprint

Thumbprint eines im Windows Zertifikat-Store (LocalMachine\My) installierten Zertifikats.

signingCertSubject

Alternativ zum Thumbprint: Laden des Zertifikats anhand des Subject-Namens.

Hinweis:

Es wird immer nur eine Option benötigt:

  • Thumbprint → lädt Zertifikat aus dem Windows-Zertifikat-Store

  • Subject → alternative Suche im Zertifikat-Store

  • FilePath + Password → lädt .pfx-Datei von Dateisystem

 

Grundsätzlich wird hierbei das Zertifikat mit diesen Parametern generiert:

function randomString([int]$length) { $characters = "abcdefghiklmnoprstuvwxyzABCDEFGHKLMNOPRSTUVWXYZ0123456789".ToCharArray() For ($loop = 1; $loop -le $length; $loop++) { $randomString += ($characters | Get-Random) } return $randomString } $certPath = "C:\Temp\cert.pfx" $certificatePassword = randomString(12) $certificatePasswordSecureString = ConvertTo-SecureString -String $certificatePassword -Force -AsPlainText $certificateDefaultName = "PrimeDocsIdSCert" $HT = @{ Subject="CN=$certificateDefaultName"; KeyLength = 2048; HashAlgorithm = 'SHA256'; KeyUsage = 'DigitalSignature'; KeyExportPolicy = 'Exportable'; KeySpec = 'Signature'; NotAfter = (Get-Date).AddYears(10) ; TextExtension = '2.5.29.37={text}1.3.6.1.5.5.7.3.3'; CertStoreLocation='cert:\localmachine\my'; } $certificate = New-SelfSignedCertificate @HT $certificatePath = 'cert:\localMachine\my\' + $certificate.thumbprint Export-PfxCertificate -cert $certificatePath -FilePath $certPath -Password $certificatePasswordSecureString Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -match $certificateDefaultName } | Remove-Item Write-Host "Created certificate file with password '$certificatePassword' created as $certPath"

Logging

primedocs nutzt NLog für das Logging. Standardmässig loggen alle Server-Applikationen in den Installationsordner und erzeugen eine serverApp.oolog Datei (bis maximal 7 Stück, pro Tag eine).

Es ist ebenfalls möglich in die “Operation-Datenbank” (operationDbConnectionString) zu loggen. Hierfür benötigt diese Einstellung:

<primedocs operationDbConnectionString="..." databaseLoggingEnabled="true"> ...

Warnungen und Fehler werden danach in die Datenbank geschrieben.

Achtung: Dies funktioniert nur, wenn die NLog.config Dateien nicht manipuliert wurden.

Grundsätzlich ist es aber kein Problem, wenn man die NLog.config Datei auf seine eigenen Bedürfnisse anpasst.


Admin API

Über die https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/194052107 können Drittsysteme auf die APIs von primedocs zugreifen. Hierfür ist eine folgende Registrierung in der primedocs.config notwendig:

<primedocs> ... <clients> <add id="[GUID]" oidcClientId="CustomApiClient" oidcClientSecret="CustomClient_Secret_123" userAuthType="FromConfigAdminApi" /> </clients> ... </primedocs>

Connect API

Über die https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/312901645 können Drittsysteme serverseitig die Dokumentgenerierung von primedocs nutzen. Hierfür ist eine folgende Registrierung in der primedocs.config notwendig:

<primedocs> ... <clients> <add id="[GUID]" oidcClientId="CustomConnectClient" oidcClientSecret="CustomClient_Secret_123" userAuthType="FromConfigConnectApi" /> </clients> ... </primedocs>

Teams / Office / Outlook Integration

Die Integration in Teams sowie die Unterstützung der neuen Office.js-basierten AddIns in Office (Word/PowerPoint/Excel) sowie Outlook muss über die primedocs.config aktiviert werden.

Als id kann jede beliebige GUID verwendet werden.

<primedocs> ... <teams id="[GUID]" namePrefix="" /> <officeAddin id="[GUID]" namePrefix="" /> <outlookAddin id="[GUID]" namePrefix="" /> </primedocs>

Der namePrefix kann genutzt werden, wenn es mehrere Umgebungen gibt. Die AddIns sind dann in der Form {namePrefix} primedocs benannt.

Im Anschluss kann das Manifest für das Deployment über diese URLs bezogen werden:

Produkt

Manifest URL

Installationsanleitung

Produkt

Manifest URL

Installationsanleitung

Teams

https://your-url.local/app/api/manifest/teams

https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/461111298

Office

https://your-url.local/app/api/manifest/officeaddin

https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/461307922

Outlook

https://your-url.local/app/api/manifest/outlookaddin

https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/461209608

Das Manifest kann dann über die Teams bzw. Office Administration verteilt werden.


primedocs AI (Preview)

Für die primedocs AI muss folgende Konfiguration in der primedocs.config hinterlegt werden:

<primedocs> ... <openAi endpoint="https://....openai.azure.com/" key="..." modelDeploymentName="..." /> </primedocs>

Zusätzlich können im DataSourceAdminApp vordefinierte Prompts hinterlegt werden:

<Prompts> <Prompt title="Translate to EN" icon="fi-gb" >Translate this given text to English</Prompt> <Prompt title="Translate to FR" icon="fi-fr">Translate this given text to French</Prompt> ... </Prompts>

 

PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland