Foros de discusión

Directory portlet improvements

thumbnail
Janne Hietala, modificado hace 14 años.

Directory portlet improvements

Junior Member Mensajes: 97 Fecha de incorporación: 16/06/09 Mensajes recientes
Hi all,

We've started to develope Liferay features as addition to our own customer project development. One of our projects has been to implement requested improvements to Directory portlet. This proposal can be found at Liferay wiki under Directory portlet proposals.

This functionality is addition to current core liferay directory portlet. Usually when we make customization to the portlet we dont want to use ext-environment, but we would like to separate core portlet as deployable independent portlet. This is easier said than done. We've managed to do an way where you can have core portlet as deployable war / webapp, but it still depends on Liferay core libraries. This we can have both versions of the portlet available without ext-environment.

We've currently implemented following features / proposals:
-Portlet scope - you can create custom filters which directory searching and listing applies to (organisations, groups etc)
-Basic sorting by columns - you can choose default sorting options from preferences
-Configure user information - you can configure what user information is shown in search columns
-Make portlet public - you can set directory to be searchable from guest pages
-Search options - you can select what user attributes are available in advanced search
-Set some users invisible - you can choose users which are not shown in search

This portlet is ongoing some testing and refactoring code to Liferay guidelines. We will be releasing this contribution as open source for free use.

I will keep this thread updated of our development progress and releases. If someone at Liferay is intrested of this contribution, please feel free to contact me. Also any suggestions and feedback is highly appreciated!

Best regards,
Janne Hietala
Consultant, partner
Arcusys Oy
+358 (0) 40 831 42 45
janne.hietala(at)arcusys.fi
thumbnail
Jorge Ferrer, modificado hace 14 años.

RE: Directory portlet improvements

Liferay Legend Mensajes: 2871 Fecha de incorporación: 31/08/06 Mensajes recientes
Hey Janne,

That sounds very interesting, I've been wanting to do several of those changes for a long time.

If you want to contribute it back to Liferay please follow the instructions outlined here: http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/How+to+contribute+to+Liferay

In fact the most important recommendation would be to break down the improvements in small pieces. Start with one of the items you list and send a patch that only includes that part. That way you'll get used to the process of contributing and the code review rules.
James McGovern, modificado hace 13 años.

RE: Directory portlet improvements

Junior Member Mensajes: 68 Fecha de incorporación: 13/06/10 Mensajes recientes
I like the notion of being able to "hide" certain users from search. This should be reflected in the user model.
thumbnail
Marko Ruohoranta, modificado hace 13 años.

RE: Directory portlet improvements

New Member Mensajes: 2 Fecha de incorporación: 24/08/10 Mensajes recientes
Have you released it yet?
thumbnail
Janne Hietala, modificado hace 13 años.

RE: Directory portlet improvements

Junior Member Mensajes: 97 Fecha de incorporación: 16/06/09 Mensajes recientes
Marko Ruohoranta:
Have you released it yet?


There is current version on our github. We will be releasing source code there as well shortly. http://github.com/arcusys/arcusys-directory

If you have any implementation specific questions or want to customize it to your needs please feel free to contact me janne.hietala(at)arcusys.fi. We're located in Helsinki and Joensuu.
Bharath Kumar Reddy Gadikota, modificado hace 12 años.

RE: Directory portlet improvements

New Member Mensaje: 1 Fecha de incorporación: 19/04/11 Mensajes recientes
Hi,

This portlet is not getting deployed in Liferay version 6.0.6, can you help me to fix this problem.

It is working fine for liferay version 5.2.3.

Thanks in Advance.
Scott Steven, modificado hace 12 años.

RE: Directory portlet improvements

New Member Mensajes: 4 Fecha de incorporación: 14/03/11 Mensajes recientes
The most basic need is to have the the listing have a link to a users public page. Right now the portlet is useless to me and causes more trouble by users asking why it can't do this simple thing.
thumbnail
Jorge Ferrer, modificado hace 12 años.

RE: Directory portlet improvements

Liferay Legend Mensajes: 2871 Fecha de incorporación: 31/08/06 Mensajes recientes
The reason is that since the portlet is part of the portal framework it cannot assume that the user has public pages. The extended directory that comes with Social Office for example does have such a link because Social Office does force each user to have a personal page.

It is one of the challenges of being as generic as possible while still being usable out of the box.
thumbnail
Hitoshi Ozawa, modificado hace 12 años.

RE: Directory portlet improvements

Liferay Legend Mensajes: 7942 Fecha de incorporación: 24/03/10 Mensajes recientes
Right, in most of our installation, I'm disabling users' private pages.
thumbnail
Stian Sigvartsen, modificado hace 12 años.

RE: Directory portlet improvements

Regular Member Mensajes: 103 Fecha de incorporación: 27/08/10 Mensajes recientes
This is a really interesting point. I completely agree that you should not make any assumptions when developing portlets about what functionality is available to the user on the portal it is deployed to. In this case the public pages feature. If you can't make a portlet generic then you might as well just develop standard web apps that tend to have functionality more tightly coupled and that's ok. I would challenge statements that portlets are "generic" if they are using the Liferay API without a broker service in the middle though. After all, these portlets would not function on another portal anyway.

I think that if IPC eventing were to be introduced into Liferay's standard portlets then meeting Scott's "basic" requirement of linking to a user's public page could be met in a loosely coupled, generic fashion by
  • The standard Directory portlet publishing an event to say a user has been selected and providing identity information. For example, the eventing payload might be XML with an "UserID" element in a "http://liferay.com" namespace. This then is extendable to cover identity information relevant to other applications through use of different namespaces.
  • A custom Liferay portlet processing the event, utilising the Liferay API to discover if the selected user has a public page. If so, it would render a "click here to go to public page" or similar link.

The approach above compartmentalises the "public pages" requirement into a separate portlet, hence leaving the Directory portlet more generic and without making any assumptions. It would also possible to extend the approach to display user information from other applications. And long term there could even be an IPC hook type releases to enable you to extend/modify the payload of events with auxiliary information to make it easier to communicate with other non-Liferay portlets.

Jorge, it would be great to hear your thoughts on this idea.

-Stian