Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated after reimplementation with magnolia.properties

...

Table of Contents
maxLevel2

 

Configuration

New

...

keys in magnolia.properties (empty-webapp)
name
info.magnolia.ui.vaadin.gwt.MagnoliaWidgetSet
magnolia.ui.vaadin.theme=admincentral
Code Block
languagebash
titlemagnolia.properties
# Change to point at your custom Vaadin widgetset and theme
# Your widgetset should always inherit magnolia's default widgetset (info.magnolia.ui.vaadin.gwt.MagnoliaWidgetSet)
# Your theme should always include magnolia's default theme (admincentral)
magnolia.ui.vaadin.widgetset=
Advanced Tables - Table Plus
enableHeadingAttributesfalse
enableSortingfalse
classm5-configuration-tree
enableHighlightingfalse
Node nameValue

modules

 

ui-admincentral

 

config

 

widgetset

 
Paragraph
AdmincentralUIProvider

Package: info.magnolia.ui.admincentral

This is a custom Vaadin UIProvider. It gets the MagnoliaConfigurationProperties via injection, and checks for property values when queried for widgetset or theme. Vaadin's DefaultUIProvider can only resolve widgetsets and themes either from servlet parameters or via annotation.

Property keys are mostly defined as constants in the SystemProperty (info.magnolia.cms.core) deprecated class. 

...

In want of a better location for generic magnolia_ui properties, the widgetset and theme properties keys are defined here.

Code Block
languagejava
titleAdmincentralUIProvider.java
public static final String MAGNOLIA_UI_VAADIN_WIDGETSET = "magnolia.ui.vaadin.widgetset";
public static final String MAGNOLIA_UI_VAADIN_THEME = "magnolia.ui.vaadin.theme";

It also holds fallback constants in case widgetset and theme cannot be determined:

Code Block
languagejava
titleAdmincentralUIProvider.java
public static final String DEFAULT_WIDGETSET_NAME = "info.magnolia.ui.vaadin.gwt.MagnoliaWidgetSet";
public static final String DEFAULT_THEME_NAME = "admincentral";

...

New definitions
  • info.magnolia.ui.api.vaadin
    • WidgetsetDefinition
    • ThemeDefinition
    • ConfiguredWidgetsetDefinition
    • ConfiguredThemeDefinition
New class
  • info.magnolia.ui.admincentral
    • AdmincentralUIProvider

 

Widgetset structure

 git repogroupIdartifactIdWidgetset name (.gwt.xml)gwt:compiledcomments

EE

ee-bundle

info.magnolia.eebundle

magnolia-enterprise-bundle-widgetset

info.magnolia.eebundle.MagnoliaEnterpriseBundleWidgetSet

(plus)

check for 5.1 EE

enterprise / content-dependencies

info.magnolia.dependencies

magnolia-content-dependencies-widgetset

info.magnolia.dependencies.ContentDependenciesWidgetSet

 

just here as a ee module example

CE

ce-bundle

info.magnolia.bundle

magnolia-bundle-widgetset

info.magnolia.bundle.MagnoliaBundleWidgetSet

(plus)

replaces MagnoliaWidgetSet (5.0) - integration and compiler options

modules / dam

info.magnolia.dam

magnolia-dam-widgetset

info.magnolia.dam.DamWidgetSet

 

just here as a ce module example

magnolia_ui / pages

info.magnolia.pages

magnolia-pages-widgetset

info.magnolia.pages.PagesWidgetSet

(minus)

replaces PageEditorWidgetSet (5.0)

UI

magnolia_ui

info.magnolia.ui

magnolia-ui-widgetset

info.magnolia.ui.MagnoliaUiWidgetSet

(minus)

replaces CommonWidgetSet (5.0)

magnolia_ui / magnolia-ui-widgetset

info.magnolia.ui.vaadin

magnolia-ui-vaadin-table

info.magnolia.ui.vaadin.TableWidgetSet

 

extracted from CommonWidgetSet (5.0)

magnolia_ui / magnolia-ui-widgetset

info.magnolia.ui.vaadin

magnolia-ui-vaadin-contextmenu

info.magnolia.ui.vaadin.ContextMenuWidgetSet

 

extracted from CommonWidgetSet (5.0)

magnolia_ui / magnolia-ui-actionbar

info.magnolia.ui.actionbar

magnolia-ui-actionbar-widgetset

info.magnolia.ui.actionbar.ActionBarWidgetSet

 

just here as examples for further ui modularization

magnolia_ui / magnolia-ui-mediaeditor

info.magnolia.ui.mediaeditor

magnolia-ui-mediaeditor-widgetset

info.magnolia.ui.mediaeditor.MediaEditorWidgetSet

 

RAW

magnolia-vaadin-widgetset

info.magnolia.vaadin.widgetset

magnolia-vaadin-widgetset

info.magnolia.vaadin.MagnoliaWidgetSet

 

M5-agnostic vaadin components - not for now

 

Theme structure

-

 

Implementation details

  • Changing widgetset/theme config currently requires a server restart
    • most likely AdmincentralUIProvider injected instance in servlet is not refreshed when module configuration changes
    • don't store definition references, only module reference and query dynamically for configured definitions