Bavithra Rajendran 14 Years Ago Sir, Thank You for detailed explanations about Hooks and Plugin Ext. Please sign in to reply. Reply as... Cancel
Peter Shin 14 Years Ago Plugin ext is a really nice feature! Please sign in to reply. Reply as... Cancel
Tomas Polesovsky 14 Years Ago Hi Jonas, do you know whether Brian plans to implement the additional features in the Ext Plugin to make it more usable? Please sign in to reply. Reply as... Cancel Jonas Yuan Tomas Polesovsky 14 Years Ago - Edited Hi Tomas, thank you. You may refer to ticket LPS-6341 and message post - Ext environment and the Ext Plugin in 6.x - at http://www.liferay.com/community/forums/-/message_boards/message/4533829. Hope that it helps. Please sign in to reply. Reply as... Cancel
Jonas Yuan Tomas Polesovsky 14 Years Ago - Edited Hi Tomas, thank you. You may refer to ticket LPS-6341 and message post - Ext environment and the Ext Plugin in 6.x - at http://www.liferay.com/community/forums/-/message_boards/message/4533829. Hope that it helps. Please sign in to reply. Reply as... Cancel
Jaime Israel Ramírez Hernández 14 Years Ago I'm interested on buying the book... but I'm also waiting the version 6 of the portal to be released... Do you know if the book still aplies to the new portal or if there will be a new version of the book?Thanks!!! Please sign in to reply. Reply as... Cancel Jaime Israel Ramírez Hernández Jaime Israel Ramírez Hernández 14 Years Ago Ups!!! Wrong comment!!! I'm sorry I was reading this (http://www.liferay.com/web/jonas.yuan/blog?p_p_id=33&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&_33_struts_action=/blogs/view) blog and I don't know how I ended up here... I'm terribly sorry :SGreetings!!! Please sign in to reply. Reply as... Cancel Jonas Yuan Jaime Israel Ramírez Hernández 14 Years Ago - Edited Hi Jaime, thank you. The new book (Liferay Portal 6 Enterprise Intranets) would be ready in two weeks. You would get updated at the blog - http://www.liferay.com/web/jonas.yuan/blog/-/blogs/liferay-book%3A-liferay-portal-6-enterprise-intranets Please sign in to reply. Reply as... Cancel
Jaime Israel Ramírez Hernández Jaime Israel Ramírez Hernández 14 Years Ago Ups!!! Wrong comment!!! I'm sorry I was reading this (http://www.liferay.com/web/jonas.yuan/blog?p_p_id=33&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&_33_struts_action=/blogs/view) blog and I don't know how I ended up here... I'm terribly sorry :SGreetings!!! Please sign in to reply. Reply as... Cancel
Jonas Yuan Jaime Israel Ramírez Hernández 14 Years Ago - Edited Hi Jaime, thank you. The new book (Liferay Portal 6 Enterprise Intranets) would be ready in two weeks. You would get updated at the blog - http://www.liferay.com/web/jonas.yuan/blog/-/blogs/liferay-book%3A-liferay-portal-6-enterprise-intranets Please sign in to reply. Reply as... Cancel
Puj Z 13 Years Ago "you could create a properties file Language_en.properties under the plugin hook's WEB-INF/classes/content. Finally, add following line at Language_en.properties"Does this apply to Language_en.properties.native as well? If I don't want to change Language_xx.properties but Language_xx.properties.native, should I just copy the native file in the content folder and override it? Shouldn't I add anything extra to the liferay-hook.xml file for my .native file? Please sign in to reply. Reply as... Cancel
Puj Z 13 Years Ago ok I tried both these methods and it does not work. I copied Language_fa.properties.native and Language_fa.properties files in the content folder of my hook (WEB-INF\content), changed some translations in the Language_fa.properties.native file and deployed, and no change was made. I then added <language-properties>content/Language_fa.properties.native</language-properties>in addition to <language-properties>content/Language_fa.properties</language-properties>and deployed, and still no changes.Anyone any ideas?(I am using lp6-tomcat bundle under Windows with Mysql5.1) Please sign in to reply. Reply as... Cancel Rex Cheng Puj Z 13 Years Ago I have the same problem, the language hook doesn't work after version 6. Please sign in to reply. Reply as... Cancel Puj Z Rex Cheng 13 Years Ago Hi Rex,I already submitted an issue for this:http://issues.liferay.com/browse/LPS-10308I hope somebody would reply from the staff. Please sign in to reply. Reply as... Cancel Rex Cheng Puj Z 13 Years Ago Hi Puj Z,According to this article: http://www.liferay.com/community/wiki/-/wiki/Main/Ext+Plugin , I use the ext-impl to replace the language properties files, and it works. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Rex Cheng 13 Years Ago - Edited @Rex and @Puj, thank you. Ext environment is now available as a plugin. That is, you can do the same in ext plugin as that you can do in ext environment. If not, it is a bug. Thank you Puj to report bugs.By the way, it is working well for me (real example - Knowledge base portlet).<hook> <portal-properties>portal.properties</portal-properties> <language-properties>content/Language_en_US.properties</language-properties></hook>you may have to use (locale, country code, etc.):"Language_en_US.properties" Please sign in to reply. Reply as... Cancel Milan Palian Jonas X. Yuan 13 Years Ago I tried the following to no effect:<hook><portal-properties>portal.properties</portal-properties><language-properties>content/Language_sl_SI.properties</language-properties><language-properties>content/Language_sl_SI.properties.native</language-properties></hook>It builds and deploys in 6.0.2 without error, but to no effect. Please sign in to reply. Reply as... Cancel Milan Palian Milan Palian 13 Years Ago It turned out I had errors in the properties file ... it works, at least it does in 6.0.5.<hook><portal-properties>portal-ext.properties</portal-properties><language-properties>content/Language_sl.properties</language-properties></hook> Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
Rex Cheng Puj Z 13 Years Ago I have the same problem, the language hook doesn't work after version 6. Please sign in to reply. Reply as... Cancel Puj Z Rex Cheng 13 Years Ago Hi Rex,I already submitted an issue for this:http://issues.liferay.com/browse/LPS-10308I hope somebody would reply from the staff. Please sign in to reply. Reply as... Cancel Rex Cheng Puj Z 13 Years Ago Hi Puj Z,According to this article: http://www.liferay.com/community/wiki/-/wiki/Main/Ext+Plugin , I use the ext-impl to replace the language properties files, and it works. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Rex Cheng 13 Years Ago - Edited @Rex and @Puj, thank you. Ext environment is now available as a plugin. That is, you can do the same in ext plugin as that you can do in ext environment. If not, it is a bug. Thank you Puj to report bugs.By the way, it is working well for me (real example - Knowledge base portlet).<hook> <portal-properties>portal.properties</portal-properties> <language-properties>content/Language_en_US.properties</language-properties></hook>you may have to use (locale, country code, etc.):"Language_en_US.properties" Please sign in to reply. Reply as... Cancel Milan Palian Jonas X. Yuan 13 Years Ago I tried the following to no effect:<hook><portal-properties>portal.properties</portal-properties><language-properties>content/Language_sl_SI.properties</language-properties><language-properties>content/Language_sl_SI.properties.native</language-properties></hook>It builds and deploys in 6.0.2 without error, but to no effect. Please sign in to reply. Reply as... Cancel Milan Palian Milan Palian 13 Years Ago It turned out I had errors in the properties file ... it works, at least it does in 6.0.5.<hook><portal-properties>portal-ext.properties</portal-properties><language-properties>content/Language_sl.properties</language-properties></hook> Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
Puj Z Rex Cheng 13 Years Ago Hi Rex,I already submitted an issue for this:http://issues.liferay.com/browse/LPS-10308I hope somebody would reply from the staff. Please sign in to reply. Reply as... Cancel Rex Cheng Puj Z 13 Years Ago Hi Puj Z,According to this article: http://www.liferay.com/community/wiki/-/wiki/Main/Ext+Plugin , I use the ext-impl to replace the language properties files, and it works. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Rex Cheng 13 Years Ago - Edited @Rex and @Puj, thank you. Ext environment is now available as a plugin. That is, you can do the same in ext plugin as that you can do in ext environment. If not, it is a bug. Thank you Puj to report bugs.By the way, it is working well for me (real example - Knowledge base portlet).<hook> <portal-properties>portal.properties</portal-properties> <language-properties>content/Language_en_US.properties</language-properties></hook>you may have to use (locale, country code, etc.):"Language_en_US.properties" Please sign in to reply. Reply as... Cancel Milan Palian Jonas X. Yuan 13 Years Ago I tried the following to no effect:<hook><portal-properties>portal.properties</portal-properties><language-properties>content/Language_sl_SI.properties</language-properties><language-properties>content/Language_sl_SI.properties.native</language-properties></hook>It builds and deploys in 6.0.2 without error, but to no effect. Please sign in to reply. Reply as... Cancel Milan Palian Milan Palian 13 Years Ago It turned out I had errors in the properties file ... it works, at least it does in 6.0.5.<hook><portal-properties>portal-ext.properties</portal-properties><language-properties>content/Language_sl.properties</language-properties></hook> Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
Rex Cheng Puj Z 13 Years Ago Hi Puj Z,According to this article: http://www.liferay.com/community/wiki/-/wiki/Main/Ext+Plugin , I use the ext-impl to replace the language properties files, and it works. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Rex Cheng 13 Years Ago - Edited @Rex and @Puj, thank you. Ext environment is now available as a plugin. That is, you can do the same in ext plugin as that you can do in ext environment. If not, it is a bug. Thank you Puj to report bugs.By the way, it is working well for me (real example - Knowledge base portlet).<hook> <portal-properties>portal.properties</portal-properties> <language-properties>content/Language_en_US.properties</language-properties></hook>you may have to use (locale, country code, etc.):"Language_en_US.properties" Please sign in to reply. Reply as... Cancel Milan Palian Jonas X. Yuan 13 Years Ago I tried the following to no effect:<hook><portal-properties>portal.properties</portal-properties><language-properties>content/Language_sl_SI.properties</language-properties><language-properties>content/Language_sl_SI.properties.native</language-properties></hook>It builds and deploys in 6.0.2 without error, but to no effect. Please sign in to reply. Reply as... Cancel Milan Palian Milan Palian 13 Years Ago It turned out I had errors in the properties file ... it works, at least it does in 6.0.5.<hook><portal-properties>portal-ext.properties</portal-properties><language-properties>content/Language_sl.properties</language-properties></hook> Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Rex Cheng 13 Years Ago - Edited @Rex and @Puj, thank you. Ext environment is now available as a plugin. That is, you can do the same in ext plugin as that you can do in ext environment. If not, it is a bug. Thank you Puj to report bugs.By the way, it is working well for me (real example - Knowledge base portlet).<hook> <portal-properties>portal.properties</portal-properties> <language-properties>content/Language_en_US.properties</language-properties></hook>you may have to use (locale, country code, etc.):"Language_en_US.properties" Please sign in to reply. Reply as... Cancel Milan Palian Jonas X. Yuan 13 Years Ago I tried the following to no effect:<hook><portal-properties>portal.properties</portal-properties><language-properties>content/Language_sl_SI.properties</language-properties><language-properties>content/Language_sl_SI.properties.native</language-properties></hook>It builds and deploys in 6.0.2 without error, but to no effect. Please sign in to reply. Reply as... Cancel Milan Palian Milan Palian 13 Years Ago It turned out I had errors in the properties file ... it works, at least it does in 6.0.5.<hook><portal-properties>portal-ext.properties</portal-properties><language-properties>content/Language_sl.properties</language-properties></hook> Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
Milan Palian Jonas X. Yuan 13 Years Ago I tried the following to no effect:<hook><portal-properties>portal.properties</portal-properties><language-properties>content/Language_sl_SI.properties</language-properties><language-properties>content/Language_sl_SI.properties.native</language-properties></hook>It builds and deploys in 6.0.2 without error, but to no effect. Please sign in to reply. Reply as... Cancel Milan Palian Milan Palian 13 Years Ago It turned out I had errors in the properties file ... it works, at least it does in 6.0.5.<hook><portal-properties>portal-ext.properties</portal-properties><language-properties>content/Language_sl.properties</language-properties></hook> Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
Milan Palian Milan Palian 13 Years Ago It turned out I had errors in the properties file ... it works, at least it does in 6.0.5.<hook><portal-properties>portal-ext.properties</portal-properties><language-properties>content/Language_sl.properties</language-properties></hook> Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Milan Palian 13 Years Ago Great! Thanks, Milan. Only content/Language_XX.properties should be included here. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Milan Palian 13 Years Ago Nice! thank you, Milan. Please sign in to reply. Reply as... Cancel
ilke Muhtaroglu 13 Years Ago Hello Yuan,As a follower of your book Systems Development, now I miss having new extlet environment in eclipse.How can we have the created my-ext in eclipse ? I tried to import it as a file system into an existing empty Java project, but the folders that doesnt have any file are not imported...Can you please provide any comment or a wiki about having new ext in eclipse environment...ilke Please sign in to reply. Reply as... Cancel Jonas X. Yuan ilke Muhtaroglu 13 Years Ago Hi Ilke, Thanks. You may take following steps to build a new ext in eclipse.1) create a java project called name like "ext528";2) unzip ext zip to the folder "ext528"; (ignore conflicts)3) refresh the project in eclipse.Hope that it helps,Jonas Please sign in to reply. Reply as... Cancel
Jonas X. Yuan ilke Muhtaroglu 13 Years Ago Hi Ilke, Thanks. You may take following steps to build a new ext in eclipse.1) create a java project called name like "ext528";2) unzip ext zip to the folder "ext528"; (ignore conflicts)3) refresh the project in eclipse.Hope that it helps,Jonas Please sign in to reply. Reply as... Cancel
Dave Weitzel 13 Years Ago I am trying to implement -ext plugin through the IDE but think the problem I have is related to the ext plugin in general.where should we edit the portal-ext.properties (to declare new organization types, terms of use etc).trying to use the 5.2 System devt book but within 6.0.4 portal - so I know there are some changes.BTW will there be a 6.0 equivalent or at least 6.0 version of the sample code for the book? Please sign in to reply. Reply as... Cancel Puj Z Dave Weitzel 13 Years Ago Hi Dave,if you are using the portal for the first time you have to create portal-ext.properties yourself in this address:$tomcat-6.0.26\webapps\ROOT\WEB-INF\classesWhetever you write in this file, will be overwritten on the portal.properties after you restart you tomcat.There are some properties that you can change in the portal-ext.properties of your hook, so that you wouldn't have to retart tomcat. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Dave Weitzel 13 Years Ago Hi Dave, the approach is same for both 6.0 and 5.2; and the code should be different.Did you get the issue resolved? Please sign in to reply. Reply as... Cancel Dave Weitzel Jonas X. Yuan 13 Years Ago Hi Jonas,Currently moved on to writing a hook to add to Calendar service. I have just done a dif between the SDK 6.0.4 and new 6.0.5 and notice the ext build file is significantly changed so perhaps this is cleared now.Are you doing an version of the code from the book for 6.0?or even a new book?Thanks for checking ! Please sign in to reply. Reply as... Cancel Jonas X. Yuan Dave Weitzel 13 Years Ago - Edited Hi Dave, Thanks. I am planning to release a new book (Liferay 6 User Interface Development) this year and to release another new book (Liferay Portal 6.1 Systems Development) next year when applicable.Your comments or suggestions would be helpfulJonas Please sign in to reply. Reply as... Cancel
Puj Z Dave Weitzel 13 Years Ago Hi Dave,if you are using the portal for the first time you have to create portal-ext.properties yourself in this address:$tomcat-6.0.26\webapps\ROOT\WEB-INF\classesWhetever you write in this file, will be overwritten on the portal.properties after you restart you tomcat.There are some properties that you can change in the portal-ext.properties of your hook, so that you wouldn't have to retart tomcat. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Dave Weitzel 13 Years Ago Hi Dave, the approach is same for both 6.0 and 5.2; and the code should be different.Did you get the issue resolved? Please sign in to reply. Reply as... Cancel Dave Weitzel Jonas X. Yuan 13 Years Ago Hi Jonas,Currently moved on to writing a hook to add to Calendar service. I have just done a dif between the SDK 6.0.4 and new 6.0.5 and notice the ext build file is significantly changed so perhaps this is cleared now.Are you doing an version of the code from the book for 6.0?or even a new book?Thanks for checking ! Please sign in to reply. Reply as... Cancel Jonas X. Yuan Dave Weitzel 13 Years Ago - Edited Hi Dave, Thanks. I am planning to release a new book (Liferay 6 User Interface Development) this year and to release another new book (Liferay Portal 6.1 Systems Development) next year when applicable.Your comments or suggestions would be helpfulJonas Please sign in to reply. Reply as... Cancel
Dave Weitzel Jonas X. Yuan 13 Years Ago Hi Jonas,Currently moved on to writing a hook to add to Calendar service. I have just done a dif between the SDK 6.0.4 and new 6.0.5 and notice the ext build file is significantly changed so perhaps this is cleared now.Are you doing an version of the code from the book for 6.0?or even a new book?Thanks for checking ! Please sign in to reply. Reply as... Cancel Jonas X. Yuan Dave Weitzel 13 Years Ago - Edited Hi Dave, Thanks. I am planning to release a new book (Liferay 6 User Interface Development) this year and to release another new book (Liferay Portal 6.1 Systems Development) next year when applicable.Your comments or suggestions would be helpfulJonas Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Dave Weitzel 13 Years Ago - Edited Hi Dave, Thanks. I am planning to release a new book (Liferay 6 User Interface Development) this year and to release another new book (Liferay Portal 6.1 Systems Development) next year when applicable.Your comments or suggestions would be helpfulJonas Please sign in to reply. Reply as... Cancel
Puj Z 13 Years Ago Hi,I tried to overwrite e-mail templates (.tmpl files in \com\liferay\portlet\admin\dependencies) by using hooks but it is not working. What I did was I created the same path and put new .tmpl files there and then deployed the hook.Is it an issue or do we have to use ext to change such templates?Any helps would be appreciated! Please sign in to reply. Reply as... Cancel Jonas X. Yuan Puj Z 13 Years Ago Hi Puj, you can double check custom templates file first; and then double check your deployment of new .tmpl files. Please show your testing results here if applicable. Thanks. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Puj Z 13 Years Ago Hi Puj, you can double check custom templates file first; and then double check your deployment of new .tmpl files. Please show your testing results here if applicable. Thanks. Please sign in to reply. Reply as... Cancel
Denis Signoretto 13 Years Ago Hi Jonas,can you clarify what's the difference between a web plugin and develop a normal web application deployed in the same application server as a war?In my case I need to add add an external web service to a an existing Liferay portal on Tomcat. Do you suggest using a web plugin or is more convenient develop an external web apps with axis?Thanks,Denis. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Denis Signoretto 13 Years Ago - Edited Hi Denis, Thanks. Webs or called Web Application Integrator (WAI) will automatically deploy any standard Java servlet application as a portlet within Liferay. To use the WAI, you can simply copy an application WAR file into the auto-deploy directory, and then add the portlet to your page. Webs are similar or most same to normal web applications in general. But you can add more in Webs.For your requirements (an external web service), you can leverage portlets, for example, alfresco-content portlet - it consume web services and RESTful service of Alfresco.Hope that it helps. Please sign in to reply. Reply as... Cancel Denis Signoretto Jonas X. Yuan 13 Years Ago Hi Jonas,thanks for your answer. I add also Ray answer that can help others: "You can do either, since a liferay web-plugin is any pure webapp where all we add is some very thin layer where we can provide checking for dependencies (say if your webapp depends on some portal-plugin service for instance, you can declare through configuration of the web-plugin that it depends on some other portal-plugins). A web-plugin also add support for embedding hook definition or Service Builder services within a plain old webapp. And finally, you can deploy them using the liferay autodeploy mechanism the same way that you do with other portal-plugins (drop in the deploy folder or upload through the UI). I'm sure there might be one or two small things I missed, but essentially, if you don't care about any of the above, go ahead and make you webapp a plain old webapp." Please sign in to reply. Reply as... Cancel Jonas X. Yuan Denis Signoretto 13 Years Ago Cool! Thank you, Denis. That is helpful! Thanks to Ray, too. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Denis Signoretto 13 Years Ago - Edited Hi Denis, Thanks. Webs or called Web Application Integrator (WAI) will automatically deploy any standard Java servlet application as a portlet within Liferay. To use the WAI, you can simply copy an application WAR file into the auto-deploy directory, and then add the portlet to your page. Webs are similar or most same to normal web applications in general. But you can add more in Webs.For your requirements (an external web service), you can leverage portlets, for example, alfresco-content portlet - it consume web services and RESTful service of Alfresco.Hope that it helps. Please sign in to reply. Reply as... Cancel Denis Signoretto Jonas X. Yuan 13 Years Ago Hi Jonas,thanks for your answer. I add also Ray answer that can help others: "You can do either, since a liferay web-plugin is any pure webapp where all we add is some very thin layer where we can provide checking for dependencies (say if your webapp depends on some portal-plugin service for instance, you can declare through configuration of the web-plugin that it depends on some other portal-plugins). A web-plugin also add support for embedding hook definition or Service Builder services within a plain old webapp. And finally, you can deploy them using the liferay autodeploy mechanism the same way that you do with other portal-plugins (drop in the deploy folder or upload through the UI). I'm sure there might be one or two small things I missed, but essentially, if you don't care about any of the above, go ahead and make you webapp a plain old webapp." Please sign in to reply. Reply as... Cancel Jonas X. Yuan Denis Signoretto 13 Years Ago Cool! Thank you, Denis. That is helpful! Thanks to Ray, too. Please sign in to reply. Reply as... Cancel
Denis Signoretto Jonas X. Yuan 13 Years Ago Hi Jonas,thanks for your answer. I add also Ray answer that can help others: "You can do either, since a liferay web-plugin is any pure webapp where all we add is some very thin layer where we can provide checking for dependencies (say if your webapp depends on some portal-plugin service for instance, you can declare through configuration of the web-plugin that it depends on some other portal-plugins). A web-plugin also add support for embedding hook definition or Service Builder services within a plain old webapp. And finally, you can deploy them using the liferay autodeploy mechanism the same way that you do with other portal-plugins (drop in the deploy folder or upload through the UI). I'm sure there might be one or two small things I missed, but essentially, if you don't care about any of the above, go ahead and make you webapp a plain old webapp." Please sign in to reply. Reply as... Cancel Jonas X. Yuan Denis Signoretto 13 Years Ago Cool! Thank you, Denis. That is helpful! Thanks to Ray, too. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Denis Signoretto 13 Years Ago Cool! Thank you, Denis. That is helpful! Thanks to Ray, too. Please sign in to reply. Reply as... Cancel
Puj Z 13 Years Ago Hi Jonas,sorry for my late reply, I finally got the time to test this again and it is still not working.Overwriting .tmpl files (in dependencies folder) is apparently not possible with hook. I don't know if it is an issue or it is just not supposed to work.I would be nice if it would have worked with hooks, because now for every change in email templates (if the gui is not available for changing templates, like in invitation portlet) we have to write an ext?!Thanks for your consideration,Puj Please sign in to reply. Reply as... Cancel Tomas Polesovsky Puj Z 13 Years Ago Hi Puj,it simply isn't possible to overwrite .tmpl files using hook. You need Ext (Plugin) because they are saved together with Liferay classes inside portal-impl.jar and loaded by web-app class loader. It could work if you reload them in the app. server's class loader, but hook can't do it. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Tomas Polesovsky 13 Years Ago Thank you, Tomas. Hooks only support:1) portal properties (only one marked by ?), 2) language properties (could be many marked by *), 3) custom-jsp-dir (only one marked by ?) and 4) service (could be many marked by *) declared in the same order.Hi Puj, you may overwrite .tmpl in $PORTAL_ROOT_HOME/WEB-INF/classes and resetting portal-ext.properties. There are a few examples in the book: Liferay Portal 6 Enterprise Intranets. Please sign in to reply. Reply as... Cancel
Tomas Polesovsky Puj Z 13 Years Ago Hi Puj,it simply isn't possible to overwrite .tmpl files using hook. You need Ext (Plugin) because they are saved together with Liferay classes inside portal-impl.jar and loaded by web-app class loader. It could work if you reload them in the app. server's class loader, but hook can't do it. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Tomas Polesovsky 13 Years Ago Thank you, Tomas. Hooks only support:1) portal properties (only one marked by ?), 2) language properties (could be many marked by *), 3) custom-jsp-dir (only one marked by ?) and 4) service (could be many marked by *) declared in the same order.Hi Puj, you may overwrite .tmpl in $PORTAL_ROOT_HOME/WEB-INF/classes and resetting portal-ext.properties. There are a few examples in the book: Liferay Portal 6 Enterprise Intranets. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Tomas Polesovsky 13 Years Ago Thank you, Tomas. Hooks only support:1) portal properties (only one marked by ?), 2) language properties (could be many marked by *), 3) custom-jsp-dir (only one marked by ?) and 4) service (could be many marked by *) declared in the same order.Hi Puj, you may overwrite .tmpl in $PORTAL_ROOT_HOME/WEB-INF/classes and resetting portal-ext.properties. There are a few examples in the book: Liferay Portal 6 Enterprise Intranets. Please sign in to reply. Reply as... Cancel
Pius Onobhayedo 13 Years Ago Hi Jonas,I wasn't so sure where to paste this suggestion to Liferay. However, since you have this blog on hooks, I felt I should put it here as a comment/suggestion.1. I find hooks very useful for adapting the portal to some specific circumstances. For example, I am using hooks to implement some extra validations before adding, updating or deleting a user, organization, role as well as custom attributes. This fundamentally requires my hooking the corresponding portal services which I have done successfully.2. However, I encounter the following limitation which I think should be addressed in order to make hooks more useful while avoiding the need to tamper with Liferay codes. viz: - The fact that PortletClass is not hookable creates a vacuum between the service hook layer and custom jsp hook layer. For example, I cannot throw new types of exceptions (e.g. due to my custom validations error results) at the service hook layer without having to adjust the Portlet Class (or ActionUtil.java used by the Portlet Class) so as to handle those exceptions. This will logically imply tampering with non-hookable codes which is not neat.3. While acknowledging that making PortletClass hookable may be more challenging, I think that having a generic CustomException("custom-error-message") class always throwable at the service layer could be useful. e.g. public void deleteColumn(long arg0) throws PortalException, SystemException, CustomException{ ...}Such CustomException logically should always be caught at the Portlet Class layer in case it is thrown at the service hook layer. Handling at the Portlet Class layer involves adding the error message associated with it to SessionErrors. i.e. ...}catch(CustomException ce) SessionErrors.add(request, ce.toString()).}...3. If this is done, developers (like myself - I am in love with Liferay development) can throw their CustomException message at the service hook layer and display at the custom-jsp hook layer i.e.<liferay-ui:error key="custom-error-message" message="custom-error-message-language-util-key" />knowing very well that at the non-hookable PortletClass layer, CustomException will always be caught and message added to SessionErrors if any. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Pius Onobhayedo 13 Years Ago Hi Pius, Thanks. Good idea, indeed. Let me check this and come back to you shortly. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Jonas X. Yuan 13 Years Ago - Edited Hi Pius, this is on the Todo list. Both Portlets AND Struts Actions would be hook-able 6.1 or 6.2. Thank you, Pius. You do have good idea.Jonas Please sign in to reply. Reply as... Cancel Pius Onobhayedo Jonas X. Yuan 13 Years Ago Thanks for the feedback and the new addition to the Todo list. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Pius Onobhayedo 13 Years Ago Hi Pius, Thanks. Good idea, indeed. Let me check this and come back to you shortly. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Jonas X. Yuan 13 Years Ago - Edited Hi Pius, this is on the Todo list. Both Portlets AND Struts Actions would be hook-able 6.1 or 6.2. Thank you, Pius. You do have good idea.Jonas Please sign in to reply. Reply as... Cancel Pius Onobhayedo Jonas X. Yuan 13 Years Ago Thanks for the feedback and the new addition to the Todo list. Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Jonas X. Yuan 13 Years Ago - Edited Hi Pius, this is on the Todo list. Both Portlets AND Struts Actions would be hook-able 6.1 or 6.2. Thank you, Pius. You do have good idea.Jonas Please sign in to reply. Reply as... Cancel Pius Onobhayedo Jonas X. Yuan 13 Years Ago Thanks for the feedback and the new addition to the Todo list. Please sign in to reply. Reply as... Cancel
Pius Onobhayedo Jonas X. Yuan 13 Years Ago Thanks for the feedback and the new addition to the Todo list. Please sign in to reply. Reply as... Cancel
Puj Z 13 Years Ago Hi,I am writing a listener and I want to import some services such ascom.liferay.portal.service.ServiceContextThreadLocal; orcom.liferay.portal.security.ldap.LDAPUserTransactionThreadLocal;, I add the classpaths to eclpise and it recognizes the classes, however at the time of deploying I get:1cannot find symbol2 [javac] symbol : class LDAPUserTransactionThreadLocalshould anything extra be done in a hook in order to use liferay services? I have no problem importing models.Down anyone know what I should do in order to to be able to deploy successfully? Copying the classes in my classes directory might be a solution but is not a clean idea. Please sign in to reply. Reply as... Cancel Jonas X. Yuan Puj Z 13 Years Ago Hi Puj, Thanks. Sorry to come back to you late. Do you get the issue fixed? Please sign in to reply. Reply as... Cancel
Jonas X. Yuan Puj Z 13 Years Ago Hi Puj, Thanks. Sorry to come back to you late. Do you get the issue fixed? Please sign in to reply. Reply as... Cancel
alex wom 13 Years Ago I need to use service builder in liferay 6 ext plugins and it seems impossibile. There is a warning that says "WARNING: Support for ServiceBuilder in EXT plugins will be deprecated in future versions. EXT plugins are designed to override the portal's core code thatcannot be done with hooks, layout templates, portlets, or themes. EXT pluginsare not meant to contain new custom services. Please migrate your service.xml toa portlet plugin."This means that in the current version is possible to use service builder and not in the future, but it doesn't work: I seen that in the ext build.xml file (and nested) the build-service is not the same I find in the plugin portlet build.xml file.I need to georeference and date assets so I think the best place is in ext but I need service builder to prepare the additional tables to store georeference and date values... Please sign in to reply. Reply as... Cancel Jonas Yuan alex wom 13 Years Ago Hi Alex, Thanks. Note that support for ServiceBuilder in EXT plugins will be deprecated in future versions. 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. Thus migrate your service.xml of 5.x to a portlet plugin. Please sign in to reply. Reply as... Cancel
Jonas Yuan alex wom 13 Years Ago Hi Alex, Thanks. Note that support for ServiceBuilder in EXT plugins will be deprecated in future versions. 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. Thus migrate your service.xml of 5.x to a portlet plugin. Please sign in to reply. Reply as... Cancel
Yi Chen Chen 11 Years Ago Dear Sir,I'm using Liferay Portal Community Edition 6.0.5 Bundled with GlassFish Server Open Source Edition 3.0.1. I´ve got a problem with my languages hook: changes are always not applied.My liferay-hook.xml:<?xml version="1.0"?><!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.1.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_1_0.dtd"><hook> <portal-properties>portal-ext.properties</portal-properties> <language-properties>content/Language_zh_CN.properties</languageproperties> <language-properties>content/Language_zh_TW.properties</languageproperties> <custom-jsp-dir>/META-INF/custom_jsps</custom-jsp-dir></hook>Please help.Best Regards and Have a Nice DayChen Yi Chen Please sign in to reply. Reply as... Cancel Jonas Yuan Yi Chen Chen 11 Years Ago - Edited Hi Chenyi, you may use "6.0.0" and "*_6_0_0" for 6.0.5 / 6.0.*.For example:<?xml version="1.0"?><!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.0.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_0_0.dtd"><hook> <portal-properties>portal.properties</portal-properties> <language-properties>content/Language_en.properties</language-properties> <language-properties>content/Language_en_GB.properties</language-properties> <language-properties>content/Language_de.properties</language-properties> <custom-jsp-dir>/META-INF/custom_jsps</custom-jsp-dir></hook>Hope that it helps,ThanksJonas Yuan Please sign in to reply. Reply as... Cancel
Jonas Yuan Yi Chen Chen 11 Years Ago - Edited Hi Chenyi, you may use "6.0.0" and "*_6_0_0" for 6.0.5 / 6.0.*.For example:<?xml version="1.0"?><!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.0.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_0_0.dtd"><hook> <portal-properties>portal.properties</portal-properties> <language-properties>content/Language_en.properties</language-properties> <language-properties>content/Language_en_GB.properties</language-properties> <language-properties>content/Language_de.properties</language-properties> <custom-jsp-dir>/META-INF/custom_jsps</custom-jsp-dir></hook>Hope that it helps,ThanksJonas Yuan Please sign in to reply. Reply as... Cancel
Yi Chen Chen 11 Years Ago Dear Sir,Thank you very much for your reply!Unfortunately, changes are still not applied.My liferay_zh_TW_lang_hook.war is attached at ticket LPS-27372. Besides, I fond "French translations 1.0" Community Plugins at the following URL:http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/6830833?_98_redirect=http%3A%2F%2Fwww.liferay.com%2Fdownloads%2Fliferay-portal%2Fcommunity-plugins%2F-%2Fsoftware_catalog%2Fproducts%3F_98_keywords%3Dtranslations%26_98_page%3D1%26_98_type%3D%26_98_tabs1TabsScroll%3D%26_98_itemsPerPage%3D20I suppose that "French translations 1.0" language hook should be work, but I have no idea why my liferay_zh_TW_lang_hook.war language hook isn't work.Please help me to clarify the aforementioned issues I have encountered, thank you very much!Best Regards and Have a Nice DayYi Chen, Chen Please sign in to reply. Reply as... Cancel Peter Shin Yi Chen Chen 11 Years Ago Hi Yi,Try updating the liferay-hook.xml file to this:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.0.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_0_0.dtd"><hook> <language-properties>content/Language_zh_TW.properties</languageproperties></hook>Then add a "Language_zh_TW.properties" file to the .\WEB-INF\src\content directory. Please sign in to reply. Reply as... Cancel
Peter Shin Yi Chen Chen 11 Years Ago Hi Yi,Try updating the liferay-hook.xml file to this:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.0.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_0_0.dtd"><hook> <language-properties>content/Language_zh_TW.properties</languageproperties></hook>Then add a "Language_zh_TW.properties" file to the .\WEB-INF\src\content directory. Please sign in to reply. Reply as... Cancel
Rujuan Xing 11 Years Ago - Edited When I use `ant clean-app-server`, `ant direct-deploy` to deploy my ext plugins example, it gives me error like this. Is there anybody knows the answer? Thank you very much!17:38:05,736 ERROR [http-bio-8080-exec-1][status_jsp:665] org.apache.jasper.JasperException: An exception occurred processing JSP page /html/portal/layout/view/portlet.jsp at line 67 64: </c:if>65: 66: <%67: RuntimePortletUtil.processTemplate(application, request, response, pageContext, out, velocityTemplateId, velocityTemplateContent);68: }69: %>70: Stacktrace:org.apache.jasper.JasperException: An exception occurred processing JSP page /html/portal/layout/view/portlet.jsp at line 6764: </c:if>65: 66: <%67: RuntimePortletUtil.processTemplate(application, request, response, pageContext, out, velocityTemplateId, velocityTemplateContent);68: }69: %>70: Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)...more Please sign in to reply. Reply as... Cancel