Widget can have different colors, borders, fonts.>>
Widget can have different colors, borders, fonts. Same goes for dashboard (Tab). It shouldn't be hard to employ our cool css editor (used mostly in SPA application now) to change widget and dashboard styles.
It is hard to distinguish between color scheme re>>
It is hard to distinguish between color scheme resources just by their names. Imagine we will have dozens and even thousands of them. When ColorScheme resource is added we can generate an image that shows its primary and secondary colors. We can create a small image as a pie chart and larger images like a colorschemedesigner preview square that shows all primary and secondary colors.
Implementation details:
ColorScheme class must implement ResourceImage interface
create a GenColorSchemeImageServlet that generates png (or jpeg) images for a given ColorScheme resource URI. This servlet should then issue PUT to upload generated images to the ColorScheme resource and after that set its originalImage, mediumImage, etc. properties.
add NotificationPhase handler that will submit GenColorSchemeImageServlet as a delayed job.