Ticket #13355 (closed PLIP: wontfix)

Opened 3 years ago

Last modified 3 years ago

Diazo Sunburst theme

Reported by: THijs Owned by: THijs
Priority: minor Milestone: 4.x
Component: Diazo (plone.app.theming) Version: 4.3
Keywords: Cc: vangheem, THijs

Description (last modified by vangheem) (diff)

Since Diazo is the new way of styling plone, we should have a Diazo Sunburst theme.

Proposer: THijs (TH-code) Seconder: Nathan Van Gheem

Motivation
Discussed in the UI Team. Diazo is the new way of deploying plone themes. Sunburst should be a diazo theme.

Implementation
I've created an initial theme in the static resources folder.  https://github.com/plone/buildout.coredev/tree/plip13355

The theme assumes an unstyled plone site (Default Theme).

Possible objection/cleanup
Currently it contains sass files compiling to style.css. This would allow for base_properties like tweaking of colors and variables (currently not yet functioning with variables). Could be removed.

Change History

comment:1 Changed 3 years ago by THijs

  • Version changed from 4.2 to 4.3
  • Type changed from Bug to PLIP

comment:2 Changed 3 years ago by THijs

  • Cc vangheem@… added

Proposer: THijs (TH-code) Seconder:

Motivation
Discussed in the UI Team. Diazo is the new way of deploying plone themes. Sunburst should be a diazo theme.

Implementation
I've created an initial theme in the static resources folder.  https://github.com/plone/buildout.coredev/tree/plip13355

The theme assumes an unstyled plone site (Default Theme).

Possible objection/cleanup
Currently it contains sass files compiling to style.css. This would allow for base_properties like tweaking of colors and variables (currently not yet functioning with variables). Could be removed.

Last edited 3 years ago by THijs (previous) (diff)

comment:3 Changed 3 years ago by THijs

  • Component changed from Unknown to Diazo (plone.app.theming)

comment:4 Changed 3 years ago by kleist

  • Status changed from new to confirmed

comment:5 Changed 3 years ago by THijs

Also created a diazo classic theme in the plip branch. So both standard plone themes are done through Diazo.

comment:6 Changed 3 years ago by vangheem

  • Description modified (diff)

comment:7 Changed 3 years ago by vangheem

  • Cc vangheem added; vangheem@… removed

comment:8 Changed 3 years ago by THijs

  • Cc THijs added

comment:9 Changed 3 years ago by THijs

I will move the themes from resources to 2.0 version of their packages (signaling their departure from skins).

comment:10 follow-up: ↓ 15 Changed 3 years ago by vangheem

I'm still trying to think of the best way for this. I think we should keep the skins and everything and just provide a very basic diazo theme.

I think the original intent of plone shipping with its theme as diazo is so it'd ship with an example of diazo working.

So in our case, perhaps we keep the skins as is, and provide a really basic theme that just replaces head and body tags.

Otherwise, we'll have to deal with migrations and people getting frustrated and I think we still need sunburst to work without diazo.

Maybe we need more opinions here though because I could be wrong.

comment:11 Changed 3 years ago by THijs

Made a start here:  https://github.com/plone/plonetheme.sunburst/tree/plip13355 Still needs some work.

comment:12 Changed 3 years ago by THijs

If the Diazo theme provides the same functionality as the non diazo one, why not switch and maybe provide upgrades. The current themes do not provide any upgrades what so ever. Even classic. It seems the philosophy is to not really provide upgrades, but maybe it has never been necessary.

Providing Sunburst as a Diazo theme would provide you with a basis to start adapting the complete plone look from with the edit interface included. (For the time being anyway.)

comment:13 Changed 3 years ago by THijs

The Sunburst Theme now functions as the base theme for a lot of other themes. We have to keep it functioning in a skins layer way for that. Then imho it would only add confusion to add it as a Diazo theme. I will start a on very basic theme that could work.

comment:14 Changed 3 years ago by THijs

I turned the three flavours of HTML5 Boilerplate into Diazo themes (several levels of difficulty). Try:  https://github.com/TH-code/plonetheme.h5bp

This led me to mocking about with bootstrap a bit more. Try out:  https://github.com/TH-code/plonetheme.bootstrap (Also try logging in :-) and editting.)

comment:15 in reply to: ↑ 10 Changed 3 years ago by spereverde

I also think we should keep the skins as is. In our setup we use a diazo theme that's based on the default sunburst theme, and I guess many people will have used the sunburst theme in their setups somehow. For now at least I'd vote to keep that as is, to avoid possible migration troubles...

Replying to vangheem:

I'm still trying to think of the best way for this. I think we should keep the skins and everything and just provide a very basic diazo theme.

