View Issue Details

IDProjectCategoryView StatusLast Update
0003359Composrcore_themeingpublic2019-06-28 20:01
ReporterChris GrahamAssigned ToSalman 
Status assignedResolutionopen 
Product Version 
Fixed in Version 
Summary0003359: Extended theme options
The v11 development tree already includes theme options, which is the ability for themes to define an extended set of options, overriding options definable in the global configuration.
The plan is to extend this with additional options.
The overall strategy is to obviate the need for the vast majority of users to override their CSS, making it easier to maintain their site look & feel across Composr versions.
The philosophy is that users are more concerned about (a) pretty (b) their ability to maintain (c) some amount of customisation -- than getting something perfectly custom. Users won't likely directly state this, but I'm pretty sure ultimately will be preferred by them. We're not restricting full customisation, just giving them the option to do things an easier way (for them to start easier, at least). It's worth also noting that web design is getting harder, with frontend CSS programming being a full career in its own right, alongside frontend JavaScript programming.
Secondarily, there is a desire to make themeing easier through these options, for those who still want to make and publish themes.

Implement the following options...
1) Enable/disable curved borders (disabled by default, as we want to have flat design by default in v11)
2) Enable/disable text shadows (")
3) Enable/disable box shadows (")
4) Enable/disable gradients (")
5) Change default font (including from Google Fonts)
6) Change default base text size (we want to raise our default a bit, because icon size is going to increase too due to 0002966)
7) Main background (set it to a repeating theme image / stretched theme image / default colour)
8) Box background (")
9) Make default menu sticky with scrolling
10) Enable/disable no-panel layout (wide=1 URL option)
11) Enable/disable no-header/no-footer layout option (wide_high=1 URL option)
12) Enable/disable mobile mode
13) Enable/disable borders
14) Move banner to the bottom
15) Turn off header bar background colour
16) Enable/Disable inline editing links
17) Enable/Disable contextual editor dropdown in footer
18) Enable/Disable copyright in footer

Also add the ability for themes to formally state what their capabilities are. These capabilities would be set as theme options, and automatically added to the theme description when exporting a theme.
The objective here is to reduce the amount of consideration themers need to put in when making their theme.

Implement the following options for theme capability stating...
1) Whether the theme works on administrative zones (if not, it would not be shown for selection when editing an administrative zone)
2) Whether arbitrary block layouts are supported (if not, and the theme is selected within the Setup Wizard, block selection would be skipped, see 0003354 for our simplification regarding layout)
3) Supports Theme Wizard (if not, the Theme Wizard could not be run on this theme; if the theme is selected within the Setup Wizard, colour selection would be skipped)
4) Whether screen reader support is supported
5) Whether e-mail layout is supported (if not then the default theme will be used for sending out e-mails)
6) Whether print layout is supported (if not the print buttons will be removed from any blocks)
7) List of addons required to be installed (if the theme is selected within the Setup Wizard, listed addons would be greyed out as on; plus warnings given in addon management)
8) List of addons required to not be installed (if the theme is selected within the Setup Wizard, listed addons would be greyed out as off; plus warnings given in addon management)
9) List of install profiles designed for (this would limit what themes are available for selection within the Theme Wizard)
10) Supported language (advisory only, if e.g. there's hard-coded English in the theme, or if the layout is assumptive about the length of particular language strings)
11) The version of Composr the theme was originally made from (have a proper version selection widget, so that we know the syntax will be correct).
12) Whether inline editing is supported
13) Whether infinite scrolling is supported

1) Make sure CSP is a theme option, so a theme can override it as off
TagsRoadmap: v11
Attach Tags
Time estimation (hours)16
Sponsorship open


related to 0000318 resolvedChris Graham Transfer theme options (like fixed-width) to theme.ini 
parent of 0003003 resolvedChris Graham Integrate font libraries 
related to 0003206 closedSalman Next generation theme (on hold) 
child of 0003362 assignedChris Graham Themeing improvements in v11 (idea staging issue) 


Chris Graham

2019-02-22 16:41

administrator   ~0005923

Salman, I am assigning to you. There's a lot here, don't consider it a monolith - you can chip away at it. I'm aware it may conflict with some of what you have been doing, so you can consider it with your discretion and we can always discuss it.

Issue History

Date Modified Username Field Change
2017-11-20 00:11 Chris Graham New Issue
2017-11-20 00:16 Chris Graham Relationship added child of 0003362
2017-11-20 13:31 Chris Graham Relationship added related to 0000318
2017-11-26 00:43 Chris Graham Description Updated View Revisions
2018-01-08 15:32 Chris Graham Description Updated View Revisions
2018-01-10 02:32 Chris Graham Description Updated View Revisions
2018-02-07 21:09 Chris Graham Relationship added parent of 0003003
2018-03-04 23:35 Chris Graham Description Updated View Revisions
2018-03-04 23:37 Chris Graham Description Updated View Revisions
2018-04-07 00:22 Chris Graham Description Updated View Revisions
2019-02-22 16:41 Chris Graham Assigned To => Salman
2019-02-22 16:41 Chris Graham Status non-assigned => assigned
2019-02-22 16:41 Chris Graham Note Added: 0005923
2019-06-27 19:01 Chris Graham Tag Attached: Roadmap: v11
2019-06-28 20:01 Chris Graham Relationship added related to 0003206