组合视图 统一视图 树状图
讨论主题 [ 上一个 | 下一个 ]
toggle
Sampsa Sohlman
Multilingual friendly urls for portal pages
2009年11月18日 下午2:01
答复

Sampsa Sohlman

LIFERAY STAFF

等级: Regular Member

帖子: 220

加入日期: 2007年9月27日

最近的帖子

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
2009年11月20日 下午10:59
答复

Lisa Simpson

等级: Liferay Legend

帖子: 2034

加入日期: 2009年3月5日

最近的帖子

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
2009年11月23日 上午12:29
答复

Jorge Ferrer

LIFERAY STAFF

等级: Liferay Legend

帖子: 2764

加入日期: 2006年8月31日

最近的帖子

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
2009年11月23日 下午2:29
答复

Sampsa Sohlman

LIFERAY STAFF

等级: Regular Member

帖子: 220

加入日期: 2007年9月27日

最近的帖子

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
2009年11月23日 下午11:23
答复

Zsolt Balogh

LIFERAY STAFF

等级: Expert

帖子: 459

加入日期: 2009年3月23日

最近的帖子

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
2009年11月24日 上午2:05
答复

Sampsa Sohlman

LIFERAY STAFF

等级: Regular Member

帖子: 220

加入日期: 2007年9月27日

最近的帖子

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
2010年9月7日 下午12:33
答复

Charles de Courval

等级: Junior Member

帖子: 55

加入日期: 2010年7月31日

最近的帖子

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
2010年9月8日 上午2:56
答复

Jorge Ferrer

LIFERAY STAFF

等级: Liferay Legend

帖子: 2764

加入日期: 2006年8月31日

最近的帖子

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
2010年9月17日 下午2:29
答复

Sampsa Sohlman

LIFERAY STAFF

等级: Regular Member

帖子: 220

加入日期: 2007年9月27日

最近的帖子

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
2012年12月4日 上午10:05
答复

Denis Signoretto

等级: Regular Member

帖子: 245

加入日期: 2009年4月21日

最近的帖子

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
2012年12月4日 上午10:18
答复

Mika Koivisto

LIFERAY STAFF

等级: Liferay Legend

帖子: 1505

加入日期: 2006年8月7日

最近的帖子

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
2012年12月5日 上午12:26
答复

Denis Signoretto

等级: Regular Member

帖子: 245

加入日期: 2009年4月21日

最近的帖子

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
2012年12月12日 上午12:26
答复

Sampsa Sohlman

LIFERAY STAFF

等级: Regular Member

帖子: 220

加入日期: 2007年9月27日

最近的帖子

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..