Find a Permanent Home for the Attribute Service #77505
Labels
Feature:Dashboard
Dashboard related features
impact:low
Addressing this issue will have a low level of impact on the quality/strength of our product.
loe:small
Small Level of Effort
What is the Attribute Service?
The Attribute service is part of the 'Dashboard First' project. it is an additional layer of abstraction on top of saved objects that provides utilities that embeddables can use to more easily work with input that could be either 'by reference' or 'by value'. The AttributeService also contains a default implementation of the
ReferenceOrValueEmbeddable
interface which is used to determine if an embeddable supports both types of input, and used to move between both types.Where has it been and why?
The attribute service was originally built as part of the embeddables plugin. The benefits of keeping it there was that every plugin that needed to use 'by reference' or 'by value' embeddables was already dependent on the embeddable plugin.
In #74302, the attribute service was moved into the dashboard plugin because the attribute service uses
savedObjectClient
, and there is a drive to avoid coupling saved objects and embeddables.Options for homes
(in order of most hacky to least hacky)
customSaveMethod
, and would make it instead required instead of optional. This would result in a slightly worse developer experience for using the attribute service, because each implementation would have to supply its own savedObject interaction logic, but would also make the attribute service substantially simpler.embeddable_by_value
The text was updated successfully, but these errors were encountered: