-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for non-SDK annotators in config #55
Comments
@tsconn23 Not sure why we need to have the 'extended' annotator keys in the config, is it to add support for runtime config of these annotators or is there another reason ? |
It wouldn't be runtime support b/c if you change the config after the app is running, the change isn't detected until a restart. The two reasons I was thinking are
|
Got it, no comments from my side then. |
I have edited the title of this issue to reflect a descoping. I am going to move the changes to support the following logic into another issue.
Externalizing new factories to allow SDK consumers to leverage hashing and signature implementations in their own annotators can be done independently of the above configuration changes. |
A use case has been articulated whereby a customer utilizing the DCF wants to define an annotator and not have it included in the SDK. This could be for a few reasons:
During the Alvarium TSC call os 25-Mar-2024, an approach was demonstrated whereby the sdk/annotators portion of the config was separated into two arrays --
basic
andextended
.basic
is an array containing keys to annotators implemented in the SDKextended
allows a developer to define an array of keys for custom annotatorsbasic
would facilitate the current method of looping through the annotator keys and instantiating each one at application startup through the normal factory pattern.extended
could be used in a similar fashion if the developer needs to instantiate multiple custom annotators. Alternatively, if there is only one custom annotator, the developer could ignore this property and inline the instantiation. For example:An example of the new config definition in JSON follows:
In addition, standardized functionality provided by the SDK to support hashing and signing needs to be exported somehow for developers writing custom annotators. It's possible this could be done by adding respective support in our factories.
The text was updated successfully, but these errors were encountered: