Page 1 of 1

--Portlet integration

PostPosted: Wed Apr 10, 2013 5:58 pm
by Development@SIB


This article is outdated - please use our new system at

https://doc.sibvisions.com




If you want to use Vaadin UI with Liferay Portlets, use following security manager in your config.xml:

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>

<application>
  <securitymanager>
    <class>
    com.sibvisions.apps.vaadin.portlet.server.security.PortletSecurityManager
    </class>
...

and following code in your Session life-cycle object:

Code: Select all
public IWorkScreenAccess getWorkScreenAccess()
{
    PortletWorkScreenAccess wosc = (PortletWorkScreenAccess)get("workScreenAccess");
   
    if (wosc == null)
    {
        wosc = new PortletWorkScreenAccess();
      
        put("workScreenAccess", wosc);
    }
   
    return wosc;
}


The PortletSecurityManager uses current Liferay user and PortletWorkScreenAccess uses configured user roles. The security manager sets the configured portlet screen as default screen. This screen will be shown in Liferay.

To configure the default screen, add an additional parameter to your portlet.xml:

Code: Select all
<init-param>
  <name>screen</name>
  <value>com.sibvisions.apps.vaadin.portlet.screens.ContactsWorkScreen</value>
</init-param>

An example portlet.xml with complete configuration:

Code: Select all
<?xml version="1.0"?>

<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">
   <portlet>
      <portlet-name>VaadinApps</portlet-name>
      <display-name>VaadinApps</display-name>
      <portlet-class>com.sibvisions.rad.ui.vaadin.server.VaadinPortlet</portlet-class>
      <init-param>
         <description>Vaadin UI class to use</description>
         <name>UI</name>
         <value>com.sibvisions.rad.ui.vaadin.impl.VaadinUI</value>
      </init-param>
      <init-param>
         <description>Application widgetset</description>
         <name>widgetset</name>
         <value>com.sibvisions.rad.ui.vaadin.ext.ui.Widgetset</value>
      </init-param>
      <init-param>
         <name>main</name>
         <value>com.sibvisions.apps.projx.ProjX</value>
      </init-param>
      <init-param>
         <name>config</name>
         <value>/com/sibvisions/apps/vaadin/portlet/application.xml</value>
      </init-param>
      <init-param>
         <name>Application.setup.classname</name>
         <value>com.sibvisions.apps.vaadin.portlet.PortletApplicationSetup</value>
      </init-param>
      <init-param>
         <name>screen</name>
         <value>com.sibvisions.apps.vaadin.portlet.screens.ContactsWorkScreen</value>
      </init-param>
      <init-param>
         <name>vaadin.resources.portletContainerMode</name>
         <value>true</value>
      </init-param>
      <expiration-cache>0</expiration-cache>
      <supports>
         <mime-type>text/html</mime-type>
      </supports>
      <portlet-info>
         <title>VaadinApps</title>
         <short-title>VaadinApps</short-title>
         <keywords>VaadinApps</keywords>
      </portlet-info>
      <security-role-ref>
         <role-name>administrator</role-name>
      </security-role-ref>
      <security-role-ref>
         <role-name>guest</role-name>
      </security-role-ref>
      <security-role-ref>
         <role-name>power-user</role-name>
      </security-role-ref>
      <security-role-ref>
         <role-name>user</role-name>
      </security-role-ref>
   </portlet>
</portlet-app>