I would deploy my Vaadin custom themes in Websphere and reference them in some vaadin portlets deployed in Websphere Portal.
I'm using Websphere 8.5 and Vaadin 7. I found a lot of topic about the Tomcat and Liferay combination but nothing usefull for Websphere.
I also tried to set the vaadin.resources.path variable in the 'WP PortletContainerService' in Resources>Resource Environment>Resource Environment Providers and I set a resource with name 'std.portalcontext.vaadin.resources.path' but I can't see it in UI.
Thank you.
Setting that property on the portletcontainerservice is not going to help you because it is not one of the properties that the WebSphere Portal container is going to recognize as a property. I think you may have to do something like this https://vaadin.com/forum/#!/thread/2732876/2732875 specifically these https://vaadin.com/wiki?p_p_id=36&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=row-1&p_p_col_pos=1&p_p_col_count=3&_36_struts_action=%2Fwiki%2Fview&p_r_p_185834411_nodeName=vaadin.com+wiki&p_r_p_185834411_title=Developing+portlets+for+the+Websphere+Portal+Server
The main thing to do is this
In the portlet tag you have to set a value for the portlet-class. For this simple we can use the default Vaadin portlet class com.vaadin.server.VaadinPortlet; you also have to name you UI class as a portlet init parameter.
To let WPS find the Vaadin javascript and theme resources you have to use the portlet init parameter vaadin.resources.path. The value PORTLET_CONTEXT is a Vaadin constant value that makes the vaadin resources available in the portlets resource path.
Run the Maven build with clean package as goals and deploy the created war file in the portal administration. Create a blank portal page and add your portlet to the page. Your "Click me" portlet should look like this:
Related
I need to redirect with some parameter from JSR286(IBM) portlet to JSF 2.0 portlet.
I am having the page unique id and friendly url too.
I have tried response.sendRedirect() and requestDispatcher.forward() but no success till now.
Please provide me some solution.
For navigating between portlets you should not simply forward or redirect pages, since this is not the way to go. The proper way to communicate between portlets, even on different pages is to use interportlet-communication (IPC), commonly known as portlet wiring.
But it all depends on what you mean with a "JSR286(IBM) portlet". A portlet is either a JSR-286 portlet following the global specs (which are the same for all vendors, IBM, Apache, Oracle, Liferay, ...) or you have a portlet using the IBM API/iWidgets, in the last case, portlet wiring is not possible if I remember correctly from the docs.
Anyways, JSF or not, a JSF 2.0 portlet remains a JSR-286 portlet, so you can use normal events in this case as well, though I'm not experienced in JSF. Both portlets should have a portlet descriptor, in which you can declare:
The event, using <event-definition>. Please note that when your JSF-portlet is in a separate portlet application (in a different portlet.xml file), you will have to use an XName, not a normal name.
The events a specific portlet can publish, using <supported-publishing-event> (your JSR-286 portlet)
The events a specific portlet can subscribe to, using <supported-processing-event> (your JSF 2.0 portlet)
Afterwards, you can send an event in your JSR-286 portlet from within the ACTION phase, by using the ActionResponse.setEvent() method.
From the JSF 2.0 portlet, you should still be able to get the PortletRequest/PortletResponse from the context. If you check if it is an instance of EventRequest, you can retrieve the parameter using EventRequest.getEvent(), allowing you to pass parameters between portlets.
If your portlets are on separate pages, you'll have to got the Administration of WebSphere Portal (I assume you're running that since you're talking about IBM), and define global targets for the pages so that events can be triggered cross-page (otherwise wiring is only available for portlets within the same page).
How can I develop JSF 2.0 portlets for WebSphere Liberty Profile? It seems they forgot to provide a portlet bridge. I tried to use com.ibm.faces20.portlet.FacesPortlet from WAS full profile, but that doesn't work. Furthermore I tried to use a few generic portlet bridges, but also had no success.
Portlet bridge is not yet available for Liberty. Check same question on wasdev.net - JSF in Portlet on WAS Liberty
I have an existing grails app with multiple forms. I need a CMS which allows me to add existing grails forms to this cms and assign each form different permissions. I need to be able to change site template css from admin page. Something like dotnet nuke where you can add existing asp.net page and assign permissions to this page and add custom theme.
Features requested:
Integration with Active Directory
Integration with MS Exchange
Set up grails form security policy from protal admin ui
change form css theme from portal admin ui
easy integration with portal
I'm not sure exactly what features it supports, but Weceem is a CMS implemented as a Grails plugin, so that's an obvious starting point.
There is Maglev plugin for Magnolia that you can use, but AFAIK it works only with 4.5.x branch, not with the latest version.
Other then that, if your main requirements are security and being able to pull the theme from CMS, you can deploy Magnolia and your grails app in same web app, configure Magnolia to handle all incoming requests (that's by default) and only configure bypass inside of Magnolia for cms subchain for url where your form is available. This way Magnolia will take care of the URL check the security, make context available for you and you can refer from your form to the theme that is selected by editors in your Magnolia installation. While this description sounds probably a bit convoluted, it's actually very simple to do.
HTH, Jan
I have developed a custom Liferay portlet that appears in the control panel. The existing (Liferay-supplied) portlets all include a nice help balloon and help icon in the Portlet title bar. I'm looking for a way to add that to my custom portlet as well.
Liferay included all the help text identified by portlet name in their Language.properties file. Their control panel portlets seem to use Velocity templates, more or less hard-coding the help feature. I'm using JSF / ICE / LiferayFaces in my portlet and don't see a way of setting these values to get integrated help that looks seamless.
Help! Thanks!
Have you tried adding a javax.portlet.description.<your-portlet-name>=My Portlet to your resource bundle? The Control Panel help text is derived from the portlet's configured resource bundle and the key must follow that that convention. Also, <your-portlet-name> must match the name you used in the liferay-portlet.xml and portlet.xml files.
I am trying to run a JSF 2.0 application with Mojarra 2.0 implementation. I need to change the Web Module class loading policy of the .war file to PARENT_LAST, so that WAS doesn't load the default configuration. I want the JSF 2.o implementation to be loaded from WEB-INF/lib folder. However RAD does not allow me to change the settings to PARENT_LAST in admin Console. ( It's disabled )
It works fine,when the class loader policy is set using shared libarary references and set at the server level. However I don't want that.
I would like this to be loaded at the "Web Module" level.
Can anyone help how to change to PARENT_LAST that using admin console?
Thanks!
I changed the deployment.xml file directly to include warClassLoaderPolicy="SINGLE" and changed the mode of the classloader element to "PARENT_LAST". It loaded the Mojarra JSF 2.0 implemention.