Goal
I'm looking to build a mechanism to allow system administrators to easily configure various components of a Visualforce page that is used in a site (without having to modify code). I would like to enable them to configure the:
- Button labels
- Text that will appear on the page (rich text)
- Banner and logo images
- Field set that will appear on the page
- Page background color (in hex format)
- Hyperlink URL for a button
It seems to me that either a custom metadata type, or a Visualforce tab, or a Lightning App Page + LWC would be best for this purpose.
Question
What would be the best way to enable admins to easily configure various components of a Visualforce page (such as the ones listed above) without having to modify its code?
Is it possible to restrict the number of records that can be created for a custom metadata type to one? There is no need for more than one metadata record in this case.
There is no Rich Text field type for custom metadata. How then could I give admins the ability to specify rich text for the Visualforce page if I use a custom metadata type?
Would building a Visualforce tab or a Lightning app page + a LWC for this purpose require significantly more effort than simply setting up a custom metadata type?
Thanks