Best practices when creating a custom metadata binding handler
You can define and create custom metadata binding handler in order to bind the metadata fields to the external taxonomy system. Following best practices when creating a new handler will help you avoid common customization pitfalls.
-
Pass
falseto any API 2.5 constructor - Make sure to pass one parameter, set to
false, to any API 2.5 constructors you use in your plugin. Without this parameter included and set tofalse, you get a security error. This parameter,initializeCallContext, when set tofalse, causes the call context to be reused, effectively keeping your code within the same process. -
Use
ResolveIdsto resolve ids into labels - Try to resolve the tags as quickly as possible to provide better user experience.
-
Use
RetrieveTagsto provide the tags for auto-suggest mode -
Since auto-suggest shows a limited number of tags, don't go over the value of
MaxTagsToReturnto avoid passing too much data over the wire. -
Use
RetrieveTagStructureto provide tags and relations for tree mode - Since the entire tree is passed at once and rendered in UI, try and limit the number of tags returned within the tree to avoid passing too much data over the wire and causing a poor UI performance.
-
Use
FieldsFilterto limit the number of tags to be returned -
Always use
FieldsFiltervalue to limit the result set, to avoid passing too much data over the wire and causing a poor UI performance. - Avoid circular references in the tree
- There is no limitation on the API level against passing circular references, but the UI will not allow you to expand the circular reference to avoid performance issues.
- Take full responsibility for building the tree
- UI controls show the tree exactly the way it is created in the handler.
-
Use lowercase
<em>tags -
Use lowercase
<em>tags in the annotated label to highlight the part of the label that is matchingFieldsFilter.