Fórum

Do you use Liferay as a Web Application?

James Barwick, modificado 8 Anos atrás.

Do you use Liferay as a Web Application?

New Member Postagens: 15 Data de Entrada: 29/04/15 Postagens Recentes
Hi all,

Liferay may be an "Enterprise" solution. I've been trying for the better part of 5 months to determine if Liferay can be used for a web application (not an enterprise application).

Here is the issue. The UI absolutely sucks. Especially with Liferay 7

The whole concept of the "User" in liferay seems to be:

"A user is an individual that will make alterations to the portal, add content or update site information, or create a 'personal' web site"

This is completely opposite to the concept of:

"A user is someone that will use the applications/portlets not he site to do work"

Take for example the new Liferay 7 God awful UI.... When you mouse over a portlet, it animates the portlet "title" sliding over / up and becoming a dark visible heading. This doesn't appear for 'anonymous' users. But, for a 'user' it appears.

Next, the 'power user'...geeze...normal users can't even use half the portlets because in order to do so they need all these permissions set (by the way, the permission system is....ok...but has a lot of issues).

I have found that I cannot use 'power' user. I need a 'user' that is a site member Role that needs to be created and all these permissions added to the user to allow them to use all these portlets...under the permission category of 'site administration'. They are not 'administering' a site or app...they simply need to use a portlet (such as notifications, messaging, calendars...etc).

This is long winded with a simple question:

Should I just abandon Liferay and write my own Web application to suit my purpose? I don't need to allow multiple users to 'create and maintain a portal'. I was only considering liferay as a way to bootstrap an application development effort.

Any helpful thoughts?
thumbnail
Ravi Kumar Gupta, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

Liferay Legend Postagens: 1302 Data de Entrada: 24/06/09 Postagens Recentes
Hi James,

Typically the similar scenario stands true for almost all of the Portal and CMS solutions available. There are users in a system with different roles and permissions to perform actions they are responsible for. The visitors and normal users will however continue to use Liferay as a web app just like any other.

The portal you are evaluating and making a decision on is actually not fully developed to be used and ready for end users. I am talking about both Liferay 7 and any other version. Unless all the business requirements are developed and made available for 'end users', it won't make good sense.

The applications you mentioned - notifications, messaging, calendar etc.. are actually related to user because they have ability to show personalized content. In case you want to make everything public, create everything public.

Last- I would not abandon Liferay just because of these reasons. There are many websites running on Liferay and performing too good. https://www.mytatasky.com/ is one of them which serves whole India for DTH recharges of Tata sky.

I hope I understood your problem. Please do let us know your views.

-Ravi
James Barwick, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

New Member Postagens: 15 Data de Entrada: 29/04/15 Postagens Recentes
Rav,

One of the issues we have with the dockbar is that we have many sites in our prototype. I suspect we will have thousands.

Each site is listed twice in the Sites menu because "public" and "private" are setup as two separate sites. Not "anonymous users" and "authenticated users" for the site.

IMHO the menu would should the site once in the menu. Public pages link if you can't access the private pages. Else the private link.

This is what I mean by "portal administrators" vs "application users".

Just because a user is in the user's list, and we wish to have them "login" to the portal to use the message boards, wiki, blog, documents and media, or other portal apps, doesn't mean that they are 'portal administrators or contributors" that modify the content or structure of the portal.

A differentiation needs to be made between a user of the portlets (apps) and a user of portal (content contributors).

It is clear that the "dockbar" is intended for Content Contributors and Portal Administrators. The bar is not intended for "users of the portal apps" and thus shouldn't appear. So, we will write our own "Dockbar" and not show the Liferay Dock unless the user is actually a content contributor. This seems to be the easiest way.
thumbnail
Juan Gonzalez, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

Liferay Legend Postagens: 3089 Data de Entrada: 28/10/08 Postagens Recentes
Hi James,

James Barwick:

I don't need to allow multiple users to 'create and maintain a portal'. I was only considering liferay as a way to bootstrap an application development effort.


James Barwick:

"A user is someone that will use the applications/portlets not he site to do work"


Can you ellaborate on what do you need for your website? I don't see the difference between someone "who uses the applications" and "an individual that will make alterations to the portal, add content or update site information, or create a 'personal' web site", like you said.

Thanks!
James Barwick, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

New Member Postagens: 15 Data de Entrada: 29/04/15 Postagens Recentes
Juan,

Thanks for the response!

Mentioned in an earlier post that there needs to be a distinction between users of portlets (apps) an users of the portal (content contributors). I think I have come up with a solution for that.

What I have not figured out yet is three issues:

1) personal pages. I'd like there to be a "profile" page for users. I spent a lot of time with LR Social Office when probably I shouldn't have. SO probably pointed me in the wrong direction for many many things.

Liferay has this out-of-the-box setting for "Power User" which can maintain their own personal site. We do NOT want that. Personal sites should come from a template. If the template is updated, the update should propagate to ALL personal sites. We found a way to define in portal.properties the LAR for creating the profile and dashboard pages. But, they are not tied to a template. If I have 10,000 users, I don't know how to update all 20,000 'sites' automatically. So, as I said, I probably spent to much time with Social Office.

I wish now to abandon that whole User Profile / User Dashboard concept. We will write one page and make it available in our own custom dockbar for the user profile and dashboards on a site that comes from a template.

The only problem with this solution is that I can't take advantage of many of the Marketplace plug-ins that I could buy if those plugin needed to be placed on a 'personal page'. (Such as one of the Social Networking plugins I looked at).

2) public / private pages (i.e. sites). Perhaps I don't understand the purpose yet...but

If I was writing an app or building a site, I want pages available to anonymous users an pages available to authenticated users of a site. I don't necessarily want that to be completely different menu-bars. Authenticated users still need access to the public pages. In a user profile/dashboard page, there is an option to "display the Instance Site page menu" (which is fine if the user is of that site...but what about a virtual site?)... but .. I didn't find a way to show a unified menu of public/private pages displayed when authenticated. Or pages to display based on User Role. Or user Group. Copying the page structure from the public to the private site isn't an option (I think)...even though they would share the same content.

3) Custom Links on the Menu bar. I want to add an item to the menu bar which is a hyperlink. They hyperlink would go to another site (domain or virtual domain). A custom link. It seems as if Liferay menus can only be page titles. I don't want to create a page, then add to the "javascript at bottom of page" a redirect statement.
thumbnail
Juan Gonzalez, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

Liferay Legend Postagens: 3089 Data de Entrada: 28/10/08 Postagens Recentes
Hi James,

you're welcome, we are here to help ;-).

James Barwick:
Juan,
What I have not figured out yet is three issues:

1) Liferay has this out-of-the-box setting for "Power User" which can maintain their own personal site. We do NOT want that. Personal sites should come from a template. If the template is updated, the update should propagate to ALL personal sites. We found a way to define in portal.properties the LAR for creating the profile and dashboard pages. But, they are not tied to a template. If I have 10,000 users, I don't know how to update all 20,000 'sites' automatically. So, as I said, I probably spent to much time with Social Office.

I wish now to abandon that whole User Profile / User Dashboard concept. We will write one page and make it available in our own custom dockbar for the user profile and dashboards on a site that comes from a template.

The only problem with this solution is that I can't take advantage of many of the Marketplace plug-ins that I could buy if those plugin needed to be placed on a 'personal page'. (Such as one of the Social Networking plugins I looked at).


Hi James, well, seems you didn't find some interesting Liferay features in your 5 month investigation. It's possible to have templates for Liferay user's sites, so you have to maintain that only from one place, and all users will have those changes. In order to do that, just create a User Group, set the desired Site templates for that User Group (you know a Site template can have Page templates as their pages too), and then all users assigned to that User Group will have that template in their public/private pages. Please see this link

James Barwick:

2) public / private pages (i.e. sites). Perhaps I don't understand the purpose yet...but

If I was writing an app or building a site, I want pages available to anonymous users an pages available to authenticated users of a site. I don't necessarily want that to be completely different menu-bars. Authenticated users still need access to the public pages. In a user profile/dashboard page, there is an option to "display the Instance Site page menu" (which is fine if the user is of that site...but what about a virtual site?)... but .. I didn't find a way to show a unified menu of public/private pages displayed when authenticated. Or pages to display based on User Role. Or user Group. Copying the page structure from the public to the private site isn't an option (I think)...even though they would share the same content.


Hmm I am not sure if I understood what you want about the menu bars. Do you want both "public" and "private" pages to show as one instead of two rows? In that case you can always create your own theme and override the navigation template so it shows whatever you want.

James Barwick:

3) Custom Links on the Menu bar. I want to add an item to the menu bar which is a hyperlink. They hyperlink would go to another site (domain or virtual domain). A custom link. It seems as if Liferay menus can only be page titles. I don't want to create a page, then add to the "javascript at bottom of page" a redirect statement.


Again, check my previous comment about overriding all the parts you want as your own theme.
thumbnail
Andrew Jardine, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

Liferay Legend Postagens: 2416 Data de Entrada: 22/12/10 Postagens Recentes
Hi James,

I think first and foremost we should all acknowledge the fact that you're probbaly not going to get an impartial response to your questions -- not when you are it on a Liferay forum.

Clearly you are frustrated. I did actually read through your entire post -- but it took all my patience to do so. Opening comments like "Here is the issue. The UI absolutely sucks. Especially with Liferay 7" probably isn't the best way to solicit help from people on the Liferay forum -- people excited about the next release no less. You're also wrong by the way. If you have ever worked with any of the competing products you would know that Liferay's UI is far better than most. And before you go on a tear about "UX and Useability" I will state my opinion (wanted or not) which is that both those terms are as overused as "Architect" in this business. The fact remains that what is intuituve for one might be completely confusing for many others.

Now, to your question. First mistake -- as has been pointed out, is that you are using an Alpha version of the product. Liferay 7 is almost ready for release so I won't claim that any great changes are expected but if you want to use a stable version, 6.2 is what you should using, but I suspect you know that after 5 months of usage.

The next thing to consider is what you are working with. A portal is not the same as a monolith web application. A portal certainly makes some things a lot harder than just a plain old web app but the "harder" factor also comes with many other benefits that you do not get with a plain old web app. Some of the pain points you describe I think many of us would share and there are certianly features in Liferay that still leave me scratching my head as to why they are there, but portals have standards so sometimes these things exist in order to meet compliancy. So whether or not you should use Liferay is not a 20 minute conversation and really should be a task undertaken by someone who (a.) understands the benefits of the technology, (b.) the complexity that comes with those benefits and (c.) hask knowledge of the strategic direction of the business (and IT) to figure out if there is alignment there. From experience most people get into bad water as a result of one of two scenarios

1. They chose the portal without really understanding why you would or what a portal is. Usually this is the result of reading an article or typing "java portals" into google and not bothering to look beyond page 1 of the results emoticon.

2. Java developers that approach portal archtiecture with the same hammer they use to build standalone monoliths. Portals are not the same so you can't always use the same paradigms. They think that they can get all the awesomeness of "plugins" but not have to do anything different. Then they get 6 months in and can't do something that is elementary in a regular java app because its not how a portal works. Rather than criticize the JSR standards, they simply declare that "Liferay sucks".

Neither of these cases are the correct way to select or use the portal and do no represent the power and benefits of the technology.


I'm not going to bother talking about the title bar complaint. It is easily remedied through configuration. Five minutes on google (or even this forum) would have revealed that to you. The permissioning system in Liferay is large and granular -- but very easy to use compared to many other products.

Rather than tell you "use it" or "drop it" I'll share with you some of my experience. I think I have almost earned industry dinosaur statu as I have about 20 years under my belt not -- and only the last 4 - 5 have included Liferay. A long time ago Java developers did things like dependency injection by hand. It was a sweet pattern that provided flexibility -- but boring to code because you do the same thing over and over again (yawn). Then someone came up with frameworks (like Spring) so that you get all the flexbility, but you don't have to do all the plumbing yourself. Liferay, for my tool kit, is like the next step in the evolution. I use the portal to build web sites and web applications -- it simply depends on my client's needs. The beauty is that it has a very rich and a very intuitive (semantic) api with simple patterns for extension. So once you get over the "JSR" standards piece and understand how portlets work, working with Liferay is a dream. The fact that you can literally change ANYTHING in it to meet your needs means I don't have to create a login process from scratch because my requirement has an extra field (when compared to the out of the box). I can hook it -- add the field, hook the action to recognize my new field and I'm done. All the encryption, the persistence, the servlet filters, the wiring, the auditing, the session management, the tokens, etc -- all handled for me. So Liferay, for me, takes care of the stuff that I don't like to do (or even that I might not be good at) and leaves me to focus on the requirements my client has. It is a PLATFORM for development. At leat that is how I see it. A lot of developers only see the requriements -- the functional requirements and give no thought to the things that are actually hard. Clustering, caching, threading, resource management, security etc. You get all that stuff for FREE when you use Liferay -- and that is not an insignificant amount of work.

Is it always super straight forward and Mickey Mouse? nope. Is there a learning curve? definitely (though it should get shallower with LR7). Have I been through more than one keyboard out of frustration sometimes? You bet -- though that honour is not limited to just Liferay emoticon

Closing thought. If Liferay is so difficult and unintuitive and not the right solution for websites, much less audiences with limited technical knowledge, then why would it be used for http://www.sesamestreet.org/ ... you don't get much simpler than gearing your site towards a child emoticon I think you should give it a chance and use the forums to get the guidance and help to push through problems. Of all the products I have worked with, this forum has some of the best support (I think).
James Barwick, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

New Member Postagens: 15 Data de Entrada: 29/04/15 Postagens Recentes
Wow! Thanks!

First...let me say this:

I should have started my previous post with: "I think Liferay is AWESOME!" .

No, really I do. I love the architecture, the structure, the framework, the flexibility of the way Liferay does things.

And...I post here so people can tell me I'm wrong...vs another site where I wouldn't get any advice.

I certainly do appreciate your response, .... I only really have 2 issues with liferay. Issues we can overcome.

1) The UI/Theme seems like it's designed in such a way as to be unusable. Meaning, they (The Liferay team) expect you to create your own theme. Or buy one.

2) The 'purpose' of the user system wasn't entirely clear...even after reading 5 months worth of documentation.

The previous post was written in a "transition of understanding" A period when the frustration mark tipped the scale and direction has become completely clear.

If I want to use liferay as a framework and foundation for our application, I will be proceeding as thus:

1) We will start our own theme. From scratch. Using the _unstyled theme as a base and then writing our own CSS for any 'out of the box' portlets that we would use. I suspect this will be limited to Wiki and Message Boards...the rest of the portlets in our theme would be custom.

2) The "dockbar" (in subsequently the user system) is intended and targeted a administrators of the portal. This means that we will write our own portlet to replace _145_portlet (dockbar) with the functionality we want, and in our portlet_normal.vm in our theme, we will not output or display the Liferay dockbar except if the user has a Role that is "Portal Administrator". Easy enough. Therefore, our application users that use the liferay authentication system will not be subjected to the liferay dockbar unnecessarily.

Having tipped the point where these 2 points are now completely understood, the forward direction is now clear.

We love the authentication system, permissions system, and modularity of the Liferay portal.

So. Your points have been taken, absorbed, and much much appreciated.
thumbnail
Andrew Jardine, modificado 8 Anos atrás.

RE: Do you use Liferay as a Web Application?

Liferay Legend Postagens: 2416 Data de Entrada: 22/12/10 Postagens Recentes

We will start our own theme. From scratch. Using the _unstyled theme as a base and then writing our own CSS for any 'out of the box' portlets that we would use. I suspect this will be limited to Wiki and Message Boards...the rest of the portlets in our theme would be custom.


This is the best approach, at least I think, and about the only way I have ever delivered a project. The one exception I would say is that I tend to start with the _styled theme so that things like the dockbar, and configuration menu (in the title bar of portlets) etc still work. _unstyled creates, in my opinion anyway, a lot of additional work for you and is really only beneficial in situations where you want to disable most of the out of th things e box stuff. I hear what you are saying about the out of the box theme not really being general, but let's face it -- with every site having it's own branding and style, how the heck would you ever make a generic theme applicable to every scenario. I think the parts that are important that do (or at least should) overlap though liferay does provide, e.g. the classes for the responsive layouts. I would also add that if you stick to the aui taglibs as much as possible then it might make your life easier for some stuff (layouts, form fields, etc). Having said all that -- yeah, theming is a time consuming process. In case you haven't come across it yet, Emilio Berg has this awesome script that you can use to make your theme development much faster. https://github.com/emiloberg/Liferay-Instant-Deploy-Theme-Changes-Gulp-Script


The "dockbar" (in subsequently the user system) is intended and targeted a administrators of the portal. This means that we will write our own portlet to replace _145_portlet (dockbar) with the functionality we want, and in our portlet_normal.vm in our theme, we will not output or display the Liferay dockbar except if the user has a Role that is "Portal Administrator". Easy enough. Therefore, our application users that use the liferay authentication system will not be subjected to the liferay dockbar unnecessarily.


I can't say as I completely agree with this. The dockbar is supposed to be contextual based on your permissions and access rights. Administrator or not, for example, when you log in you only see the sites that you have access to. The things you might want to disable (for example the ability to add portlets to a page) you should be able to tune in the Roles configuration in the Control Panel. If you want to customize it, then there is nothing stopping you from wiriting a hook to do so -- however I will agree that sometimes it is easier to roll a simpler version that is your own than it is to hook an existing feature. Personally, I prefer to leverage as much of what comes with the portal as I can, particularly in an EE scenario where you have support.

All this said, I am glad to hear that you are giving Liferay a chance. Five months is certainly not an insignificant amount of experience with the portal (especially if you are working with it daily) but you're just warmin up. Five months from now I bet you would revisit this post with a whole different perspective on how to solve the same problem emoticon