Skip to content
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

[ocis] Theme pre-processing and automatic injection of new theme options #8966

Closed
13 tasks
fschade opened this issue Apr 25, 2024 · 0 comments · Fixed by #9133
Closed
13 tasks

[ocis] Theme pre-processing and automatic injection of new theme options #8966

fschade opened this issue Apr 25, 2024 · 0 comments · Fixed by #9133
Assignees
Labels
Type:Story User Story

Comments

@fschade
Copy link
Contributor

fschade commented Apr 25, 2024

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, we're suggesting an automatic injection of new properties/options into the user's theme.json file, ensuring a smooth merging of default and custom themes.

a first pr for that is merged already, the downside it lacks of the above described automation and would lead to outdated themes.

for reference:

User Stories

  • As a user of OCIS, I want new customization options to be seamlessly integrated into my theme.json file,
    so that I can enjoy enhanced features without compromising my existing theme.

Value

  • as a user with a custom theme, I expect my theme.json file to incorporate both my current customizations and any newly introduced options.
  • as a user (admin) with a custom theme, i want to have an up to date theme after an upgrade, even if i do not touch my current theme manually.

Acceptance Criteria

  • new customization options are automatically injected into the user's theme.json file.
  • If the user's theme.json file already contains valid values for the new options, the injected defaults are omitted.
  • the theme.json (default) should be located inside ocis, is embedded into the binary and will be merged automatically with the custom them (merged_theme < default_theme < custom_theme).
  • the logo upload continues to work without replicating the whole theme.
  • all referenced assets (such as icons) are also located inside ocis and will be delivered via a static http endpoint.
  • all assets (theme, icons, e.g.) are unprotected, no authentication is needed, the user has to know that and should not put any private data in there

Definition of ready

  • Everybody needs to understand the value written in the user story
  • Acceptance criteria have to be defined
  • All dependencies of the user story need to be identified
  • Feature should be seen from an end user perspective
  • Story has to be estimated
  • Story points need to be less than 20

Definition of done

  • Functional requirements
    • Functionality described in the user story works
    • Acceptance criteria are fulfilled
  • Quality
    • Code review happened
    • CI is green (that includes new and existing automated tests)
    • Critical code received unit tests by the developer
  • Non-functional requirements
    • No sonar cloud issues
  • Configuration changes
    • The next branch of the ocis charts is compatible
@fschade fschade added the Type:Story User Story label Apr 25, 2024
@micbar micbar changed the title Theme pre-processing and automatic injection of new theme options [ocis] Theme pre-processing and automatic injection of new theme options May 3, 2024
@fschade fschade self-assigned this May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type:Story User Story
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant