Yogu
Yogu

Reputation: 9445

Nested Vaadin applications

Is it possible to nest one Vaadin application into another? I want to implement a portal with application A and embed several applications into that portal.

I can have multiple Vaadin applications next to each other by calling vaadin.initApplication multiple times with different IDs as target elements:

vaadin.initApplication("target-element-id",{
    "theme": "mytheme",
    "versionInfo": {
        "vaadinVersion": "7.5.1",
        "atmosphereVersion": "2.2.7.vaadin1"
    },
    "widgetset": "de.test.widgetset",
    "vaadinDir": "http://localhost/VAADIN/",
    "browserDetailsUrl": "http://localhost/service1",
    "serviceUrl": "http://localhost/service1",
    "debug": true,
    "standalone": false,
    "heartbeatInterval": 300
});

But as soon as I specify an element as target that is already inside a Vaadin UI, I get the following error:

java.lang.AssertionError: A widget that has an existing parent widget may not be added to the detach list

Upvotes: 1

Views: 81

Answers (1)

Steffen Harbich
Steffen Harbich

Reputation: 2749

Sounds like you want a Vaadin application as a portlet. The Vaadin docs contain a chapter for that: https://vaadin.com/docs/-/part/framework/portal/portal-overview.html

Information on Java portlets: https://en.wikipedia.org/wiki/Java_Portlet_Specification

You may have a look at Liferay: https://en.wikipedia.org/wiki/Liferay

Upvotes: 1

Related Questions