jelmer kuperus 12 Years Ago Right now I embed portlets in the theme because I haven't found an easy way to "nest" portlet pages so to speak. Say you have a sidebar that contains the same portlets over 30 pages. You don't want to define these same 30 portlets on all the pages. To my knowledge using themes is the only way to avoid this. Are there any plans to come up with a solution for this ? Please sign in to reply. Reply as... Cancel Ray Augé jelmer kuperus 12 Years Ago I don't believe I suggested NOT to embed portlets! In fact I clearly stated "Embed portlets with impunity! Just make sure to do it carefully!" which means DO embed portlets in themes, just make sure to consider the consequences and use the appropriate method for the type of scenario you are planning. Please sign in to reply. Reply as... Cancel
Ray Augé jelmer kuperus 12 Years Ago I don't believe I suggested NOT to embed portlets! In fact I clearly stated "Embed portlets with impunity! Just make sure to do it carefully!" which means DO embed portlets in themes, just make sure to consider the consequences and use the appropriate method for the type of scenario you are planning. Please sign in to reply. Reply as... Cancel
jelmer kuperus 12 Years Ago yes that point was quite clear. Let me rephrase my question. The gist of your post is that portlets that take a while to render will cause performance problems when embedded in a theme. Suppose you have a sidebar that is common across 30 pages and it contains a portlet that calculates the fibonacci sequence to 1 million. Then basically using iframes / ajax right now is your only option to make things perform. But there are many reasons why one may not want to do this, seo being one of them. So i was wondering if something is in the works for this. I guess what i am really hoping for is something like apache tiles. that lets you nest and extend layouts. Using themes for this kind of stuff always felt like a hack. Right now it feels like liferay is missing a concept Please sign in to reply. Reply as... Cancel Ray Augé jelmer kuperus 12 Years Ago We have several arguments for this! 1) Simply create a re-usable Page Template.2) Unless the portlet is the main focus of the page how does SEO become an issue? Also, why does an iframe play a lesser role in SEO? There are two main points here, The URL used for the iframe is as likely to have as much meaning as any other link in the page. Second, using portlet friendly url router for your portlet is also usable in this case as any other, so the iframe will have a meaningful url. Sure the content is not inline, but I don't see the purpose of having expensive portlets that are NOT the focus of the page have significant weight on the SEO of the page to begin with.3) Why not cache the result of the portlet and re-use it for some time? Even if the portlet is expensive, if you want it's SEO weight to be high, then SURELY you are not changing it so frequently from the page! It must have some direct correlation with the rest on the content of the page in order for SEO to be a relevant argument in my opinion.4) SEO is never user relative! There is no point because in that case the search bots would behave as a different user and the search engine would have irrelevant results that are not searchable for anyone else! Again, this means that you can either cache the output, or take the content out of line! Please sign in to reply. Reply as... Cancel
Ray Augé jelmer kuperus 12 Years Ago We have several arguments for this! 1) Simply create a re-usable Page Template.2) Unless the portlet is the main focus of the page how does SEO become an issue? Also, why does an iframe play a lesser role in SEO? There are two main points here, The URL used for the iframe is as likely to have as much meaning as any other link in the page. Second, using portlet friendly url router for your portlet is also usable in this case as any other, so the iframe will have a meaningful url. Sure the content is not inline, but I don't see the purpose of having expensive portlets that are NOT the focus of the page have significant weight on the SEO of the page to begin with.3) Why not cache the result of the portlet and re-use it for some time? Even if the portlet is expensive, if you want it's SEO weight to be high, then SURELY you are not changing it so frequently from the page! It must have some direct correlation with the rest on the content of the page in order for SEO to be a relevant argument in my opinion.4) SEO is never user relative! There is no point because in that case the search bots would behave as a different user and the search engine would have irrelevant results that are not searchable for anyone else! Again, this means that you can either cache the output, or take the content out of line! Please sign in to reply. Reply as... Cancel
jelmer kuperus 12 Years Ago The problem with page templates is that applying them is a one off. All the portlets defined in the page template are copied to the page but if the page template changes afterwards, all pages based on it do not change automatically. To work around this I sometimes embed portlets in the themeI brought up SEO as just one of many possible reasons why you may not want to use an iframe / ajax based solution. I think the argument is valid if you're taling about say an rss portlet or perhaps the new "related assets" portlet where the content is meaningful to the page. And sure often caching can be employed as a workaround.But I think it would be a lot nicer if other solutions where available that don't make it as easy to shoot yourself in the foot. Even something as simple as named static layouts that you could assign to a page would go a long way Please sign in to reply. Reply as... Cancel Ray Augé jelmer kuperus 12 Years Ago Liferay also has "copy page" ability... with a single selection you could create your new pages derived from any other existing page in the site!It doesn't solve the change management issue.We will have Page Template change management/propagation (not the official name I'm sure) in 6.2. We already have it in 6.1 for Site template change management/propagation. Perhaps that may help somewhat. I do see your point! But as you say, it's just not something we've implemented yet. Please sign in to reply. Reply as... Cancel jelmer kuperus Ray Augé 12 Years Ago Yes i am familiar with copy page. A particularly nasty piece of functionality from a usability standpoint. I have yet to come across someone that has not inadvertedly changed the webcontent on the page the content was copied by editing the webcontent on the copied page. But I digress. Yes it also does not solve the change management issue.So I guess i'll have to wait for 6.2 , but it's good to know it's being worked on. Thanks for the update! Please sign in to reply. Reply as... Cancel Kyrre Myrbostad jelmer kuperus 12 Years Ago I'm having difficulties understanding why you want to use an iframe here. Why not just create a normal portlet with a fast renderMethod, and then do all the heavy lifting through an ajax-call to a resourceMethod in the portlet. It would achieve the same performance benefits without the extra complexity (and possible usability issues) of an iframe would it not? Please sign in to reply. Reply as... Cancel Kyrre Myrbostad Kyrre Myrbostad 12 Years Ago Forgot to mention: the ajax call could be done on dom ready. We are currently doing this with some of our portlets that are not embedded in the theme. Please sign in to reply. Reply as... Cancel Ray Augé Kyrre Myrbostad 12 Years Ago @Kyrre, You're absolutely correct!"Method Two: Ajax / Iframe!"Any technique that avoids heavy synchronous processing should work! Iframe is simply the easiest for existing portlets. I as I was impling above you could even load those using AJAX with a slight alteration to the example code I provided. Please sign in to reply. Reply as... Cancel Jonas Yuan Ray Augé 12 Years Ago nice post! Please sign in to reply. Reply as... Cancel Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
Ray Augé jelmer kuperus 12 Years Ago Liferay also has "copy page" ability... with a single selection you could create your new pages derived from any other existing page in the site!It doesn't solve the change management issue.We will have Page Template change management/propagation (not the official name I'm sure) in 6.2. We already have it in 6.1 for Site template change management/propagation. Perhaps that may help somewhat. I do see your point! But as you say, it's just not something we've implemented yet. Please sign in to reply. Reply as... Cancel jelmer kuperus Ray Augé 12 Years Ago Yes i am familiar with copy page. A particularly nasty piece of functionality from a usability standpoint. I have yet to come across someone that has not inadvertedly changed the webcontent on the page the content was copied by editing the webcontent on the copied page. But I digress. Yes it also does not solve the change management issue.So I guess i'll have to wait for 6.2 , but it's good to know it's being worked on. Thanks for the update! Please sign in to reply. Reply as... Cancel Kyrre Myrbostad jelmer kuperus 12 Years Ago I'm having difficulties understanding why you want to use an iframe here. Why not just create a normal portlet with a fast renderMethod, and then do all the heavy lifting through an ajax-call to a resourceMethod in the portlet. It would achieve the same performance benefits without the extra complexity (and possible usability issues) of an iframe would it not? Please sign in to reply. Reply as... Cancel Kyrre Myrbostad Kyrre Myrbostad 12 Years Ago Forgot to mention: the ajax call could be done on dom ready. We are currently doing this with some of our portlets that are not embedded in the theme. Please sign in to reply. Reply as... Cancel Ray Augé Kyrre Myrbostad 12 Years Ago @Kyrre, You're absolutely correct!"Method Two: Ajax / Iframe!"Any technique that avoids heavy synchronous processing should work! Iframe is simply the easiest for existing portlets. I as I was impling above you could even load those using AJAX with a slight alteration to the example code I provided. Please sign in to reply. Reply as... Cancel Jonas Yuan Ray Augé 12 Years Ago nice post! Please sign in to reply. Reply as... Cancel Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
jelmer kuperus Ray Augé 12 Years Ago Yes i am familiar with copy page. A particularly nasty piece of functionality from a usability standpoint. I have yet to come across someone that has not inadvertedly changed the webcontent on the page the content was copied by editing the webcontent on the copied page. But I digress. Yes it also does not solve the change management issue.So I guess i'll have to wait for 6.2 , but it's good to know it's being worked on. Thanks for the update! Please sign in to reply. Reply as... Cancel Kyrre Myrbostad jelmer kuperus 12 Years Ago I'm having difficulties understanding why you want to use an iframe here. Why not just create a normal portlet with a fast renderMethod, and then do all the heavy lifting through an ajax-call to a resourceMethod in the portlet. It would achieve the same performance benefits without the extra complexity (and possible usability issues) of an iframe would it not? Please sign in to reply. Reply as... Cancel Kyrre Myrbostad Kyrre Myrbostad 12 Years Ago Forgot to mention: the ajax call could be done on dom ready. We are currently doing this with some of our portlets that are not embedded in the theme. Please sign in to reply. Reply as... Cancel Ray Augé Kyrre Myrbostad 12 Years Ago @Kyrre, You're absolutely correct!"Method Two: Ajax / Iframe!"Any technique that avoids heavy synchronous processing should work! Iframe is simply the easiest for existing portlets. I as I was impling above you could even load those using AJAX with a slight alteration to the example code I provided. Please sign in to reply. Reply as... Cancel Jonas Yuan Ray Augé 12 Years Ago nice post! Please sign in to reply. Reply as... Cancel Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
Kyrre Myrbostad jelmer kuperus 12 Years Ago I'm having difficulties understanding why you want to use an iframe here. Why not just create a normal portlet with a fast renderMethod, and then do all the heavy lifting through an ajax-call to a resourceMethod in the portlet. It would achieve the same performance benefits without the extra complexity (and possible usability issues) of an iframe would it not? Please sign in to reply. Reply as... Cancel Kyrre Myrbostad Kyrre Myrbostad 12 Years Ago Forgot to mention: the ajax call could be done on dom ready. We are currently doing this with some of our portlets that are not embedded in the theme. Please sign in to reply. Reply as... Cancel Ray Augé Kyrre Myrbostad 12 Years Ago @Kyrre, You're absolutely correct!"Method Two: Ajax / Iframe!"Any technique that avoids heavy synchronous processing should work! Iframe is simply the easiest for existing portlets. I as I was impling above you could even load those using AJAX with a slight alteration to the example code I provided. Please sign in to reply. Reply as... Cancel Jonas Yuan Ray Augé 12 Years Ago nice post! Please sign in to reply. Reply as... Cancel Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
Kyrre Myrbostad Kyrre Myrbostad 12 Years Ago Forgot to mention: the ajax call could be done on dom ready. We are currently doing this with some of our portlets that are not embedded in the theme. Please sign in to reply. Reply as... Cancel Ray Augé Kyrre Myrbostad 12 Years Ago @Kyrre, You're absolutely correct!"Method Two: Ajax / Iframe!"Any technique that avoids heavy synchronous processing should work! Iframe is simply the easiest for existing portlets. I as I was impling above you could even load those using AJAX with a slight alteration to the example code I provided. Please sign in to reply. Reply as... Cancel Jonas Yuan Ray Augé 12 Years Ago nice post! Please sign in to reply. Reply as... Cancel Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
Ray Augé Kyrre Myrbostad 12 Years Ago @Kyrre, You're absolutely correct!"Method Two: Ajax / Iframe!"Any technique that avoids heavy synchronous processing should work! Iframe is simply the easiest for existing portlets. I as I was impling above you could even load those using AJAX with a slight alteration to the example code I provided. Please sign in to reply. Reply as... Cancel Jonas Yuan Ray Augé 12 Years Ago nice post! Please sign in to reply. Reply as... Cancel Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
Jonas Yuan Ray Augé 12 Years Ago nice post! Please sign in to reply. Reply as... Cancel Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
Satish Bhor Jonas Yuan 12 Years Ago I am not sure of what i am asking makes sense, but can we do other way round where i can have specific themes for my specific portlets configured in my portlet itself. Please sign in to reply. Reply as... Cancel KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
KK rajput Satish Bhor 11 Years Ago @Ray : what about redirecting issue from Iframe something like this http://www.liferay.com/community/forums/-/message_boards/message/13967650 Please sign in to reply. Reply as... Cancel
Onochie Ojekwe 9 Years Ago Hello Ray, this is quite useful, but can we have the freemarker syntax version? Please sign in to reply. Reply as... Cancel
Denis Signoretto 9 Years Ago Hi Ray,moreover, if I'm not wrong, embedded runtime portlets are renderer serially. Do you confirm ? Please sign in to reply. Reply as... Cancel Ray Augé Denis Signoretto 9 Years Ago Yup! Please sign in to reply. Reply as... Cancel
Cyber Katze 9 Years Ago Hallo!i try to embedding assetPublisher portlet in my Theme. But this portlet will be showed only if I logged in system. can I change permission for guest-users? Please sign in to reply. Reply as... Cancel Ray Augé Cyber Katze Hany Bonyadi 8 Years Ago Hi Ray,Many thanks for your posts,is it possible put multiple portlets in one IFrame ? Please sign in to reply. Reply as... Cancel Jatinderpal Singh 8 Years Ago I tried your iframe method for Language portlet, It embeds well into theme. But it does not work as expected. It just refreshes the page but does not translate the page. So, purpose of embedding language portlet is defeated. Please sign in to reply. Reply as... Cancel
Ray Augé Cyber Katze Hany Bonyadi 8 Years Ago Hi Ray,Many thanks for your posts,is it possible put multiple portlets in one IFrame ? Please sign in to reply. Reply as... Cancel Jatinderpal Singh 8 Years Ago I tried your iframe method for Language portlet, It embeds well into theme. But it does not work as expected. It just refreshes the page but does not translate the page. So, purpose of embedding language portlet is defeated. Please sign in to reply. Reply as... Cancel
Hany Bonyadi 8 Years Ago Hi Ray,Many thanks for your posts,is it possible put multiple portlets in one IFrame ? Please sign in to reply. Reply as... Cancel
Jatinderpal Singh 8 Years Ago I tried your iframe method for Language portlet, It embeds well into theme. But it does not work as expected. It just refreshes the page but does not translate the page. So, purpose of embedding language portlet is defeated. Please sign in to reply. Reply as... Cancel