Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Sampsa Sohlman
Multilingual friendly urls for portal pages
November 18, 2009 2:01 PM
Answer

Sampsa Sohlman

LIFERAY STAFF

Rank: Regular Member

Posts: 220

Join Date: September 27, 2007

Recent Posts

Hello all

Because of the Blog of Jorge Ferrer and related comment. I decided to write my suggestion how to make multilingual friendly urls to Liferay portal page.

At "Manage pages" there are fields "Name" and "HTML title" which can have multilingual values, but friendlyurl cannot. ´The case of friendly is little bit more compicated, because url has to be unique, which means that page's friendlyurl should be unique. There is also issue that differnent languages can have same words like Spanish has "flor" and Portuguese has "flor" (which both means flower) and also cases that same word on different languages might have different meaning too. So to solve this locale information should also binded to page's friendly url. So this could be done on following way.

Example 1: page flower on different languages

1http://localhost:8080/web/guest/en_us/flower
2http://localhost:8080/web/guest/es_es/flor
3http://localhost:8080/web/guest/pt_pt/flor


or there might be solution to add that locale to first like current solution, but I believe that it would fit better to Liferay architecture to add locale after the group. So second option would look like.

Example 2:

1http://localhost:8080/en_us/web/guest/flower
2http://localhost:8080/es_es/web/guest/flor
3http://localhost:8080/pt_pt/web/guest/flor

And of course the url http://localhost:8080/web/guest/es_es/flower or http://localhost:8080/es_es/web/guest/flower would not work, because the friendly url is language based.

When using virtual hosting for communities, friendly url would look following.

1http://mysite.local:8080/en_us/flower
2http://mysite.local:8080/es_es/flor
3http://mysite.local:8080/pt_pt/flor


What if the every or some languages would like to have their own virtual host. Example:

1http://us.mysite.local:8080/flower
2http://es.mysite.local:8080/flor
3http://pt.mysite.local:8080/flor


If there is only one language defined then the locale information would not be visible on url.

1http://localhost:8080/web/guest/flower


Tecnically this could be implemented by moving frienldyurl from Layout entity to new FriendlyUrl entity, which would then point to Layout. This way the database index would also look after integrity of url. I have't dug very deep to source to look where else it would effect.

This kind of feature would be very usefull for me and my clients emoticon With current Liferay design the friendly url might be in Finnish but content is Basque, which is not good.

If you have ideas let's discuss at here.

- Sampsa
Lisa Simpson
RE: Multilingual friendly urls for portal pages
November 20, 2009 10:59 PM
Answer

Lisa Simpson

Rank: Liferay Legend

Posts: 2034

Join Date: March 5, 2009

Recent Posts

I'm currently having a rant about this very issue myself... You can find it here.... Poor Dimtry... try doing this in Cyrillic characters....
Jorge Ferrer
RE: Multilingual friendly urls for portal pages
November 23, 2009 12:29 AM
Answer

Jorge Ferrer

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2764

Join Date: August 31, 2006

Recent Posts

Hi Sampsa,

Thanks a lot for your analysis. Using a locale at the beginning of the URL path is actually already supported in 5.2, and will be added by default for all languages other than the default in 5.3.

Regarding the implementation I can see a few challenges. First, as you say, we would need two new entities: LayoutFriendlyURL and GroupFriendlyURL. They would have the following columns:

GroupFriendlyURL
- companyId (not absolutely needed, but added for performance reasons following the current patterns)
- groupId
- languageId
- friendlyURL

LayoutFriendlyURL
- companyId (not absolutely needed, but added for performance reasons following the current patterns)
- groupId (not absolutely needed, but added for performance reasons following the current patterns)
- plid
- languageId
- friendlyURL

Then, the FriendlyURLServlet would need to be modified so that it's aware of the locale and can search for the appropriate group and layout using the new entities.

In any case, it seems quite doable. Sampsa, if you have the time, it would be very helpful if you could take a deeper look and find out if there are any pending challenges that would need further consideration.
Sampsa Sohlman
RE: Multilingual friendly urls for portal pages
November 23, 2009 2:29 PM
Answer

Sampsa Sohlman

LIFERAY STAFF

Rank: Regular Member

Posts: 220

Join Date: September 27, 2007

Recent Posts

Hi Jorge

For sure I will look on to this. It will be usefull feature emoticon

You also did add the multilingual frienlyurl for group, which is good.

So the plain url would then look following.

1http://localhost:8080/<locale>/web|group/<localized name for group>/<localized name for page>

Quick guestion?

Why to group's friendlyurl is on Group entity and virtualhost is located at LayoutSet?

The encoding issue that Lisa mentioned has to be also taken account.

- Sampsa
Zsolt Balogh
RE: Multilingual friendly urls for portal pages
November 23, 2009 11:23 PM
Answer

Zsolt Balogh

LIFERAY STAFF

Rank: Expert

Posts: 459

Join Date: March 23, 2009

Recent Posts

Sampsa Sohlman:
Why to group's friendlyurl is on Group entity and virtualhost is located at LayoutSet?

There's one friendly URL for the group, but there are 2 layoutSets - the public and the private. This way you can create one virtual host for your public and one for private pages.

The friendlyUrl is the same for the public and private pages because from the /web/ or /group/ portal knows it's a public or a private layoutset, there's no need to have 2 names.
Sampsa Sohlman
RE: Multilingual friendly urls for portal pages
November 24, 2009 2:05 AM
Answer

Sampsa Sohlman

LIFERAY STAFF

Rank: Regular Member

Posts: 220

Join Date: September 27, 2007

Recent Posts

Thanks, that is also clearly explained at Control panel's "Edit Pages for Community"

- Sampsa
Charles de Courval
RE: Multilingual friendly urls for portal pages
September 7, 2010 12:33 PM
Answer

Charles de Courval

Rank: Junior Member

Posts: 55

Join Date: July 31, 2010

Recent Posts

Hi ,
I'm cuttently having the same problem where I'm trying to have friendly url in both french and english. i'm using Liferay 6.0.5 and I'm wonderring if this issue has been fixed and if so, how to implement it?
thanks
Jorge Ferrer
RE: Multilingual friendly urls for portal pages
September 8, 2010 2:56 AM
Answer

Jorge Ferrer

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2764

Join Date: August 31, 2006

Recent Posts

Hi Charles,

Liferay does not support having more than one friendly URL for the same page at once. This thread is a proposal to implement such functionality to allow entering one friendly URL per supported language, but it hasn't been implemented yet.

Jorge
Sampsa Sohlman
RE: Multilingual friendly urls for portal pages
September 17, 2010 2:29 PM
Answer

Sampsa Sohlman

LIFERAY STAFF

Rank: Regular Member

Posts: 220

Join Date: September 27, 2007

Recent Posts

As I know nothing has done for this, may be to create improvement issue to Jira.
Denis Signoretto
RE: Multilingual friendly urls for portal pages
December 4, 2012 10:05 AM
Answer

Denis Signoretto

Rank: Regular Member

Posts: 245

Join Date: April 21, 2009

Recent Posts

Sampsa Sohlman:
As I know nothing has done for this, may be to create improvement issue to Jira.


Hi Sampsa,

do you know if some improvement about this issue will be available on next release (6.2) ?

Thanks,
Denis.
Mika Koivisto
RE: Multilingual friendly urls for portal pages
December 4, 2012 10:18 AM
Answer

Mika Koivisto

LIFERAY STAFF

Rank: Liferay Legend

Posts: 1505

Join Date: August 7, 2006

Recent Posts

Denis, the work has not been started yet so it's hard to say whether it makes 6.2 or not.
Denis Signoretto
RE: Multilingual friendly urls for portal pages
December 5, 2012 12:26 AM
Answer

Denis Signoretto

Rank: Regular Member

Posts: 245

Join Date: April 21, 2009

Recent Posts

Thank you Mika.

Do you know if there is an already opened issue I can follow (watch on Jira)?

Thanks,
Denis.
Sampsa Sohlman
RE: Multilingual friendly urls for portal pages
December 12, 2012 12:26 AM
Answer

Sampsa Sohlman

LIFERAY STAFF

Rank: Regular Member

Posts: 220

Join Date: September 27, 2007

Recent Posts

Denis Signoretto:
Do you know if there is an already opened issue I can follow (watch on Jira)?


There is clearly need for for this for these kind of feature, but as I know of there is still no jira issue of it. We could continue this thread and make a little specification and put it then through Liferay's product managment and hope that it then would turn up to product.

I have actually made a little proof of consept of the site part of this feature and I call it SiteURL. SiteUrl is to manage url + locale (+ redirect etc.) to site. This you can find out from git hub. https://github.com/sammso/liferay-portal/tree/6.1.1-ga2-siteurl. This is still missign page friendly url, but I think it is doable. Disclaimer: It is partially working and it is not done yet, but you can take a look. If you are running it you have to fill siteurl table from LR database. I'm currently Liferay employee so I have to mention that this feature is my personal experiment there is no guarantee that it will ever come part of the product..