Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
com
http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/building-jquery...
Idioma
Registrar
Entrar
Recent Bloggers
Jonas Yuan 50 Mensagens 31 de Dezembro de 2011
Voltar
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript. Refer to http://jquery.com/ Liferay portal 6 uses Alloy UI instead of jQuery, which means YUI3 (http://developer.yahoo.com/yui/3/) is included as core part, and
jQuery is not included as core part anymore. Ideally you can use whatever version of jQuery you need for your custom developments, refering to the blog post Can I have different jQuery versions in Liferay? and ticket LPS-10872. This article will introduce how to build jQuery based plugins in Liferay 6. Hope that this article would be helpful to upgrade custom
30 de Dezembro de 2011
Note that the property header-portal-javascript sets the path of JavaScript that will be referenced in the page's header relative to the portal's context path; and the property footer-portal-javascript sets the path of JavaScript that will be referenced in the page's footer relative to the portal's context path. Add JSP files under the folder /docroot/jsp.
Note that you may include addition JavaScript at JSP file like <script type='text/javascript' src='js/jquery_1.4.2.js'></script>
Sample Screenshots
Testing environment: Liferay portal 6.0.2.and 6.0 GA (6.0.3 - revision 57559)
Animate
1 de 7
04-01-2012 10:34
http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/building-jquery...
Fade out
Do it yourself
You can download the WAR with source code at: sample-jquery-portlet-6.0.2.1.war and drop it to $PORTAL_HOME/deploy or use UI "Plugins Installation" under Control Panel. For more details, you may refer to the book Liferay Portal 6 Enterprise Intranets. If you want to use different jQuery version other than 1.4.2, you can go to the folder ${sample.jquery.portlet.war}/js and update jquery.js with expected version.
Migration
Supposed that you have custom portlets heavily using jQuery in 5.1 or 5.2, now you are planning to migrate to 6.x. You can simply add different version of jQuery jquery.js in portlet specification liferay-portlet.xml as follows. <header-portlet-css>/css/style.css</header-portlet-css> <header-portlet-javascript>/js/jquery.js</header-portlet-javascript> <footer-portlet-javascript>/js/jquery-ui-custom.js</footer-portlet-javascript> That's it. It is simple, isn't it? your comments? URL de trackback: http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/trackback/building-jquery-based
Tweet 0 Curtir 0
submit
BlinkList
del.icio.us
Newsvine
Technorati
Showing 37 Comments
Frank Yu
06/07/10 16:50 Great post, Jonas. jQuery is not only the default JavaScript framework in Liferay Portal 5.x, it is also widely used in out-of-box portlets from Liferay and custom portlets developed in Liferay community and enterprises. One of the most asked questions from my enterprise clients is how to handle the migration of jQuery-based portlets to Liferay Portal 6. With the solution explained in this blog, the migration shall be straight-forward. You can include your jQuery library in your own portlets running on Liferay Portal 6 and don't have to rewrite your portlets to use YUI3. Isn't it good to have both jQuery and YUI3 coexisted in your portal environment?
Xinsheng Chen
07/07/10 13:39 Hi, Jonas, This is really nice. The pictures are also good. Thanks!
2 de 7
04-01-2012 10:34
http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/building-jquery...
Denis Signoretto
08/07/10 00:14 Hi Jonas, it I want include jQuery in all *.war (many portlets in different war) what's the best way? Can I add jQuery as global include? Thanks, Denis.
Jonas Yuan
08/07/10 06:59 Hi Denis, thanks. You may manage many portlets with hook in a single plugin and add following in init_js.jsp (included in init.jsp): <script type='text/javascript' src='js/jquery_1.4.2.js'></script> Hope that it helps, your comments?
Nate Cavanaugh
20/07/10 09:28 Hi Denis, The best way to do that would be to simply include the jQuery javascript file from your theme. That will guarantee that it's global for all portlets. You can also view my recent blog post for more info: http://www.liferay.com/web/nathan.cavanaugh/blog/-/blogs/using-jqueryor-any-javascript-library-in-liferay-6-0
Mohamed Rizan
09/08/10 05:05 Hi All, I am new to liferay and portlet developement, i created my own portlet and it works fine in single column layout, but the problem is when i use it in 3 column layout in the center column, and if i refresh teh page , the page layout was changed to two column layout, i tried with this sample jquery portlet also, and i am getting the same problem, Can any one pls suggest me am i missing anything.. Thanks in advance
Jonas Yuan
23/08/10 11:36 Hi Mohamed, you can share your code here. Thus anybody can give you comments.
Jonas Yuan
05/10/10 09:58 Hi, Nguyn, Thanks. Simply, you may use the sample code: jQuery and AJAX as entry point. There are a lot of examples talking about jQuery and AJAX. Refer to jQuery UI: http://jqueryui.com/ Hope that it helps.
3 de 7
04-01-2012 10:34
http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/building-jquery...
Can you read it, please: process2.js: --------------function AjaxGet2(address,param,containerid,divchild,revattribute,func){ //showloading(); $.ajaxSetup ({ // Disable caching of AJAX responses */ cache: false }); $('#'+divchild).html("<div class='ajaxLoading'> Đang tải dữ liệu... </div>"); $.ajax( { url:address, type:"GET", cache: false, datatype:"html", data:param, success:function(text){ showResponseText2(text,containerid,divchild,revattribute,func); //closeloading(); } } ); } ----------------You can see clearly my process.js in link: --https://docs.google.com/leaf?id=0B_fgXf97eQg1ZjhiYWQ4NWUtN2I1ZS00NDQ2LThiOWEtNzYwNDhiMDNjZjZk&hl=en --And if my process2 unusable, you can help me for some code demo in jqueryui, please.(i looked for http://jqueryui.com/ but i don't see ...). So sorry! But i'm newbie. Sorry for my disturbing. --------Thank for you're help!!!
Jonas Yuan
07/10/10 14:13 Hi Nguyn, cool! Thanks for updates. You can move forward ...
4 de 7
04-01-2012 10:34
http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/building-jquery...
Jonas Yuan
05/12/10 07:40 Hi Raja, Thanks. You can find info at Applying jQuery and its custom UI in Liferay 6 plugins http://www.liferay.com/web/jonas.yuan/blog/-/blogs/applying-jquery-and-its-custom-ui-in-liferay-6-plugins. like: Note that the property header-portal-javascript sets the path of JavaScript that will be referenced in the page's header relative to the portal's context path; and the property footer-portal-javascript sets the path of JavaScript that will be referenced in the page's footer relative to the portal's context path. Similarly, the property header-portlet-css sets the path of CSS that will be referenced in the page's header relative to the portlet's context path; while the property footer-portlet-css sets the path of CSS that will be referenced in the page's footer relative to the portlet's context path. Hope that it helps, Thanks, Jonas
Mayur Patel
12/02/11 10:06 Hi Jonas, I have implemented this sample-jquery-portlet in LF6, Its looking very excellent and having many functionalities but I have to implement same thing in LF5.2.3 Which kind of changes I will have to make to run that same portlet in LF5.2.3 ?????...help me in that.... Thanks in Advance
Jonas Yuan
14/02/11 09:14 Hi Mayur, Thanks. For Liferay 5.2.5, you may refer to the post: Using jQuery (or any Javascript library) in Liferay 6.0 (by Nate) at http://www.liferay.com /web/nathan.cavanaugh/blog/-/blogs/using-jquery-or-any-javascript-library-in-liferay-6-0. Hope that it helps.
alex wom
28/02/11 23:18 If I need jquery widgets and scrolling 1.8.2 do I need to assemble them in a jquery-ui-custom.js? Another question: does your books available in ebook format? I live in Italy and I would like to download quickly.
Jonas Yuan
01/03/11 12:29 Hi Alex, thanks. By default, jquery widgets and scrolling should be included in UI 1.8.2. If possible, use UI latest version like 1.8.9 and jQuery 1.5. Yes, ebook is available at https://www.packtpub.com/authors/profiles/jonas-x-yuan. Hope that it helps.
Raghavendra V
07/03/11 00:00 hi, Is there any way to completely avoid Alloy Ui/YUI being loaded on liferay portlets and use only jQuery
Jonas Yuan
07/03/11 10:28 Hi Raghavendra, the portal core uses Alloy Ui/YUI as default settings. But in your portlets, you can avoid using Alloy Ui/YUI. Of course, you can just use jQuery as you expected. This is the beauty of Liferay portal.
5 de 7
04-01-2012 10:34
http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/building-jquery...
Nate Cavanaugh
07/03/11 18:17 Hi guys, To remove AlloyUI altogether would break any of the bundled portlets that rely on it. To ask a different question, what could AlloyUI do better to help you not wish to remove it? We're always looking for great feedback, so if there's an area of AlloyUI that you guys would like to see improved or feel it's falling short of your needs, don't hesitate to ask
Raghavendra V
07/03/11 20:22 Thanks much Jonas,
Raghavendra V
07/03/11 20:40 Hi Nate, the reason behind to stick to jQuery is we have already developed few components based on jQuery framework and loading multiple frameworks is not good idea in page performance point of view.
Marc Piparo
17/03/11 15:30 Please help. I added entries into ad-portlet/WEB-INF/liferay-portlet.xml as follows: <portlet> <portlet-name>admanager</portlet-name> <icon>/images/icon.png</icon> <header-portlet-css>css/style.css</header-portlet-css> <header-portlet-javascript>javascripts/jquery.js</header-portlet-javascript> <layout-cacheable>true</layout-cacheable> <add-default-resource>true</add-default-resource> </portlet>
but now the ad manager portlet errors loading up: org.springframework.be ans.factory.BeanDefinitionStoreException: IOException parsing XML document from PortletContext res ource [/WEB-INF/context/admanager-portlet.xml]; nested exception is java.io.FileNotFoundException: Could not open Portle tContext resource [/WEB-INF/context/admanager-portlet.xml]
Jonas Yuan
19/03/11 08:31 Hi Marc, you got FileNotFoundException: Could not open Portle tContext resource [/WEB-INF/context/admanager-portlet.xml]. Could you please double check /WEB-INF/context/admanager-portlet.xml? Thanks,
Mani kandan
08/07/11 00:22 Hi jonas I have the problem over loading the javascript file in my custom portlet. In my liferay-portlet.xml file <portlet> <portlet-name>165</portlet-name> <instanceable>true</instanceable> <header-portlet-javascript>/html/portlet/book/main.js</header-portlet-javascript> </portlet> When I make some changes in my main.js file, the js file not being loaded that is after refresh the page i couldn't get the modified values. It forced me to restart the tomcat server. I cleared cookies of my browser but still having problem. Note: I am using LR 6.0.6 and i m not using Plugin i m creating portlet in LR tomcat itself.
Jonas Yuan
11/07/11 07:27 Hi Mani, Just tested jQuery 1.6.2 and UI 1.8.14 in Liferay 6.1, the approach mentioned in this post was working properly. By the way, what's the /html/portlet/book/main.js? Do you refresh the page? Thanks
6 de 7
04-01-2012 10:34
http://www.liferay.com/pt/web/jonas.yuan/blog/-/blogs/building-jquery...
[...] Hi, I am facing a peculiar issue with <portlet:namespace/> when used with jQuery, i followed the blog by Jonas, but quiet strangely my jQuery Javascript method is not picked up <aui:button... [...] Read More
Mani kandan
20/07/11 01:35 Hi Jonas, Yes i am refreshing the page after make some changes in my main.js file but I couldn't get the modified values. Once I restart the server then only it is affecting the values. /html/portlet/book/main.js - is my js file path /html/portlet/book/view.jsp - is my jsp file path 21/08/11 22:36
[...] I think Ajax tool kit Ajax no longer to be used for Liferay's new version. Yes better to choose DWR DWR Link Or jQuery Link Mark as an Answer [...] Read More
Serdar Ayalp
02/09/11 02:14 thxs 05/09/11 04:30
[...] I think Ajax tool kit no longer to be used for Liferay's new version. Yes better to choose DWR DWR Link Or jQuery Link Mark as an Answer [...] Read More 15/11/11 03:07
[...] You can create as portlet as plugin portlet or create portlet in liferay-portal-6.0.6\tomcat-6.0.29\webapps\ROOT\html\portlet. Refer this blog blog and this link Flag Please sign in to flag this as... [...] Read More 15/11/11 21:47
[...] You can create as portlet as plugin portlet or create portlet in liferay-portal-6.0.6\tomcat-6.0.29\webapps\ROOT\html\portlet. Refer this blog blog and this link Flag Please sign in to flag this as... [...] Read More
Mani kandan
02/01/12 03:26 good article thanks
NEWS
BLOGS
PRIVACY POLICY
SITEMAP
CONTACT US
ABOUT US
7 de 7
04-01-2012 10:34