Studio 2019 Termbase Provider not working

  1. Create a blank “SDL Terminology Provider” project using the SDL template “SDL Terminology Provider (2019)” in Visual Studio 2017.  I named it “SDL Terminology Provider2”.
  2. I made sure the “Sdl.Core.PluginFramework” and “Sdl.Core.PluginFramework.Build” NuGet packages were included in our provider project. 
  3. I added the bare minimum code to make it work... then compiled it and put it in the Plugins folder of Trados 2019.
  4. I created a new Trados project (ja -> en), added a test file to it... then saved and closed it
  5. Re-opened the project and added the plugin via the project settings -> Termbases
  6. Close Trados, re-open it. Then open project settings, or open the editor and you get the following error:

Once it is in this state you will get this error whether you actually load the plugin or not. The error itself doesn’t come from any of my code, nor is it possible to work around as far as I can tell. And since it still errors whether the plugin is present or not I’m inclined to think it’s something out of my control.

Please advise

2 Replies Latest Replies: 5 Nov 2018 10:28 PM by Paul
  • Hi

    Did you try referring to this project to see whether it helps?

    github.com/.../Sdl.Community.ExcelTerminology
  • In reply to Paul:

    I did look through the ExcelTerminology provider as you recommended to see if there were any differences in the implementation. Unfortunately there were no real differences in how the terminology provider was implemented.

    I did however stumble on to the solution in the course of my investigation. Apparently SDL no longer supports certain URIs in 2019. The term provider I had originally built was for 2017 and works great, however at that time I used a URL as my URI for my term provider, e.g. https://mywebsite.com/etc ... (which is of course a valid URI). On updating to 2019 I started receiving the error in the screenshot, which tells you absolutely nothing. I spent days literally swapping out pieces of my plugin and changing how I implemented the interfaces trying to get it to work to no avail.

    Well, it turns out that my issue in 2019 was nothing more than the terminology provider URI I had chosen. Changing the scheme (https://) to literally anything else fixes the issue. Apparently that URI scheme is not allowed anymore. The sad part is that there was nothing in the error message that would have led me that direction, in fact quite the opposite. Based on the “Not implemented exception” it seemed like there was perhaps some new methods in the terminology provider base class, or interfaces that had changed. So that led me down the wrong path. After everything, my plugin works with a different provider URI, and no changes to my implementation of the AbstractTerminologyProvider.

    If anyone needs to reproduce this issue it’s quite easy to do. You can use the ExcelTerminology provider from the link above and simply change the Uri scheme to https and it will break after you’ve selected the plugin, and re-opened termbase settings, or done another action that tries to initialize the termbase.

    Hopefully that will help if anyone else runs into this.

    Thanks

Related