I've built a custom terminology provider. The terms in the termbase have additional fields, such as gender, plurality, etc., which I have declared as instances of IEntryField on the EntryTerm object.
But where can I expect to see these fields?
And importantly, how can I present a term as being forbidden for us - i.e., indicate that a term should not be used?
The hitlist settings offer a preview showing the field values adjacent to the term's text...
...but my field values don't appear in the Term Recognition or Termbase Search panels...
Here is the object which is being displayed, showing that it's Fields property is populated...
What more do I need to do to have these fields presented in the UI?
Hello Andrew Jameson ,
You can look as a reference on how to display the entry fields in the IATE Terminology application found as open source app on the Github https://github.com/sdl/Sdl-Community/tree/master/IATETerminologyProvider, in IATETerminologyProvider.cs class . I managed to display the entry fields by setting them up in the following places (all the below methods are defined in the IATETerminologyProvider.cs class):
1. When creating the entry terms for the search result
2. When setting the entry languages for the entry terms
3. When creating the entry terms for the entry languages
The method which generates the glossary descriptive fields based on the needed values looks like: (the method can be found in the same IATETerminologyProvider.cs class)
The descriptive fields which are shown in the Term Search/Term Recogniton grids and can be displayed using the Hitlist Settings option are defined as follows:
(the method can be found in the same IATETerminologyProvider.cs class)
For more references you can also check the documentation http://producthelp.sdl.com/SDK/TerminologyProviderApi/2017/html/3a2c3997-09ac-4c63-a1ac-a5dc463997f0.htm
The provider entry fields looks like in the below print screens in IATE Terminology Provider: (you can also setup the fonts of the entry fields from the Hitlist settings)
With kind regards,
Could you please help me to find out, how can we modify/update Glossary Fields in hitlist settings runtime?.
E.x.: I have Custom Terminology Providers. Inside that we have two options.
If Option 1 selected then need to show field as First Name, Last Name in hitlist settings.
If Option 2 selected then need to show field as Middle Name in hitlist settings.
Currently its display Option 1 fields. If we select Option 2 then hitlist settings still display old values. If we restart SDL studio then only hitlist settings updated and display Option 2 fields.
Hi Harshad Prajapati ,
I have double check if the behavior you've described can be reproduced in the IATE provider, which also have 2 options in the Hitlist Settings, but it cannot, so when I do the switch from one Option to the other one, the grid is automatically refreshed and the needed information is displayed nearby the search result.
You can see exactly how the entire logic for the Hitlist Settings was implemented in the IATE app,here (the code is available on the Sdl Community Github repository and it is open source)
It seems like may be my query is not too clear or misunderstood.
I have checked IATE and it has fix field as "Definition", "Domain" and "SubDomain" in public IList<IDescriptiveField> GetDescriptiveFields() so i think no any issue.
In my case this fields are not fixed. its different. If we take example of IATE in context of my query then in once OPTION 1 selected then it should display "Definition" and "Domain" AND if OPTION 2 selected then it should display "SubDomain" only.
See snap for reference. Only when we restart then only "SubDomain" will be display in Hitlist window.
Hi Harshad Prajapati,
It all depends on how you define the descriptive field level (see below image). Did you use the GetDescriptiveFields() method to set the fields? This method is available thorough the APIs inside the Studio Terminology provider template
As you can see, the Definition and Domain can be checked independently and it will work as Option1 or Option 2 (as I described in the previews response), because both are defined at Entry level. The Subdomain is define at LanguageLevel, so if you select one of the option or all, it will be refreshed and displayed based on the selection.
Results when selecting Definition option
Results after selecting Domain option
Results after selecting Subdomain option
Hi Florentina Caputa,
I really appreciate your reply and it seems like all the mess with word "Option" in my post ;-) .
Request to see snap attached earlier in my post.
Yes, i have used GetDescriptiveFields() to set fields. For me, fields are appear properly and also display in Term Rec. window.
My query is, how can we update/refresh HITLIST window at run time? so that its not require to restart SDL studio to see desired fields in HITLIST window. See below two images.
In GetDescriptiveFields(), fileds configured properly but HITLIST Window does not refresh. Only refreshed when we restart studio.
Image 1:- below is OK and working for me
Image 2:- Its only works WHEN we restart SDL studio. Want to achieve is w/o restarting studio it should display "SubDomain" field.
Hi Harshad Prajapati ,
I did a deeper investigation regarding your problem, currently there is no method which should refresh/update the Hitlist Setting window once the fields were setup.
The fields are defined in the Hitlist Settings grid when the provider is created, and any other changes are not reflected automatically, so currently, the only option to see the changes is to restart the Studio.
Really thank full for your feedback.
So conclusion is, we dont have such public SDL API which allows refresh for HITLIST window setting and also for any other external window.
Correct me if i am wrong or request to agree/confirm.
Again thank you.
Hi Harshad Prajapati ,
Indeed, we don't have a public SDL Api which allows to refresh the Hitlist window settings at this moment.
Wish a beautiful day.