I think the original intent of plone shipping with its theme as diazo is so it'd ship with an example of diazo working.

So in our case, perhaps we keep the skins as is, and provide a really basic theme that just replaces head and body tags.

Otherwise, we'll have to deal with migrations and people getting frustrated and I think we still need sunburst to work without diazo.

Maybe we need more opinions here though because I could be wrong.

Last edited 3 years ago by spereverde (previous) (diff)

comment:16 Changed 3 years ago by THijs

As discussed on the UI Team meeting, I will move the HTML5 boilerplate and default plonetheme diazo implementations to a new package. And will try if we can get clear enough documentation/description on the default plonetheme in the 4.3 branch (with theme editor) to not have the default themes be confusing to users. It should be clear that the sunburst and classic diazo themes are meant as a starting point for further theming. It should also be clear which base theme to use with which theme. (h5bp is aimed at Sunburst, while the default themes are aimed at unstyled plone).

comment:17 Changed 3 years ago by thet

i'm +1 if we make the diazo sunburst theme the default shipped theme instead of plonetheme.sunburst in Plone 5. plonetheme.sunburst should be deprecated then. i'm against shipping two flavors of sunburst, since this would let them go out of sync soon.

using the diazo sunburst theme as default sunburst implementation would still let us creating custom themes which extend sunburst by using some css resources from there.

old custom themes can still use the plonetheme.sunburst skin layer based theme, so there wouldn't be any upgrade issues (except that themes have to explicitly depend on plonetheme.sunburst, which they should do anyways).

Last edited 3 years ago by thet (previous) (diff)

comment:18 Changed 3 years ago by zupo

+1 also from me for including diazo sunburst theme in Plone 5 and deprecating plonetheme.sunburst.

comment:19 follow-up: ↓ 20 Changed 3 years ago by tvledden

+1 too, i've been using this as a tryout to make a theme, and its really nice not having to override all the default css. Just make a copy of the 'sunburst diazo' theme and start making alterations. This should be using less data aswell.

The only thing that should be done is a good way to include the essential styles/JS into your project such as TinyMCE. ui.css is one of those essential things.

On the downside, we cant use the plone caching anymore for our stylesheets. One must compress the css theirselves before putting it live. I might be wrong about this. As im just a frontender with some minor Plone knowledge

Last edited 3 years ago by tvledden (previous) (diff)

comment:20 in reply to: ↑ 19 Changed 3 years ago by thet

Replying to tvledden:

On the downside, we cant use the plone caching anymore for our stylesheets. One must compress the css theirselves before putting it live. I might be wrong about this. As im just a frontender with some minor Plone knowledge

@tvledden: you can still use caching and compressing from Products.ResourceRegistries with diazo! thats one of the nice things compared to deliverance. just use plone.static to declare static resources and reference them in cssregistry.xml.

also, i wouldn't just copy over the diazo theme, but depend on it and reference the relevant resources from the other package in your own in cssregistry.xml.

comment:21 Changed 3 years ago by THijs

@thet The cssregistry.xml stuff does complicate the diazo theming. It should be like tvledden said. Just copy theme files and start tweaking. You should be able to do all settings with rules.xml and manifest.cfg imho. That way it keeps al the theming contained to the theme. Maybe it makes more sense to have an extra flag in manifest.cfg, like:

cache_resources = /css /js /img

On shipping plone with Sunburst as default Diazo theme, maybe we should hold off on that until plone.app.toolbar removes the editing fixtures from the content in plone? It does work though. If you use the css from the theme and copy over the javascript from the content you've got the same theme, so maybe it's unnecessary.

If making it the default, imho it is dependent on Plip #13358 and some form of caching the static resources in the diazo themes without cssregistry either by default or manifest. That way the stylesheets in the head of unstyled plone can be fully taken by add ons so you can use those styles if they work for your theme.

comment:22 Changed 3 years ago by THijs

I've made a new plip branch (  https://github.com/plone/buildout.coredev/tree/plip-13355 ) which adds just a few buildout configs:

  • run with plip-13355.cfg and you get:

diazotheme.startup

  • run with diazotheme-frameworks.cfg and you get:

diazotheme.startup diazotheme.frameworks diazotheme.bootswatch

The old branch has been removed (  https://github.com/plone/buildout.coredev/tree/plip13355 )

comment:23 Changed 3 years ago by rossp

Was there any discussion during the parts of the FWT call I missed today that addressed the skins vs diazo issues discussed above? Until I can get a sense of some sort of solution and consensus on that I'm +0.

comment:24 Changed 3 years ago by vangheem

  • Status changed from confirmed to closed
  • Resolution set to wontfix

This is withdrawn in favor of a new theme for plone 5.

Note: See TracTickets for help on using tickets.