I will start off by describing the use case:
Now that I have described the problem, I will proceed to give more information about what I think is happening at a code level:
To update the TermbaseConfiguration you first start with a Sdl.ProjectAutomation.FileBased.FileBasedProject and call the GetTermbaseConfiguration() function to get the Sdl.ProjectAutomation.Core.TermbaseConfiguration object. To update that you will then call the project.UpdateTermbaseConfiguration(termbaseConfiguration) function. Then you need to call the project.Save() to apply the changes.
If we look at the Sdl.ProjectAutomation.Core.Termbase and the Sdl.ProjectAutomation.Core.LocalTermbase classes, we can see there are properties for the FilePath, FilterName, and the Enabled properties, but there is no property or constructor to control the <Name> or "Friendly" name (as it is called in MultiTerm). What appears to be happening when the project Configuration gets updated, the SDK is setting the <Name> element to be whatever the name of the .sdltb file is. It is not setting the <Name> element to what the actual "Friendly" name is of the Termbase. When those two values are not the same, Trados cannot find the configured termbase. If this is the case for at least one of the configured termbases, then all termbase recognition is disabled until a user manually configures the termbases.
So my question is this: Can we expose more functionality on either the Termbase or LocalTermbase objects to have more control of the friendly name? Or can SDL do another Cumulative Update that given a FilePath to a termbase, it will set the <Name> element consistent with how it is doing it via the Project Settings UI?
I would prefer the latter.
This issue of term recognition being disabled because it cannot find the termbases after using a Project Settings plugin can also happen if the user creates a termbase in MultiTerm and the Friendly name does not equal the name of the ".sdltb" file name; so this problem is not just limited to termbases that come from World Server.