You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My currently favored suggestion has a shared common section, providing general info for the oCIS instance which can (and should) be used by all clients, thereby also limiting redundancy of e.g. name/slogan. It then accepts any number of themes for each client (android|ios|desktop|web) as array items, where the structure and then validating/typing/loading becomes responsibility of the respective client, since their needs vary. I've left an example web theme in there, for reference.
@pascalwengerter what do you think about a common-section per client? E.g. loginPage or appBanner is always the same for all themes, so it would be nice to deduplicate those into web.common. Another approach could be to have web.defaults as object and web.themes as array, both with the same data structure, but the active theme would overwrite anything in web.defaults. In other words: define as much as possible in web.defaults and then overwrite only what's necessary in the respective theme. If 3 out of 4 themes use the same logo file, it could be defined in web.defaults.logo and then only the 1 theme that needs a different one defines it as well... requires some object merging at runtime, but that should be a no brainer if the interface is the same.
Description
User Stories
What's currently available on https://github.com/owncloud/web/blob/master/packages/web-runtime/themes/owncloud/theme.json has historically grown, and with dropped support for oC10 and a breaking change incoming, we have a chance to streamline the structure and logic behind themes.
My currently favored suggestion has a shared
common
section, providing general info for the oCIS instance which can (and should) be used by all clients, thereby also limiting redundancy of e.g. name/slogan. It then accepts any number of themes for each client (android|ios|desktop|web
) as array items, where the structure and then validating/typing/loading becomes responsibility of the respective client, since their needs vary. I've left an exampleweb
theme in there, for reference.Here is an example:
The text was updated successfully, but these errors were encountered: