The problem is exactly as you say, Mosiac, Plone 5 and Diazo - this is too many layers of abstraction just to get a theme usable.
As far as integrating a custom theme from themeforest.com say, It's actually relatively simple to use Diazo and a rules.xml file to create some conditions. The problem therein is that you lose (in my opinion) a lot of flexibility that working directly with Plone allows. This is why using just defaults would really help this situation.
I'd like to see a theming standard defined for Plone, similar to the way people came together to define the File System Hierarchy Standard FHS http://www.pathname.com/fhs/pub/fhs-2.3.html (This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.).
The standard would be based on real world theming experience gained from actually porting a few themes.
If you think of Mosiac as a system for building out a drag and drop experience in Plone then there should be no conflict moving forward. It is our job to simplify the layers so that they don't feel like we're juggling lots of balls.
Porting a theme to Plone with Diazo is quick and easy (probably 1 to 2 hours of work for the experienced).
Porting it properly so that you can use Plone's machinery is not (think 30 to 40 hours). When you're done you have a fully integrated experience. The problem is that we don't have a system.
Themeforest themes have a system (I think)
I see this with the themes at themeforest, they tend to have the following 6 things:
- home page layout
- inner pages (team, about)
- list and collection views (including a solution for pagination)
- photo gallery variations
- blog views (several variations)
- shop views
Let's make Plone friendly to their system
@tmassman, @djay, @Netroxen,
What I'd like to discuss is a system. So that ANY themeforest theme can be ported in 5 to 6 hours.
To build out a system, these are my assumptions:
- 80% of themeforest html themes are bootstrap based
- 80% of themeforest html themes use the 6 things approach.
To build out a system, this is how I'd do it:
- Sign off on a standardized Plone stack that deliberately and "unapologetically" supports the 6 things noted above.
- Port themes by mapping the themeforest capabilities to the "6 things ready stack"
- Create mosaic tiles that map to key components
- Ship with ready made sample Mosaic layouts
- Based on the first experience of porting a theme, create reusable diazo rules and mosaic tiles
The beginnings of a system
One approach I've worked on that already does some of this is called Gloss. The Gloss approach uses predefined diazo rules and allows a designer to simply take a theme and assign special classes to parts of that theme which magically make the theme Plone compatible
Combine this with a collection of reusable snippets that show examples of commonly implemented things and we would be 80% there.
Thanks everyone for the comments.
I'd like to say, at the risk of offending others, theming is emblematic of a bigger issue with Plone: the users, integrators, and even the customers are too often lost in the technical haze of creating, managing and promoting such a complicated piece of software that is Plone. it is amazing that all of this is done by volunteers. Thanks.
Themes Are important to clients. If it costs (based on @pigeonflight $2k - $3K) just to convert an existing html theme (which you had to pay for) in fully functioning Plone theme, this is a big deal for any client but the largest.
I can understand the reason why technical challenges like headless Plone attracts the Plone developers -- it would be challenging and cool to pull off. However, lost in the shuffle is the realization that Plone has lost ground to other (less solid) software like Drupal (I never compare Plone and WordPress).
Part of the reason is the ability to choose from inexpensive Drupal themes. Also, the number of products of Plone 5 has dropped well below Plone 4. I realize this is no revelation to people on this site.
This isn't a rant. I am willing to help in the only way I can: I am willing to donate up to $500 if there is a project started that raises enough interest and money to get Plone themes to a point where someone like @pigeonflight believes they should be. I remember taking with David in Boston and reading his posts here, so I know it is important to him and he appears to have good ideas ( others of course would weigh in to review the technical aspects)
So, is anyone interested in this? The offer stays open through the end of this year.
My fascination with
plone.restapi is actually motivated by the opposite - one can just hire a standard modern frontend developer to do a single page app (or native mobile or whatever) against the API (just as well as one could against WP, Drupal, FireBase, etc.). From my point of view that is the thing bringing us back onto the same starting line with the rest.
I spent about a thousand hours on my 'subskins' (theming) project and tried to use a little of the same approach with Phone 5, but the project ( https://github.com/espenmn/medialog.bergensiana ) is now basically 'left to die'.
That said: there might be something useful for someone (?), especially the 'slider' and 'features' fragments.
... you find a crappy video here: https://www.youtube.com/watch?v=rk0RzieJzLE
There is an Open Space at the Plone Conference in Barcelona on Friday 14:30 to discuss this or similar topics. A lot of projects showing the future of Plone (Headless, REST API, Angular Frontend). I'm interested in Plone's UI between now and e.g. Pastanaga.