We have an application for automating the creation of projects and uploading to GroupShare (2015), and part of this involves referencing server-based termbases.
The project analysis is then run, at which point I find the following is recorded in the log file:
Could not connect to provider:sdltb.https:// [URI for server-side termbase] . Exception: Sdl.Terminology.TerminologyProvider.Core.Exceptions.InvalidCredentialsException: Invalid Login Details
at Sdl.MultiTerm.Client.TerminologyProvider.TerminologyPrioviders.AbstractMultiTermTerminologyProvider..ctor(Uri url, TerminologyProviderCredential credential)
at Sdl.MultiTerm.Client.TerminologyProvider.TerminologyPrioviders.MultiTermTerminologyProviderFactory.CreateTerminologyProvider(Uri terminologyProviderUri, ITerminologyProviderCredentialStore cs)
at Sdl.Terminology.TerminologyProvider.Core.TerminologyProviderManager.GetTerminologyProvider(Uri uri)
at Sdl.ProjectApi.Translation.Terminology.TermbaseProvider.GetTerminologyProviders(IProjectConfiguration project)
Sometimes this occurs several times (maybe 5 or 6) per project when only one termbase is referenced, and for other projects it happens only once or twice.
However, when creating another project (which had two termbases) the log file recorded one termbase as being inaccessible:
Sdl.ProjectApi.Translation.Terminology.TermbaseProvider| - Could not connect to provider:sdltb.https:// [URI for server-side termbase]. Exception: Sdl.Terminology.TerminologyProvider.Core.Exceptions.InvalidCredentialsException: Invalid Login Details
And yet for the second termbase...
Sdl.MultiTerm.Client.TerminologyProvider.MultiTermTermbase| - Connected to [termbase name] as user 43
Who is user 43?
Both these termbases were created at the same time (by me) and both have the same list of users and their roles assigned.
Previous to the analysis being run the user's credentials are added using
project.Credentials.AddCredential(uri, $"user=...;password=...;type=...");
The user added via these credentials does have access to the termbase. Also, when the GroupShare-based project is opened in Trados then the termbases appear correctly referenced and are searchable. But I wonder whether the creation-time analysis is run outwith the scope of these credentials? Is it possible to declare a user for the scope of the analysis?
Or is something else causing the above problem?
Furthermore, can someone explain why the termbases are being searched during the analysis? I can understand why a TM would be searched, but why the termbase? In the log files for some projects I see only a few records which look like
Sdl.MultiTerm.Client.TerminologySearch.MultitermSearch| - Starting a new term find for "[term elided]"
And yet in other projects there are literally hundreds (if not thousands) of such entries. And it doesn't seem to correspond to the volume of words in the source files.
So...
- Why can users connect to some termbases and not others, apparently using a different user account?
- Why are the termbases being searched during file analysis?
- Why are some termbases being searched hundreds of times and others only 2 or 3 times?