Do you know that you can not use characters like “:” in article titles?

As said here if you will use virtual host option in Liferay and add special character (like colon) Liferay will not translate it to proper page adress. Does any one knows is it fixed? Issue number maybe? A patch?

There are days where I feel the same thing as Liferay haters.


Liferay East Coast Symposium 2011

If you have any question find me on East Coast Symposium where I’m gonna give a speech about Liferay Community at 10th May 3:40 pm.

See ya.

Talking about integration

You all know that Liferay gives you many tools for quick integration with other application.

If it’s Java application you can deploy WAR file and with little luck you will see a new portlet with your app in Add application menu.
If it’s served as on separate page you can always show it in IFRAME portlet or in Proxy portlet.

You can also integrate you several applications using SSO, OpenID and LDAP.

But what if you want to always communicate to your users that they are still in your system?

For example let’s take combination of 3 apps: Liferay+OLAT LMS+Lime Survey. I know you can replace Lime Survey with Orbeon forms but here it serves another purpose – it’s not written in JAVA. First and easiest step is to share users through LDAP. In all those apps all is done by selecting proper option in control panel. Now let’s do SSO. Here you will ran into some problems as Lime Survey doesn’t have any CAS integration out of the box.  You can avoid that by selecting apps that support the same authorization solutions. And after that you will have nice pack of apps. But this not the way users see it.

Form their perspective those are different apps they have to learn to use. In most cases they will not even share same look and colors. And when they use their own window system and portlets and they check if it’s opened in IFRAME users will go nuts trying to go back to their Private Page (Liferay) from Learning Course (OLAT LMS). What you can do is to provide on all you apps somekind of unified “frequently used links” listing. And as you generally use Liferay the best way it will be to show it in the manner of Dockbar. Sounds interesting to you? If yes, than vote for ticket LPS-12281. Maybe it will be done as a part of “100 Paper Cuts” program.

Newsletter portlet available for testing

Hi all,

As from today you can test newsletter portlet on our sandbox here . Feel free to add, change, delete. If you find it usefull or you have some ideas how can we improve existing functionalities leave us a comment. Our sandbox is deployed on Liferay 6.0.3 but we can prepare that plugin for newer versions of Liferay. Pricing and licencing is coming soon 🙂

Liferay 6.0 Newsletter portlet – update

Hi all,

As we getting more and more questions about Newsletter portlet (when and how much) here is a little update.

We’re aiming at end of March with release of both Community and Commercial version of our Newsletter portlet. For now we know that it will have double licencing – one for commercial use and one for non-profit, educational purposes. We still thinking about shareing source code – how to do it so we can re-use all the upgrades made to it by community so it can be more functional with every release.

For now our newsletter is scope aware (so you can define different newsletter channels for different scopes e.g communities). Newsletters emails are made by editors with a help of WYSIWYG editor. Editors can assign / delete emails from newsletter channel and export user list to CSV file. There is additional portlet for sign in and out of Newsletter where users can choose desired channels.

Those are basic functionalities planned for first release. We have couple of more waiting in our queue but for now I want to hear what other functionalities do you need boys and girls? 🙂

Well brother it doesn’t look good

Taken from Liferay JIRA. Question is those new tickets are related to trunk (which is unstable so they should be closed or tagged “will check that in 6.1 RC) or to stable version (6.0.6) of Liferay.

Liferay hate, love, learn

Today I saw a intereting page. It’s all about why Liferay sucks. I know that LR is no shiny diamond (I hate Liferay blogs portlets) and I know it has many very interesting features (I love Liferay web content structures) but lets see what other people say:

Built on top of obsolete and over-engineered fundamentals (Java Portlet API) that are pain to work with. Community edition lacks proper Javadoc. No real support for easy portlet development, portlets are NOT simple portal extensions as proclaimed by Liferay. Liferay code looks like a bunch of util method calls, some methods have 100+ lines of code. In the end, people end up hacking their way through Liferay / Portlet API to satisfy various business requirements, instead of building something that would suit their needs. Liferay is an illusion of something that can do everything (“Hey, it has CMS, it has forums, it has galleries!”) and this is something sales people like to listen to – User-440ujs

I don’t agree on Javadocs – you can see that they are updated (see here). As for all other things I agree in 50%. Source code is messy and scriptles are overused but beatifull code wont help you sell portal to your customer.

Next one.

The CMS is a joke. Making a Liferay site look like anything other than Liferay is an act of self-torment. Whoever is in charge of Liferay UX needs to be replaced. Avoid this turd like the plague! – User-107fzu

Yep, styling is hard but thats beacuse pages consits of many portlets. It’s like saying that space shuttle is more complicated than a car – yes it is. But as for Liferay UX – I agree in 100%. Liferay UX (even in the newest LR 6.1) is horrible. Tons of Javascript, unconsistent configuration pages (I’m talking about web content structure). As I said beafore many thing in Liferay and in UX also are just proof-of-concept. Sometimes I’m wondering is there anyone responsible for LR UX as whole one product. In terms of UX Liferay is light years behind WordPress and miles behind Alfresco and Joomla.

Developing a new portlet is both, extremely painful (i mean, physically painful) and limited (Liferay is a lot of things, but open to new technologies is not one of them). Hot deploy is a very attractive feature, sadly it basically doesn’t work, you can have a well nice 70% of struggling with the tool, 20% testing, leftovers for coding. If you need something that hasn’t been developed for it before, well prepare to be another lost soul – User-987i9x-250c0e

I don’t agree on the first sentence. Developing portlets is harder if you don’t know how to do it. It’s not simple (and sometimes unsecure) PHP where you can write echo “Hello world”. Hot deploy – I’ve heard that someone is working on fixing that (I think it was Tomas Polesovsky).

Other comments were about lack of LDAP integration (we tested that last month and it worked fine ootb), no way to delete old instance (well in such complex system turning off  is a safer option than delete).

On the opposite we have many Love comments (most came from Jorge Ferrer) but one of them is worth pasteing here:

Liferay rocks! Not simple tool for dummies (hey guys – it’s Java not PHP), but you can extend everything! Try to learn commercial portals – Tomas Polesovsky

The part you should remember is “you can extend everything! Try to learn commercial portals”. If you will work on large projects you will see that difference between PHP and JAVA is not so big – you will ran to same problems in both.

Quick update between projects

Did you saw new Liferay JIRA? Well here it is 🙂

Hope it will help solve problems quickier 😉

Social little things

Let’s talk about social optioons in Liferay. As you know (or not) Liferay has a lot of social extensions out-of-the-box. Some of them are grouped into Social Networking package (you can get it here). and other are in Liferay core. So we have friendship options like: request friendship, accept / deny friendship, invite friends (IMHO this one is obsolete as I don’t see any real use case for than in any of portals we are developing), friends (nice but there is no configuration like show with / without avatras or show only avatars), wall (most functional portlet of them all), activities, friends activities and my favourite ones  – Meetups and Summary. I said that those are my favourite ones beacuse I see big potential in such option not that they have such functionalities. For example Meetups is duplicating functionality of calendar. Why can’t we have “I attend” option in calendar? With that option we will be able to mimic with Liferay sites such as  Don’t know why this one was made as separate portlet. Similar thing is beign done with Summary portlet. Why there is additional field in it that is not linked in any wahy with user profile? Why there is no configuration page where administrator could select what fields from user profile he want’s this portlet to show? Maybe it’s the case of “no functional specification in Liferay”? Maybe. But that’s for another talk. Let’s get back to our social options.

Portlets are one thing. Another one is contributing to your portal. Here situation is also good looking. We can prepare public pages for users and private pages. On his private and public pages user can add his content (with new layer for entering WC through Asset Publisher this is much easier to customize than ever before). One big problem is that Liferay has no Content Sharing option (disscussed here). Oh, there is Global scope but I haven’t’ found proper compilation of user permissions to allow User access to that scope. Also Global scope doesn’t give you any isolation of users and their content so User A is able to edit and change WC of User B. Hope that this will be solved in near future.

So we have functionalities, content and now we want users to enter this damn data into our portal. There is no other option as to give them a virtual carrot so they will follow it. One carrot is the Social Equity and ranking of most egaged users. Users will earn point for writting and commenting and that’s awesome. Second carrot is the ability to personalize their site. They can do that by manipulating portlets (another minus for LR is lack of good graining of perrmisions so we are not able to dissallow changeing Look & Feel of portlets). or by choosing their theme. One thing to remember – Liferay has no option to define theme for each user. Yep, I know that for many portals this is basic function but for reason unknown this is not made in LR. But if you want something like this take a look at Alimozzaman blog (here). He wrote a step by step instruction how to do it. I think he should fill JIRA ticket for that and contribute solution (as we did with data structure in LPS-743).

I won’t wrote much about OpenSocial – you can read Paul Hintz presentation or view his webinar at Liferay LIVE here.

So as you can see you can almost build entire social network application from scratch using Liferay. Just remember that with every functionality in Liferay comes one bug or lack of something (good spec and thinking in most cases).

But that’s for another talk.

Liferay Life – Developing Social Applications leveraging OpenSocial

Here is recording of last Liferay Life session. This time Paul Hinz reviewed the basics of Open Social and Liferay’s implementation.