Liferay's User Interface
Liferay is a portal server. This means that it is designed to be a single environment where all of the applications a user needs can run, and these are integrated together in a consistent and systematic way. If an application lives outside of the portal, the portal should be able to consume some resource of the application (such as an RSS feed or a subset of functionality in a "dashboard" application) so that the end user can see everything he or she interacts with at a glance.
To achieve this, all of the application functionality within Liferay Portal is in fragments of the page called portlets. Portlets are web applications that run in a portion of a web page. The heart of any portal-based web site is its portlets, because portlets are where all of the functionality is implemented. Liferay's core is a portlet container, and the container's job is to aggregate the set of portlets that are to appear on any particular page and display them properly to the user. In this way, one or many applications can reside on a page, and the user can (at the administrator's discretion) arrange them in the way that works best for the user.
Portlet applications, like servlet applications, have become a Java standard which various portal server vendors have implemented. The Java standard defines the portlet specification. A JSR-168 or JSR-286 standard portlet should be deployable on any portlet container which supports those standards. Portlets are placed on the page in a certain order by the end user and are served up dynamically by the portal server.
Portal applications come generally in two flavors: 1) multiple portlets can be written to provide small amounts of functionality and then are aggregated by the portal server into a larger application, or 2) whole applications can be written to reside in only one or a few portlet windows. The choice is up to those designing the application. Developers only have to worry about what happens inside of the portlet itself; the portal server handles building out the page as it is presented to the user.
Portlets are not difficult to build, and Java standard portlets can be written by any Java developer with experience in writing web applications. Liferay provides a Plugins Software Development Kit that makes creating portlet projects easy. For further information about the Plugins SDK, please see the Liferay Developer's Guide.
Additionally, Liferay supports portlets written in other programming languages, such as PHP, Ruby, Groovy, or Python. Sample portlets written in these languages are available to download from our Sourceforge site (http://sourceforge.net/projects/lportal) or can be checked out from our Subversion repository (https://lportal.svn.sourceforge.net/svnroot/lportal).
Illustration 33: The default Liferay Dock. When you see Liferay's default interface for the first time, you will see what we call the Dock in the upper right hand corner of the screen. The Dock is the key to navigating within the supplied Liferay themes: it provides links to all the global functions a user needs, such as logging in and out and switching between various community and organization pages. By default, it contains only two links: Home and Sign In. To show these links, all you need to do is roll your mouse cursor over the Dock, and it will expand.
To sign into Liferay for the first time, you can click the Sign In link. You will then be presented with the Sign In Portlet. This portlet allows a user (or a prospective user) to do several things: sign in to Liferay, create a new account on the portal, or have a password reminder emailed if the user has forgotten his or her password. To sign in for the first time, don't create an account for yourself. We will do that later. If you were to create a new account on the portal for yourself now, it would be created using Liferay's defaults, which means the account would not have access to the administrative portlets you need in order to set up Liferay for your organization. For this reason, you will need to sign in as the default administrative user. This user's credentials are:
User Name: firstname.lastname@example.org
Go ahead and sign into your new portal using these credentials. As you can see, Liferay by default uses one's email address as the user name. This can be changed later if you don't like this functionality, but it is generally a good practice to keep it this way. Users' email addresses are not normally things they will forget, and they are unique to each user, so they make good candidates for user IDs.
Once you log in as the administrative user, you will see that little has changed. The Sign In portlet now displays the name of the user (whose rather unimaginative name is Test Test) who is logged in, and the Dock now displays the text "Welcome, Test Test!" If you hover your mouse over the dock now, however, you will see that there are many more links in it:
Illustration 34: Administrator's DockHome: takes you to the home page.
Control Panel: takes you to the administrative functions of Liferay.
My Account: lets you edit your user information.
Sign Out: logs you out of the portal.
Add Application: opens the Add Application window which allows you to add portlets to the page.
Layout Template: displays the Layout Template window which allows you to choose different layouts for the page.
Manage Pages: takes you to the page administration screen, where you can add and delete pages, change the order of the pages, and configure several other things about pages.
Toggle Edit Controls: This will let you turn on and off the edit controls in the top of the portlet windows. This is helpful for administrators who want to look at a page they're working on and see it the way a regular user would.
My Places: shows you the community and organization pages in the portal to which you can navigate.
If you roll your mouse over My Places, the Dock will expand, showing all of the places in the portal to which you have access. Initially, the place you are on will be highlighted. You will see that you are in the Guest community, on the public pages. Liferay allows for various configurations of pages for end users: you can configure it so that some or all users have their own pages, public and private (or both), upon which they can place the portlets they need to use. The administrator account by default has its own pages. Because you are logged in with an account that has Administrator privileges, you can see everything in the portal.
New in Liferay 5.2 is the Control Panel, a new interface which provides a single place to go for all of Liferay's administrative functions. In versions of Liferay prior to 5.2, you needed to add the administrative portlets to a page somewhere, and a good place to do that was on the Administrator's private pages. Now all you need to do is go up to the Dock and select Control Panel. This is a much easier and faster way to access Liferay's administrative functions and will be the user interface going forward.
With that said, the administrative portlets are still available, and you can still provide access to them if you wish.
Illustration 35: Liferay's Control Panel
Navigating the Control Panel
The control panel is very easy to navigate. On the left side is a list of headings with functions underneath them. The headings are in alphabetical order, but the functions are in a logical order.
User Name: The first section is always the logged in user's personal space. Here, you can change your account information and manage your own personal pages.
Content: The Content section contains links to all of Liferay's content management functions. You can maintain web content, documents, images, bookmarks, a calendar, administer a message board, configure a wiki, and more.
Portal: The Portal section allows portal administrators to set up and maintain the portal. This is where you can add and edit users, organizations, communities, roles, and configure the settings of the portal.
Server: The Server section contains administrative functions for configuring portal instances, plugins, and more.
All of the functions that you will need to maintain the portal or its content can be found in the control panel. Additionally, developers can write portlets which can also be added to the control panel. For further information about this, you can take Liferay's Portal Developer course or see the Liferay Developer's Guide.