Frage:
Wie kann ich einen URL Integrations Link automatisch erstellen, also nicht manuell über den URL Creator?
Antwort:
Ab der Version DocuWare 6.7 ist es möglich, analog zu den GAPI-Objekten und -Methoden, entsprechende URL Integrations Links für den Platform-basierten Web Client zu erzeugen.
Hierzu muss als Ausgangspunkt über das DocuWare Setup das Paket "PowerTools" installiert werden. Dieses bringt einerseits den URL Creator mit. Andererseits findet sich im Installationsverzeichnis die Datei "DocuWare.WebIntegration.dll".
Wird diese in einem .NET Projekt referenziert und über die Zeile "using DocuWare.WebIntegration;" der entsprechende Namespace geladen, können anhand folgender CodeSamples URL Integrations Links erstellt werden:
//Prepare DWIntegrationURL
DWIntegrationInfo integrationInfo = new DWIntegrationInfo("http://presentationvm/DocuWare/Platform/WebClient", 1, false);
integrationInfo.Scheme = "http";
integrationInfo.OrganizationId = "1";
//Example 1: Generate URL plain text
DWIntegrationUrl plaintextURL = new DWIntegrationUrl(integrationInfo, IntegrationType.Viewer);
plaintextURL.Parameters.FileCabinetGuid = new Guid("366f6b7f-af2b-47ac-8ee7-01dbb2211576");
//plaintextURL.Parameters.DocId = "837";
plaintextURL.Parameters.Query = "[COMPANY] = \"Peters Engineering\" AND [DOCTYPE] = \"Invoice in\"";
plaintextURL.Parameters.UserCredentials = new UserCredentials("admin", "admin");
Console.WriteLine("Plain text URL:");
Console.WriteLine(plaintextURL.Url.ToString());
//Example 2: Generate encrypted URL
DWIntegrationUrlEncrypted encryptedURL = new DWIntegrationUrlEncrypted(integrationInfo, IntegrationType.Viewer, "123MyPassphrase!");
encryptedURL.Parameters.FileCabinetGuid = new Guid("366f6b7f-af2b-47ac-8ee7-01dbb2211576");
encryptedURL.Parameters.DocId = "1";
encryptedURL.Parameters.UserCredentials = new UserCredentials("admin", "admin");
Console.WriteLine("Encrypted URL:");
Console.WriteLine(encryptedURL.Url.ToString());
//Example 3: Generate Login URL
DWWebUrlLoginParameters loginParams = new DWWebUrlLoginParameters();
loginParams.UserCredentials = new UserCredentials("admin", "admin");
DWWebClientLoginUrlEncrypted loginUrl = new DWWebClientLoginUrlEncrypted(integrationInfo, loginParams, "123MyPassphrase!");
Console.WriteLine("Login URL:");
Console.WriteLine(loginUrl.Url.ToString());
Console.ReadLine();