The magic of the community

 Hi all!

 
Today, while I was reviewing bug and improvement requests tickets from the community members, I saw a ticket created by Sven Werlen from Savoir-faire Linux, a canadian company.
 
They needed the asset publisher to be able to access and publish assets from all their communities and organizations and they've developed a hook that does this so that they can choose the scope in a wider way, and, here's the magic of the Liferay open source community: they have decided to share it with all the community so they have published their hook in the community plugins repository (Link here: http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/6268657)
 
This is the kind of changes that we may not be interested in adding to the core but some of you may be interested in, and that's perfect for the community to share. I think this is great, to see that there are some companies and individual developers that are willing to share their expertise and experience with the rest of the community, and this is the starting point of the market place we are planning: a place where we can all share our plugins.
 
Things like this make me proud of working in an open source company like Liferay. 
Thank you, guys
Juan Fernández
ブログ
Thanks for sharing Juan!

This is so great!

I got this same requirement yesterday during a demo! How cool is that this company can now just install the hook plugin and start using it emoticon

And thanks to http://www.savoirfairelinux.com emoticon
Thank you very much Juan for creating a ticket about it (that contribution was just a very small hook. We are currently publishing portlets as well).

This was made possible thanks to:
* Liferay's team: for the very powerfull SDK for developping hooks, portlets, and themes.
* my development team which does the work
* my company: which promotes open-source and invests in R&D.
* our customers: who accept that the work we do for them is then shared with the community.
"This is the kind of changes that we may not be interested in adding to the core"

Without that contribution scope selection in Asset configuration is almost useless. As you can see in comments this is very helpful extension so I think it should be a part of Liferay core. Maybe we should make a site when we (community) can vote for features that should go to core similar to this one: http://www.google.com/moderator/#15/e=2a03&t=2a03.40&f=2a03.9adac
Hi Simon,

The reason why we decided to not do this in the core is that while it's very useful for certain scenarios it also raises important security/privacy concerns in others. It also has some consequences in terms of what will be found when a user searches within the community.

In other words, this is not something of general use. But for those cases where the concerns mentioned above are not important, it's a great functionality. IMHO, having it available as a hook is the perfect solution.
I perfectly understand. Actually, this hook might be an issue for the staging environment. A user would expect all displayed web contents to be published to the production environment, but only the web contents of the current organization will be published (as far as I know).
On second thought you're right. I've played with Sven hook and in its current form it's a nice hook but there are some things still to do for this to became a code that can be marged to LR Core:
* currently (in this hook) you can not select user provate communities (My Community) so from my point of view it's missing a best part emoticon
* privacy / security: currently Admin A of Organization A can configure asset to show WCs from Organization B to which this admin doesn't have permissions (he doesn't belong to that org). So this hook should check that.
* privacy / security: If Admin A reconfigures asset to show WCs from Organization B (we assume he has privileges to to that) there are still articles that should be restricted only to Organization B. Currently in Web Content Edit page you can set "Viewable by" but there should be also an option "Power Users (this Community only)". Also all portlets should now how to handle and show web contents with such permission.
Thanks Simon.

It would actually be great if we could all work on this hook and improve it. If it gets improved up to a point were we all feel comfortable with making it part of the core and all contributors agree, I'll be very happy to make that happen.
Thanks to Juan for sharing.

Maybe it would be better to make Asset Publisher configurable: that is, let admin be able to configure scopes (organizations and and communities) in Asset publisher portlet. And then content editors will choose the pre-selected scopes.
Great feature.

I find hooks really useful and use them often. From Liferay fine tunning to mods in bulk or feature addition/modification.

And Liferay is improving them a lot making possible to change more and more points in the platform on the fly.

Congratulations to both Savoirfaire and Liferay.

regards
I am developing a second portal using liferay and again I struggle with the same problem. I have the following requirements:

1. portal content administration must be partitioned according the organization structure so that every department has a right to publish and edit its own articles.

2. the content must be read-only available to the world. It must be searchable, categorizable and published on any portal page independently of its departamental ownership.

I can not find a convenient way to implement it using liferay despite Liferays eleborate implementation of many partitioning and access management concepts like communities, organizations, roles, groups and scopes. It puzzles me. Is this requirement so rare or I am trying to work with Liferay in a wrong direction?

To model the first requirement, it seems, it would be good to use the organizations. But if the content items are organization-scoped, then there is no normal way to present them on a single page with the items of other organizations. Or to make them appear on a single search result list.

If I do not use organizations, then there is no good way to group the content to restrict its management rights.

What is the best way to satisfy my requirements? What would you recommend?
If you try searching liferay forums for "share content communities" you get plenty of unanswered questions...
Maybe this is the feature many people are missing?
You can indeed use the global community.
What we did in several cases is patching the asset publisher to be able to display content from different organizations / communities. It's then easy to use permissions, categories and tags to filter the contents.

But maybe this is not the best place to discuss it...
And using different communities/orgs results in patching asset publisher which is not fully supported/implemented (search results, staging, security etc.).