b v j 14 Years Ago "Keep in mind that EXT plugins are designed to override the portal's core code that cannot be done with hooks, layout templates, portlets, or themes. EXT plugins are not meant to contain new custom services"If I understand correctly that EXT plugins replace the native 5.x EXT framework, why would they not also support new custom services? For example, we use Service Builder in 5.2 EXT to create new custom services in addition to extending the DB. Please sign in to reply. Reply as... Cancel Ed Shin b v j 14 Years Ago EXT plugins do support custom services. I've tested that this works when I migrated custom services from my 5.2 EXT environment to an EXT plugin.However, EXT plugins are part of a design shift that we've been making since 4.x. Instead of having monolithic structures, we've slowly been extracting out portlets from core to make it more light weight and customizable, and we've been promoting the use of plugins.Unlike the EXT environment which is another monolithic structure, EXT plugins are only meant to override core classes.We realize that people who are migrating from the EXT environment will still need to use custom services in EXT plugins, but new services should be created within portlet plugins and existing services should be migrated to portlet plugins since support for custom services in EXT plugins will eventually be removed.We realize that this is a big change, but it's a necessary one. If we didn't make these types of changes, things like portlet plugins wouldn't exist which have been very useful for the community as a whole.We'll continue to support customers that have existing EXT environments as much as we can. Let's continue this discussion on the forums here:http://www.liferay.com/community/forums/-/message_boards/message/4533829 Please sign in to reply. Reply as... Cancel Andy Makely Ed Shin 14 Years Ago Is the EXT plugin method to be used only with 6.0? Do you recommended that 5.2.3 users continue using the existing EXT environment method? Please sign in to reply. Reply as... Cancel Edward Shin Andy Makely 14 Years Ago EXT plugins are only available in 6.0 so can't use them for 5.2. Please sign in to reply. Reply as... Cancel Deepak Goel Edward Shin 14 Years Ago How would i able to make JSON call for the plugin environment custom services, if i'm creating outside plugin ext ? I was able to do this in ext environment ? Does this feature still supported ? How to generate code for JSON interface ? Please sign in to reply. Reply as... Cancel Tarun S. Kayasth Ed Shin 14 Years Ago Hi Edward,Do you have any reference link that provides step for changing java files (action file) of an existing functionality. Say if I want to change action file for calendar portlet using ext in plugin.Thanks,Tarun Please sign in to reply. Reply as... Cancel Ricky Crantz Ed Shin 13 Years Ago Hey Edward,I am starting with Liferay 6.02 so no upgrading issues. When I ran through your example, clean compile and war all worked but when I ran deploy I received the same error as William Chu is the previous post.I copied the /ROOT/WEB-INF/web.xml to web.xml.merged and the script proceeded until I received: 21:20:24,757 ERROR [PropsUtil:107] Unable to initialize PropsUtil java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:394) at java.util.Properties.setProperty(Properties.java:143) at java.lang.System.setProperty(System.java:729) at com.liferay.util.SystemProperties.set(SystemProperties.java:60) at com.liferay.portal.util.PropsUtil.<init>(PropsUtil.java:94) at com.liferay.portal.util.PropsUtil.<clinit>(PropsUtil.java:231) at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:29) at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43) Exception in thread "main" java.lang.ExceptionInInitializerError at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43) Caused by: java.lang.NullPointerException at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:865)Where the missing property is "liferay.home" which I added to properties and now the script is complaining about "portlet.event.distribution": Loading jar:file:/C:/Liferay/servers/liferay-portal-6.0.2/tomcat-6.0.26/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.propertiesException in thread "main" java.lang.ExceptionInInitializerError at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43)Caused by: java.lang.NullPointerException at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:865) ... 3 moreIs there something that I am missing? It seems that there should not be this many snags to deploying a basic ext plugin... Thanks in advance Please sign in to reply. Reply as... Cancel Edward Shin Ricky Crantz 13 Years Ago Hi everyone,This post was created on the latest revision of trunk back in March. A lot of changes have been made in order to get ready for 6.0 GA, and it looks like the instructions may or may not work as is for all environments. We'll be coming out with new instructions on how to use EXT plugins that won't require as many steps because we'll have everything packaged and downloadable. This post was mainly to pique the interest of anybody that was on the cutting edge, and wanted to check the latest status of EXT plugins at that time. Again, we'll have more streamlined instructions available soon on our wiki or in the documentation section of our website. Please sign in to reply. Reply as... Cancel Gary Pinkham Edward Shin 13 Years Ago based on the comment above about overriding vs creating new services.. if one wants to create a new Authentication Mechanism.. Is this done via Ext or Hooks? Thanks!Gary Please sign in to reply. Reply as... Cancel
Ed Shin b v j 14 Years Ago EXT plugins do support custom services. I've tested that this works when I migrated custom services from my 5.2 EXT environment to an EXT plugin.However, EXT plugins are part of a design shift that we've been making since 4.x. Instead of having monolithic structures, we've slowly been extracting out portlets from core to make it more light weight and customizable, and we've been promoting the use of plugins.Unlike the EXT environment which is another monolithic structure, EXT plugins are only meant to override core classes.We realize that people who are migrating from the EXT environment will still need to use custom services in EXT plugins, but new services should be created within portlet plugins and existing services should be migrated to portlet plugins since support for custom services in EXT plugins will eventually be removed.We realize that this is a big change, but it's a necessary one. If we didn't make these types of changes, things like portlet plugins wouldn't exist which have been very useful for the community as a whole.We'll continue to support customers that have existing EXT environments as much as we can. Let's continue this discussion on the forums here:http://www.liferay.com/community/forums/-/message_boards/message/4533829 Please sign in to reply. Reply as... Cancel Andy Makely Ed Shin 14 Years Ago Is the EXT plugin method to be used only with 6.0? Do you recommended that 5.2.3 users continue using the existing EXT environment method? Please sign in to reply. Reply as... Cancel Edward Shin Andy Makely 14 Years Ago EXT plugins are only available in 6.0 so can't use them for 5.2. Please sign in to reply. Reply as... Cancel Deepak Goel Edward Shin 14 Years Ago How would i able to make JSON call for the plugin environment custom services, if i'm creating outside plugin ext ? I was able to do this in ext environment ? Does this feature still supported ? How to generate code for JSON interface ? Please sign in to reply. Reply as... Cancel Tarun S. Kayasth Ed Shin 14 Years Ago Hi Edward,Do you have any reference link that provides step for changing java files (action file) of an existing functionality. Say if I want to change action file for calendar portlet using ext in plugin.Thanks,Tarun Please sign in to reply. Reply as... Cancel Ricky Crantz Ed Shin 13 Years Ago Hey Edward,I am starting with Liferay 6.02 so no upgrading issues. When I ran through your example, clean compile and war all worked but when I ran deploy I received the same error as William Chu is the previous post.I copied the /ROOT/WEB-INF/web.xml to web.xml.merged and the script proceeded until I received: 21:20:24,757 ERROR [PropsUtil:107] Unable to initialize PropsUtil java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:394) at java.util.Properties.setProperty(Properties.java:143) at java.lang.System.setProperty(System.java:729) at com.liferay.util.SystemProperties.set(SystemProperties.java:60) at com.liferay.portal.util.PropsUtil.<init>(PropsUtil.java:94) at com.liferay.portal.util.PropsUtil.<clinit>(PropsUtil.java:231) at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:29) at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43) Exception in thread "main" java.lang.ExceptionInInitializerError at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43) Caused by: java.lang.NullPointerException at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:865)Where the missing property is "liferay.home" which I added to properties and now the script is complaining about "portlet.event.distribution": Loading jar:file:/C:/Liferay/servers/liferay-portal-6.0.2/tomcat-6.0.26/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.propertiesException in thread "main" java.lang.ExceptionInInitializerError at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43)Caused by: java.lang.NullPointerException at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:865) ... 3 moreIs there something that I am missing? It seems that there should not be this many snags to deploying a basic ext plugin... Thanks in advance Please sign in to reply. Reply as... Cancel Edward Shin Ricky Crantz 13 Years Ago Hi everyone,This post was created on the latest revision of trunk back in March. A lot of changes have been made in order to get ready for 6.0 GA, and it looks like the instructions may or may not work as is for all environments. We'll be coming out with new instructions on how to use EXT plugins that won't require as many steps because we'll have everything packaged and downloadable. This post was mainly to pique the interest of anybody that was on the cutting edge, and wanted to check the latest status of EXT plugins at that time. Again, we'll have more streamlined instructions available soon on our wiki or in the documentation section of our website. Please sign in to reply. Reply as... Cancel Gary Pinkham Edward Shin 13 Years Ago based on the comment above about overriding vs creating new services.. if one wants to create a new Authentication Mechanism.. Is this done via Ext or Hooks? Thanks!Gary Please sign in to reply. Reply as... Cancel
Andy Makely Ed Shin 14 Years Ago Is the EXT plugin method to be used only with 6.0? Do you recommended that 5.2.3 users continue using the existing EXT environment method? Please sign in to reply. Reply as... Cancel Edward Shin Andy Makely 14 Years Ago EXT plugins are only available in 6.0 so can't use them for 5.2. Please sign in to reply. Reply as... Cancel Deepak Goel Edward Shin 14 Years Ago How would i able to make JSON call for the plugin environment custom services, if i'm creating outside plugin ext ? I was able to do this in ext environment ? Does this feature still supported ? How to generate code for JSON interface ? Please sign in to reply. Reply as... Cancel
Edward Shin Andy Makely 14 Years Ago EXT plugins are only available in 6.0 so can't use them for 5.2. Please sign in to reply. Reply as... Cancel Deepak Goel Edward Shin 14 Years Ago How would i able to make JSON call for the plugin environment custom services, if i'm creating outside plugin ext ? I was able to do this in ext environment ? Does this feature still supported ? How to generate code for JSON interface ? Please sign in to reply. Reply as... Cancel
Deepak Goel Edward Shin 14 Years Ago How would i able to make JSON call for the plugin environment custom services, if i'm creating outside plugin ext ? I was able to do this in ext environment ? Does this feature still supported ? How to generate code for JSON interface ? Please sign in to reply. Reply as... Cancel
Tarun S. Kayasth Ed Shin 14 Years Ago Hi Edward,Do you have any reference link that provides step for changing java files (action file) of an existing functionality. Say if I want to change action file for calendar portlet using ext in plugin.Thanks,Tarun Please sign in to reply. Reply as... Cancel
Ricky Crantz Ed Shin 13 Years Ago Hey Edward,I am starting with Liferay 6.02 so no upgrading issues. When I ran through your example, clean compile and war all worked but when I ran deploy I received the same error as William Chu is the previous post.I copied the /ROOT/WEB-INF/web.xml to web.xml.merged and the script proceeded until I received: 21:20:24,757 ERROR [PropsUtil:107] Unable to initialize PropsUtil java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:394) at java.util.Properties.setProperty(Properties.java:143) at java.lang.System.setProperty(System.java:729) at com.liferay.util.SystemProperties.set(SystemProperties.java:60) at com.liferay.portal.util.PropsUtil.<init>(PropsUtil.java:94) at com.liferay.portal.util.PropsUtil.<clinit>(PropsUtil.java:231) at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:29) at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43) Exception in thread "main" java.lang.ExceptionInInitializerError at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43) Caused by: java.lang.NullPointerException at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:865)Where the missing property is "liferay.home" which I added to properties and now the script is complaining about "portlet.event.distribution": Loading jar:file:/C:/Liferay/servers/liferay-portal-6.0.2/tomcat-6.0.26/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.propertiesException in thread "main" java.lang.ExceptionInInitializerError at com.liferay.portal.spring.util.SpringUtil.loadContext(SpringUtil.java:46) at com.liferay.portal.util.InitUtil.initWithSpring(InitUtil.java:132) at com.liferay.portal.tools.WebXMLBuilder.main(WebXMLBuilder.java:43)Caused by: java.lang.NullPointerException at com.liferay.portal.util.PropsValues.<clinit>(PropsValues.java:865) ... 3 moreIs there something that I am missing? It seems that there should not be this many snags to deploying a basic ext plugin... Thanks in advance Please sign in to reply. Reply as... Cancel Edward Shin Ricky Crantz 13 Years Ago Hi everyone,This post was created on the latest revision of trunk back in March. A lot of changes have been made in order to get ready for 6.0 GA, and it looks like the instructions may or may not work as is for all environments. We'll be coming out with new instructions on how to use EXT plugins that won't require as many steps because we'll have everything packaged and downloadable. This post was mainly to pique the interest of anybody that was on the cutting edge, and wanted to check the latest status of EXT plugins at that time. Again, we'll have more streamlined instructions available soon on our wiki or in the documentation section of our website. Please sign in to reply. Reply as... Cancel Gary Pinkham Edward Shin 13 Years Ago based on the comment above about overriding vs creating new services.. if one wants to create a new Authentication Mechanism.. Is this done via Ext or Hooks? Thanks!Gary Please sign in to reply. Reply as... Cancel
Edward Shin Ricky Crantz 13 Years Ago Hi everyone,This post was created on the latest revision of trunk back in March. A lot of changes have been made in order to get ready for 6.0 GA, and it looks like the instructions may or may not work as is for all environments. We'll be coming out with new instructions on how to use EXT plugins that won't require as many steps because we'll have everything packaged and downloadable. This post was mainly to pique the interest of anybody that was on the cutting edge, and wanted to check the latest status of EXT plugins at that time. Again, we'll have more streamlined instructions available soon on our wiki or in the documentation section of our website. Please sign in to reply. Reply as... Cancel Gary Pinkham Edward Shin 13 Years Ago based on the comment above about overriding vs creating new services.. if one wants to create a new Authentication Mechanism.. Is this done via Ext or Hooks? Thanks!Gary Please sign in to reply. Reply as... Cancel
Gary Pinkham Edward Shin 13 Years Ago based on the comment above about overriding vs creating new services.. if one wants to create a new Authentication Mechanism.. Is this done via Ext or Hooks? Thanks!Gary Please sign in to reply. Reply as... Cancel
Michael C. Han 14 Years Ago Please note that this is NOT supported for the 5.2 product line. This will be supported in the 6.0 product line Please sign in to reply. Reply as... Cancel Csaba Tenkes Michael C. Han 13 Years Ago We use Enterprise product line, and in 5.2.7. there IS an ext sdk. Are you recommended to use it or we need to wait till 6.0. is coming? Please sign in to reply. Reply as... Cancel Edward Shin Csaba Tenkes 13 Years Ago EXT Plugins will be supported in 6.0 EE. For 5.x line, it is experimental. Please sign in to reply. Reply as... Cancel (You) Edward Shin 13 Years Ago Ed,Has the EXT Plugins been tested with jboss? I am trying to migrate a 5.x ext environment to 6.x ext plugin, so far with no success. I have some more concrete questions, but I don't know if this blog is the proper place.Regards,Ken Please sign in to reply. Reply as... Cancel William Chu 13 Years Ago I also am having issues with creating a 6.0.2 ext plugin. I'm getting the following error./Users/biuniu/Documents/SVNROOT/liferay-plugins-sdk-6.0.1/ext/build-common-ext.xml:309: Warning: Could not find file /Users/biuniu/Documents/SVNROOT/ext-work/liferay-portal-6.0.2/jboss-5.1.0/server/default/deploy/ROOT.war/WEB-INF/web.xml.merged to copy. Please sign in to reply. Reply as... Cancel
Csaba Tenkes Michael C. Han 13 Years Ago We use Enterprise product line, and in 5.2.7. there IS an ext sdk. Are you recommended to use it or we need to wait till 6.0. is coming? Please sign in to reply. Reply as... Cancel Edward Shin Csaba Tenkes 13 Years Ago EXT Plugins will be supported in 6.0 EE. For 5.x line, it is experimental. Please sign in to reply. Reply as... Cancel (You) Edward Shin 13 Years Ago Ed,Has the EXT Plugins been tested with jboss? I am trying to migrate a 5.x ext environment to 6.x ext plugin, so far with no success. I have some more concrete questions, but I don't know if this blog is the proper place.Regards,Ken Please sign in to reply. Reply as... Cancel William Chu 13 Years Ago I also am having issues with creating a 6.0.2 ext plugin. I'm getting the following error./Users/biuniu/Documents/SVNROOT/liferay-plugins-sdk-6.0.1/ext/build-common-ext.xml:309: Warning: Could not find file /Users/biuniu/Documents/SVNROOT/ext-work/liferay-portal-6.0.2/jboss-5.1.0/server/default/deploy/ROOT.war/WEB-INF/web.xml.merged to copy. Please sign in to reply. Reply as... Cancel
Edward Shin Csaba Tenkes 13 Years Ago EXT Plugins will be supported in 6.0 EE. For 5.x line, it is experimental. Please sign in to reply. Reply as... Cancel (You) Edward Shin 13 Years Ago Ed,Has the EXT Plugins been tested with jboss? I am trying to migrate a 5.x ext environment to 6.x ext plugin, so far with no success. I have some more concrete questions, but I don't know if this blog is the proper place.Regards,Ken Please sign in to reply. Reply as... Cancel William Chu 13 Years Ago I also am having issues with creating a 6.0.2 ext plugin. I'm getting the following error./Users/biuniu/Documents/SVNROOT/liferay-plugins-sdk-6.0.1/ext/build-common-ext.xml:309: Warning: Could not find file /Users/biuniu/Documents/SVNROOT/ext-work/liferay-portal-6.0.2/jboss-5.1.0/server/default/deploy/ROOT.war/WEB-INF/web.xml.merged to copy. Please sign in to reply. Reply as... Cancel
(You) Edward Shin 13 Years Ago Ed,Has the EXT Plugins been tested with jboss? I am trying to migrate a 5.x ext environment to 6.x ext plugin, so far with no success. I have some more concrete questions, but I don't know if this blog is the proper place.Regards,Ken Please sign in to reply. Reply as... Cancel William Chu 13 Years Ago I also am having issues with creating a 6.0.2 ext plugin. I'm getting the following error./Users/biuniu/Documents/SVNROOT/liferay-plugins-sdk-6.0.1/ext/build-common-ext.xml:309: Warning: Could not find file /Users/biuniu/Documents/SVNROOT/ext-work/liferay-portal-6.0.2/jboss-5.1.0/server/default/deploy/ROOT.war/WEB-INF/web.xml.merged to copy. Please sign in to reply. Reply as... Cancel
William Chu 13 Years Ago I also am having issues with creating a 6.0.2 ext plugin. I'm getting the following error./Users/biuniu/Documents/SVNROOT/liferay-plugins-sdk-6.0.1/ext/build-common-ext.xml:309: Warning: Could not find file /Users/biuniu/Documents/SVNROOT/ext-work/liferay-portal-6.0.2/jboss-5.1.0/server/default/deploy/ROOT.war/WEB-INF/web.xml.merged to copy. Please sign in to reply. Reply as... Cancel
Luis Cieza Quezada 13 Years Ago Hi Edward: I am new to using Liferay as I find it very interesting. I'm investigating, I would modify the sources to add little feature. We have made a modification in the jsp and then as you indicate in your manual we have generated. WAR and we have placed in the "deploy" start the tomcat but the changes are not reflected in the portal. What additional configuration must be performed to be able to see the changes we have made in the EXT (we are using Liferay 6.0) Please sign in to reply. Reply as... Cancel
Rupesh Chotai 13 Years Ago Hi,Thanks for sharing the great details of ext plugin. My team is using Liferay-Jboss bundle 6.0.6.We have use case for update password portlet. On the update page, user is asked to put the the old password and validation is performed. Once user clicks on "Save" button he/she is redirected to Homepage of the organization and not the community. Can I use EXT Plugin to develop new custom action class to fullfil this use case? Please sign in to reply. Reply as... Cancel
Liferay newbie 13 Years Ago This is a very useful article. thank you Ed. I have a query reg ant clean cmd.When Im running ant clean cmd:all it does is delete my example-ext-6.0.5.1.war from the dist folder Is this all that the cmd does? should it not behave the way as mentioned in this article?again when i run ant war cmd, it re creates the war under dist folder with my changes implemented in the new war. Please let me know if I'm missing anything and guide me accordingly.thanks. Please sign in to reply. Reply as... Cancel
himanshu jain 12 Years Ago i try to implement ext plugin as per docs it removes all my communities and data....nd remove my portal-properties.ext.?can anyone help me how to revert back my data now? Please sign in to reply. Reply as... Cancel
Amit Shukla 11 Years Ago Hi,I am new for liferay development.I want to customize document library part .Please help us how I change Document- library -structure.xml and DLFILEentrytypeconstant.java. Please sign in to reply. Reply as... Cancel