« Back to Liferay IDE

Liferay IDE 1.2 New and Noteworthy

Previous New and Noteworthy pages #

New features in 1.2 #

Portlet UI Frameworks #

Liferay IDE now has support for 3 different portlet UI frameworks.

  • Liferay MVC (default framework for 6.0 SDK)
  • JSF - based on JSF 2.0 and portletfaces bridge (requires Liferay 6.1)
  • Vaadin - based on Vaadin framework (requires Liferay 6.1)

In the new Liferay Project wizard, on the 2nd page, you are now given the option for selecting a portlet framework.

JSF Portlet Wizard #

To create JSF portlets, first create a new Liferay project, select portlet for plugin type and click Next to go to the portlet UI framework select page and select JSF framework and click Finish

Once you have a JSF portlet project you can create new JSF portlets with the new JSF Portlet wizard.

The New JSF Portlet wizard will create a JSF portlet based on the PortletBridge project and will generate facelet XHTML files for the view.

XHTML files are generated in JSF wizard.

Vaadin Portlet Wizard #

To create Vaadin portlets, first create a new Liferay project, select portlet for plugin type and click Next to go to the portlet UI framework select page and select Vaadin framework and click Finish

Once you have a vaadin portlet project you can create new Vaadin portlets with the New vaadin Portlet wizard

The New Vaadin portlet wizard instead of creating a portlet class, it creates a new Vaadin Application class and wires up the Vaadin portlet in portlet.xml to render the application in Liferay.

Improved features in 1.2 #

Improved Ext plugin deployment #

Ext plugin deployment has been reworked in the 1.2 release. It is now fully supported in the IDE for all use-cases, deploy (publish), undeploy (clean), and re-deploy (uses direct-deploy ant task)

  • Multiple deploys (redeployment) now works as expected from IDE, note that auto-matic publishing for Ext plugins is not enabled. It requires manually invoking a publish for Ext plugins. Other projects (portlets, hooks) are still automatically published.

  • Undeploying of Ext plugins is now supported through the Clean App Server action

  • Clean app server action is invokved as a context menu action from Ext plugin project

  • Requires extra runtime configuration for specifying the zip bundle

  • Multiple Ext plugins are not supported on one server

Custom server settings #

The Liferay Tomcat server has additional settings that can be customized for the developer's use.

  • User timezone can be set
  • Server memory arguments can be set
  • IF user has external properties they would like to set (added to -Dexternal.properties) they can be specified

Other improvements #

  • SDK build.<username>.properties can now be optionally updated during SDK commands to match the Liferay IDE configuration (app.server properties)

  • Liferay Hook wizard can now add hooks to both Hook and Portlet projects

  • Service builder tasks are not performed in external JRE with more memory available
  • Multiple or custom service.xml files are now supported
16 Attachments
8503 Views
Average (2 Votes)
Comments

Showing 15 Comments

Suhail Ahmed
2/11/11 7:12 AM

Thanks Gregory really worthy.~~~~~

Aritz Galdos
2/11/11 12:23 AM

I will update right now!

Milan Jaroš
2/11/11 1:39 AM

Well done! Updating...

Leon Dai
2/11/11 4:46 AM

Great, JSF 2.0 and Vaadin Portlets!
But where can I get the Liferay plugin sdk 6.1???

Leon Dai
2/11/11 5:07 AM

Gregory, why i can edit your wiki page? Sorry for that, I did it without intention.

Pravin Pawar
2/11/11 6:30 AM

Nice Work Gregory !!!

Gregory Amerson
2/11/11 10:05 AM

Hi Leon,

Unfortunately the only way to get the 6.1 SDK is to pull the plugins SDK from trunk and run the "ant extract-plugins-sdk" command.

http://svn.liferay.com/repos/public/plugins/trunk/

Leon Dai
2/11/11 10:57 AM

Hi Greg, thanks for your answer.

Kamesh Sampath
2/12/11 12:45 AM

Excellent updates especially Liferay Server updates which was a nightmare previously as we need to create a duplicate runtime and then update it for Liferay server settings.

I am eagerly waiting for JBoss Server support for runtime which I see will happen in v2.0 of the IDE

Joseph Toman
2/13/11 10:26 AM

That sounds great, thanks! I was wondering though, is there any support in Liferay IDE for building portlets in other languages than Java, e.g. the supported scripting languages or Scala? If not, are there any plans to add this?

Gregory Amerson
2/14/11 8:46 AM

Nothing prevents you from using those scripting languages manually in Liferay IDE if you install eclipse plugins for those languages. No plans at the moment for adding wizards for creating new portlets directly in the IDE.

Christophe Cariou
3/31/11 3:56 AM

Hi Gregory,

I use LIDE 1.2 in order to build an ext plugin.

All is perfect inside LIDE, with an attached LP6.0.5 bundle : my ext is deployed and run as expected.

Now, I'm trying do build my ext for a deployment on a production server.
I've launch the and "deploy" task from Eclipse, that generate me a war for my ext.
Next I've pasted this war on the deploy dir of my running server.
The deployment start, the war is copied end expanded in /webapps and BOUM : I've this error :
-------------------------------------------------
09:16:52,796 INFO [ExtHotDeployListener:137] Registering extension environment for ansamble-ext
java.lang.StringIndexOutOfBoundsException: String index out of range: -321
at java.lang.String.substring(String.java:1937)
at com.liferay.portal.tools.WebXMLBuilder.<init>(WebXMLBuilder.java:96)
at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:44)
....
----------­---------------------------------------

And of course, my ext isn't deployed (the ROOT app has no changes).

I reproduced it on a fresh new install of a Liferay bundle.

So, can you help me? Why does it work well inside LIDE and not outside ? Does LIDE do "something" more than just paste the war inside a deploy dir ?

Regards

Christophe Cariou
3/31/11 6:03 AM

Replying to myself (but any comment will be apprecied) :

The error was coming from the web.xml parsing by WebXMLBuilder. The method look for "<web-app" tag and "/web-app>". BUT, by default the web.xml file in an ext plugin created from IDE contains a <web-app ..../> tag ! So the parsing failed and the deployment goes down...

The problem should be the same from the direct-deploy ant script, but it doesn't revert the whole deployment process as from the hotdeploy listener.

I'll post 2 jiras about that (one for the parser and one for default web.xml file in the IDE).

regards

Christophe Cariou
3/31/11 6:21 AM

see :
http://issues.liferay.com/browse/LPS-16233
and
http://issues.liferay.com/browse/ID­E-331

Ivan Ricotti
9/27/11 1:41 AM

Christophe: you saved my day! emoticon
Cheers,
Ivan