Clearly, this is not supported as a built-in attribute type by any existing CMS. The interface and logic around it will have to be built as a custom attribute type.
As we discussed earlier, an attribute is actually a container of several things. For this particular situation, we’d likely need to develop several different units of code:
- The custom editorial element, which would be a combination of HTML, CSS, and JavaScript; the HTML need to be somehow rendered as part of the larger editorial interface, while the custom JavaScript and CSS will usually need to be loaded as external resources
- The custom validation rules
- The custom logical value type
- Serialization code to convert the value type into and out of a primitive value which can be stored (it would likely be stored as structured text: XML or JSON)
- Custom indexing code, to get the alternate value into the search index