Hi Michael,
On 24/01/2018 12:22, Michael Brohl wrote:
Hi Nicolas, all,
we are working on a new theme on base of the new common theme
mechanism. We have a way to overwrite the common theme's global
screens like login, help etc. with new ones inside a theme (which is
great!).
Nice to ready that :)
We now want to improve also the usability of the applications which
sometimes makes it neccessary to change the HTML code structure. For
example, the main screen of the webtools should be changed from a list
of links to blocks/screenlets to make better use of the screen width etc.
Is it possible to also overwrite application screens in a theme
without changing the application code? How would it work then?
Currently it's not possible. I had already imagine a solution to this
problem but I just prepared this area. I wait to start a theme at
Néréide to improve the engine theme before continue the works.
In previous thread I talked about a screen API present on the
common-theme to help the new theme creation. And now you also discover
why I explain that ;)
If we want homogenize screen and simplify the theme creation, this step
need to but realize.
On the common-theme/widget/Themes.xml, I initialize three sections :
<root-decorator
default-location="component://common-theme/widget/CommonScreens.xml">
<subtype-decorator
default-location="component://common-theme/widget/CommonScreens.xml">
<generic-screen
default-location="component://common-theme/widget/CommonScreens.xml">
When you have a screen that haven't the possibility to "themezing" it,
we need to convert it to use first a root-decorator (but it's already
the case in general) and for embed structure, we need to use a
subtype-decorator
This is the main line to follow. At this time we have only one sub-type
decorator (Find) and we need to populate conscientiously each new case
to have few but efficient sub-type API
With this, we will have a capacity to manage the global form (root) and
also the embed structure (sub-type)
Thanks for a hint,
My apologies to my incapacity to give you a simply solution, but If I
can help you to define a structure it's with pleasure :)
Cheers,
Nicolas
best regards,
Michael