"Invalid login details" while running automated project analysis

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...

  1. Why can users connect to some termbases and not others, apparently using a different user account?
  2. Why are the termbases being searched during file analysis?
  3. Why are some termbases being searched hundreds of times and others only 2 or 3 times?
  • Hi Andrew,
    I think I can help with 2. When Match Repair is on, during analysis, Studio tries to establish whether known terms can be used in match repairs. If so, the new metrics in the Analysis report will be filled. This is one of the things we changed in CU7 beta, where during batch processing, match repair is now off by default, so you will not see that behaviour anymore (only when you switch it back on). In future, we need to provide more flexibility here, both at UI and API level, to be able to decide if termbases should be used or not during match repair.
    (And I don't have any good answers for 1) and 3)...)
    Hope that makes sense, Daniel