-
Notifications
You must be signed in to change notification settings - Fork 189
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
enhancement: introduce theme processing #9133
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
Please consider adding a documentation in the web servcie readme.md |
1585b92
to
874f2d4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nitpicks, thumbs up for the rest.
Co-authored-by: Michael Barz <[email protected]>
Co-authored-by: Martin <[email protected]>
…ide the oCis repo (license clash Apache vs. AGPLv3)
Co-authored-by: Michael Barz <[email protected]>
Quality Gate passedIssues Measures |
@individual-it, @saw-jan, the following test is flaky: https://drone.owncloud.com/owncloud/ocis/35485/33/6 RED |
* enhancement: introduce theme processing * enhancement: introduce theme processing * enhancement: add theme processing tests and changelog * Update services/web/pkg/config/config.go Co-authored-by: Michael Barz <[email protected]> * fix: ci findings * Apply suggestions from code review Co-authored-by: Martin <[email protected]> * enhancement: use the theme assets from web instead of having them inside the oCis repo (license clash Apache vs. AGPLv3) * fix: golangci tagalign order * fix: rename UnifiedRoleUploader to UnifiedRoleEditorLite * fix: some typos Co-authored-by: Michael Barz <[email protected]> * enhancement: export supported theme logo upload filetypes * chore: bump reva * fix: allow init func --------- Co-authored-by: Michael Barz <[email protected]> Co-authored-by: Martin <[email protected]>
Probably due to a race-condition. we have an open issue for this and trying to figure out the proper way to make it solid |
Description
we've set up a flexible configuration system with the theme.json file, benefiting not just web clients but also those on mobile and desktop platforms.
when new customization options come into play, it can be tough for users who've already personalized their themes, possibly messing up the experience.
this challenge also affects developers and administrators, who then need to communicate extensively to introduce new theme properties.
to tackle this, i suggest an automatic injection of new properties/options into the user's theme.json file, ensuring a smooth merging of default and custom themes.
Basically thats exactly what this pr does, the themes get proccessed in the following order:
themeDefaults < baseTheme < brandingTheme
which results in the final theme.json.
One of the benefits having it that way, is the ability to set specific json key values for the brandingTheme only, for example after a logo update.
we've decided to make it NOT backward compatible, the breaking change is that the user has to re-upload the custom logo, thats it. The previous approach copied the whole theme.json, therefore it contained ALL key value combinations which makes a backward comp fix nearly impossible and is not in relation to the required work.
Related Issue
How Has This Been Tested?
Types of changes
Checklist: