New in Liferay: The Control Panel, an administration UI to rule them all

If you've been working with Liferay for a while this is probably an improvement that you will be excited about. If you are new to Liferay then this is a change you'll be even more excited about. So, what is it? In a few words it's a UI that allows administrating the complete portal, from 1 community to thousands of them, from users and organizations to documents, images, articles, ... all together in one single place.

Goals

The whole process of developing the Control Panel started around a year ago when we started to find solutions to some of the issues people where finding when administering very simple or very complex portals. Also, we wanted to use it as a way to teach people about the possibilities of Liferay. The goals of the Control Panel where:

  • To provide a preconfigured UI with all the administration tools provided by Liferay.
  • To allow for automatic delegation of administration. For example, if a user is assigned the Organization Admin role he should be able to administer that organization automatically.
  • To add support for disabling those parts of the administration not being used in a given installation. For example, if you don't use User Groups you should be able to hide that option.
  • To Support adding custom administration tools in a consistent and integrated way.
  • To provide an easy to use UI for portal installations having only 1 or a few websites, but also valid for installations with hundreths or thousands of websites.

And I'm happy to say that we've been able to achieve all of these goals and even implement some other ideas we came up with during the process. You want to see how it ended up like? Here are some screenshots to get you started:

My Account - Every user will have access to the Control Panel and will have at least access to edit his account details

Polls - From the Control Panel you can edit any type of content that might be published through community or organization pages. For example poll questions.

Users - And of course you can manage the users of the portal. The users than an administrator can manage are filtered by his permissions.

 

Server - This section allows checking system resources and perform server administration actions.

Do you like it? keep reading to find out more about how it works.

How it works

All users will have access to the Control Panel by following a link in the top right menu (aka the dock). Once accessed the left menu of the Control Panel will automatically show only the sections that make sense based on the permissions of the user. The bar minimum would be to show the ability to edit his account details.

For the portal administrator all four sections of the menu will be shown:

  • Personal section: provides accessign to edit account details and to manage personal pages.
  • Content: provides access to manage all types of contents: web content (aka Journal), documents, images, blogs etc. (even including content from custom portlets). Since in Liferay all content must belong to a community or an organization, whenever the administration selects a tool to manage content the title of the Control panel shows for which community/org he's administering the content (by default the one you came from) and allows him to select a different one. This way if only have one community (or can only administer one) the UI will be very simple, but if you have many you still have a fast way to move around them.
  • Portal: provides access to manage users, organizations, communities, ... and all portal wide elements.
  • Server: provides access to server related administration tasks, such as checking the memory usage, installing plugins, etc.

Now the cool thing is that as a developer you can actually decide which of the items on the left menu are shown. In fact each of those items is a portlet, so all you have to do is to disable the portlet you don't want to be shown either through the UI (Plugins Configuration in the left menu) or through the liferay-portlet-ext.xml file.

Furthermore you can add any custom portlet to the desired place in that menu and make it part of the Control Panel!! We will add all the details soon in the wiki but in short you just need to add a few new elements in the liferay-portlet.xml file that would look similar to this:

        <control-panel-entry-category>portal</control-panel-entry-category>
        <control-panel-entry-weight>1.0</control-panel-entry-weight>
        <control-panel-entry-class>com.liferay.portlet.enterpriseadmin.UsersControlPanelEntry</control-panel-entry-class>

The first element determines to which section of the menu will the portlet be added, the second one determines the position and the last one is optonal and allows deciding under which conditions the item will be shown or not.

Availability and next steps

The Control Panel is already available in our source control repository and will be availabled packed in the upcoming Liferay v5.2. Also for enterprises needing long term support it will be available in Liferay v5.3 which will be our next LTS release.

As you may have identified in the screenshots above, besides the development of the development of the Control Panel itself we've also added many other improvements to several specific administration tools. For example the user administration has been completely redesigned to allow for a much faster and more usable administration. For example, now when editing a user it's possible to see and change it's roles, communities, organizations and user groups along with all other user details. Also you can change all his details and save them at one time. Other cool features are the custom attributes, permissions assignements, reminder queries, improvements to roles and to login configuration,etc. We'll be blogging and writting wiki entries about all of these in the next days.

And, of course, we are already thinking about how to improve the Control Panel even further. As soon as we release 5.2 we'll start working the make it even better for 5.3. And for that we need your help, we'd love to hear what you think about the Control Panel (both the good and the bad) and specially keep coming the ideas about how to improve it.

Finally, I'd like to send a special thanks to Julio, Nate and Ray who did an amazing job to make the Control Panel a reality. Also to everyone else that helped during development and providing feedback. Thanks guys, you rock! emoticon

Blogs
Beautiful work, Jorge (and everyone else who worked on this). You guys are the best!
Sir,i am a student . Iam new to Liferay . can u please help me to create a sample JSF portlet .
Which IDE i can use ? How can i connect liferay server to that IDE ?

My mail id is : speak2dani@gmail.com
Hi Daniel,

Welcome to the Liferay world emoticon

I would recommend you to search our wiki (wiki.liferay.com) and use our forums to ask for help if needed (forums.liferay.com).

Also there are plenty of articles in the Internet for using JSF for developing portlets. I would start by looking for articles about Icefaces.
Fantastico Jorge and everyone else.
This will be a big step forward in usability.
This is the first I've heard of "Liferay v5.2 for Early Adopters", can I cannot find more about it by searching liferay.com. Can you give me a pointer? Is this something for commercial customers?
Thanks,
==Leonard
Hi Leonard,

No worries, v5.2 will be available to everyone with the same Open Source licence as all other Liferay Portal SE releases. I've reworded the text to avoid the confusion.

What I really wanted to highlight is that 5.3 will be our next Long Term Support (LTS) edition that will include the Control Panel since I assume that's the release most enterprises will care about.
Can you go into more detail on what the difference is between a LTS release and a non-LTS release? (Or point me to relevant existing info.) An LTS release will be officially supported by Liferay in their commercial support packages for a longer period of time? How long? Is the philosophy of the LTS release to go easy on adding new features and aim for robustness and less bugs instead?

-Erik
Hi Erik,

Exactly! This is the result of the feedback we've received from enterprises using Liferay that need very stable and supported releases. This will work through a subscription to Liferay Enterprise Edition. You can find more details here: http://www.liferay.com/web/guest/services/support/portal
Erik, there is also an FAQ you can read that distinguishes the differences:

http://www.liferay.com/web/guest/products/eefaq
Fantastic news guys, the control panel looks brilliant, I look forward to having a play with it myself, any idea when 5.2 might be released?
The control panel looks nice, but how do I enable a specific portlet for a specific user role?

I want to have a role "Content Creator" who can manage Web Content. As the Journal Portlet is gone, I don't see how I can enable non-Administrators to manage content.

Even if I give my community role all privileges on the "Web Content" portlet it does not show up in the user's Control Panel
Hi Thomas,

There might be situations such as yours in which we still have to fine tune the rules to allow user's to access certain parts of the control panel. So knowing about use cases like yours really helps (thanks for that).

For the short term you have two solutions:
1) Reenable the Web Content portlet back by editing liferay-display(-ext).xml
2) Edit the filterPortlets method in the /html/portlet/layout_configuration/view_control_panel_menu.jsp to consider your use case.

We left that method in the JSP so that it would be easier to customize until it's fully fine tuned based on the feedback from users. It would be great if you could do it in a generic way and contribute it back.

If you have further questions please open a new thread in the forum so that it gets more visibility. Also post the link here to make sure I don't miss it.
You can't be serious!

A portal where - in the default installation - only Administrators can publish content!
What sense does that make?
What use is the whole approval process if only Administratos are able to create content as they can approve it themselves anyway.

So there is no way of enabling the Journal (Web Content) for regular users other than hacking the source code of Liferay?

I really like the enhancements to the Journal stuff (repeatable structure fields. Finally!)

But with these limitations I'm now stuck between a rock and a hard place.

5.1 has a bug so I have to give full permissions to a user in order to get him to add and change articles and in 5.2 I can't even give a regular user that ability to manage content.

I'm pretty frustrated about the new release emoticon
Hi Thomas,

I think you misunderstood me, there are definitely ways to do full delegation of content management. In fact the sample data provided with 5.2 shows how to do it.

All I meant is that if you need to define some custom roles those might not provide full access to the content management capabilities through the Control Panel.

In any case, I'll take a look at the thread.
HI Folks,

How can I use this future with Liferay 5.1.1?
I don't want to change the Liferay version only for control panel but I need the future.
how its achievable?
Hi Chirag,

You'll have to update to 5.2 to use the Control Panel. It's quite a large change to make it available to previous versions.
Oh..Okie. You mean its possible.! No risk for deadlock.
It’s Sound good. I am ready for that change and digging activity in Liferay5.1.1. Bundle. Can you give me hint or roadmap for the same. so I will start writing wiki or forum for the community.Waiting for taking task.

Thanks in advance Jorge.
In my portal environment I make extensive use of the individual administrative portlets to present delegated admin users just the tools they need.

I've made the comment before that from the user perspective significant changes to Liferay functionality (this is essentially is removing several administrative portlets from the product) should be placed on in a public roadmap well before the expected implementation date.

Removal of features/interfaces that can be expected to have a major impact on existing customer installs should go through a deprecation period first.
Hi Christopher,

No worries, we've been careful to leave the door open to let use the individual admin portlets for those of you that really need it. Just edit liferay-display.xml and move them to a visible category.

That way you'll have time to adapt your portals to use the control panel.
Hi Jorge, good work!!

I have a problem, i can´t see two sections in the left menu; "portal" and "server" i´ve read :

"Now the cool thing is that as a developer you can actually decide which of the items on the left menu are shown. In fact each of those items is a portlet, so all you have to do is to disable the portlet you don't want to be shown either through the UI (Plugins Configuration in the left menu) or through the liferay-portlet-ext.xml file."

how could i to see this sections in my Control Panel

Thanks in advanced
Hi Manuel,

The sections shown depend on the permissions of the user. Be sure to test it out with the default user which has the Administrator role to make sure all Control Panel sections are shown.
Hi Jorge,

My user should be the Admin because i can see in the portlet shop, orders of other users however in "Roles", i haven´t roles to organizations and communities, and i can´t sign in with the test@liferay.com user

thanks in advanced
I can't us the links on the right side of the control panel, can someone tell my why?
When i go to "My Account" and click on "Password" or any other of the links nothing happens.
All Great in control panel Except one thing Missing signout link
Can control panel be role based? For example i want webcontent portet to be shown for a role called "Abc" and not for another role called "Pqr"? How to achieve that?
Hi Zankar,

Yes it is. It automatically hides or show the different items of the menu based on the user permissions. For the items in the "Content" section they are all shown or none shown by default but you can use the "Access in Control Panel" permission when defining the permissions of a role for a more finegrained control. I'm not sure if this feature made it into 5.2.3, but it's available for sure in the upcoming 5.3 and 5.2EE
Hi Jorge,
i have a problem,i have a portlet which has view,edit,guest preferences,preferences modes .only an admin has accesses to edit,preferences,help and all the other should have accesses to guest preferences,view,help.i logged in as admin and changed the configuration so the above mentioned manner.but when i logged in as any user other than admin all i can see is help ,not guest preferences.so can please suggest me some thing or point me towards an example which solves my problem
Hi,

How can I make a link in my portlet to the Control Panel page (or other LP-pages)? Is there any standard way to do it?
Thanks! emoticon
Hi Jorge,
I am having an issue with polls display in the user side.When ever i add a new poll for the user the polls display portlet is asking me to make it available for the user.How can i show the poll question directly to the user.
Polls from control panel are meant to manage many polls. where as polls display is meant to show only one poll at a time. Thus polls display will have to be configured to decide which poll needs to be shown. The concept is similar to web content display portlet