Transitioning to DXP Digital Enterprise and Liferay Portal CE 7.0 Development

Company Blogs October 5, 2017 By James Hinkey Staff

If you've been developing apps, hooks, and themes on Liferay Portal 6, you might be wondering whether you'll be able to develop apps the same way on DXP Digital Enterprise 7 and Liferay Portal CE 7. The answer is "yes"!

You might also be curious whether Liferay's provided documentation that speaks to Liferay Portal 6 developers ready to transition to DXP Digital Enterprise and Portal CE 7 development. Once again, the answer is an emphatic "yes"!!

We've tailored a Learning Path for you titled From Liferay Portal 6 to 7!

Here are its topics:

There's lots of good stuff to cover. The Learning Path starts by relating the new product to what you know from Liferay Portal 6. It builds from there by highlighting new benefits, diving into OSGi and modularity fundamentals, and sharing tool improvements. But in case you need to deploy your plugins on 7.0 right away, you can jump to documentation on planning plugin upgrades first. It's completely up to you.

The upgrade planning article provides a "cheat sheet" that maps 6.x plugin types to 7.0. So you can upgrade fast. The Code Upgrade Tool does most of the code adaptations for you and it upgrades your Plugins SDK too. The Plugin Upgrade tutorials cover all the 6.x plugin types. In most cases, you can deploy your plugins as you always have (as .war files).

Upgrade Cheat Sheet

This From Liferay Portal 6 to 7 Learning Path orients you to the new product. You can take your time learning its architecture and comparing it with the 6.x arch hope is that you'll build new apps using modules. And you can decide whether it makes sense to leverage modularity in apps you've upgraded.

Lastly, you can continue to build apps using whatever tools you like. And Liferay continues to provide better tooling than ever. Here are some of the tooling improvements:

  • Rich templates for stubbing out projects
  • Extensible build environments that offer state-of-the-art plugins
  • Deployment and runtime management tools
  • Application upgrade automation
  • Liferay Workspace
  • More with Maven

Our hope is that this Learning Path helps you thrive quickly developing on 7.0. We can't wait to see the things you develop!


Configuring your Liferay Plugins SDK 6.2 environment

Company Blogs April 6, 2017 By James Hinkey Staff

Whether you've been developing on DXP: Digital Enterprise 7.0 or Liferay CE Portal 7.0, or are starting Liferay Poral EE/CE 6.2 plugin development, you'll need to configure your environment with a supported JDK and a compatible Ant installation.

Here are some steps to help orient you for developing in the Liferay Plugins SDK 6.2.

  1. Check the Liferay Portal compatibility matrix for the JDK version Liferay Portal supports. The Liferay Portal 6.2 EE matrix is here. Liferay Portal EE 6.2, for example, supports using Oracle JDK 7.
  2. Install a supported JDK version and configure it in your path. Check your terminal's version by running java -version. At this point when you try to build your plugin, you might still get an error like this one:
  3. java.lang.UnsupportedClassVersionError: org/apache/tools/ant/launch/Launcher: Unsupported major.minor version 52.0
  4. Install an Ant version that's compatible with your JDK and configure it in your path. Refer to the Ant FAQ to look up version compatibility. After installing Ant, check your version by running ant -version.
  5. Now when you execute a task in your plugins SDK, you might get a message that states this:
  6.     "Task cannot continue because ECJ is not installed.
  7.     ECJ was automatically installed. Please rerun your task."
  8.    The good news is that the Plugins SDK installed ECJ for you just now. Your task should run fine at this point.

You're home free to develop plugins in your 6.2 Plugins SDK!


Javadocs for DXP Digital Enterprise, Liferay Portal CE, and apps

Company Blogs November 29, 2016 By James Hinkey Staff

Whether you're new to developing on Liferay DXP Digital Enterprise 7.0 and Liferay Portal CE 7.0 or you've developed on previous versions of Liferay Portal, the latest additions and improvements to Liferay's reference docs are for you.

New additions and improvements:

  • Reference docs for DXP Digital Enterprise, DXP apps, and CE apps
  • Improved Javadoc organization and aggregation
  • Module info in app Javadoc
  • Accessible Javadoc archives

As background, reference docs for previous versions of Liferay Portal and its built-in apps were grouped together, mirroring the product's monolithic codebase. However, Digital Enterprise 7.0 and Liferay Portal CE 7.0 comprise a small core set of modules and no applications.Applications that were previously built into Liferay Portal are now independent applications or in separate application suites. The respective reference docs now accompany DXP Digital Enterprise, Liferay Portal CE, and their apps.

Here’s the new reference documentation hierarchy on


The digital-enterprise and portal folders contain subfolders for their releases. Their 7.0-latest subfolders link to reference docs for the latest 7.0 releases.


Figure 1: The *latest folders link to the latest version folder for the product.


Every Digital Enterprise release folder and Portal CE release folder has the following types of reference docs:

  • Javadoc

  • Taglib docs

  • Properties file defaults and descriptions

  • DTD Definitions

Reference docs for DXP and CE applications and applications suites reside in the dxp/apps/ and ce/apps/ folders.

Javadoc for an app’s modules is conveniently aggregated. The Javadoc overview page groups packages by module and shows each module’s bundle symbolic name and version, for developers to copy into their dependency files (e.g., build.gradle or pom.xml files).

Group name: com.liferay applies to all Liferay modules.

Figure 2: An app's Javadoc contains Javadoc for all packages in all the app's modules. The overview groups packages by module and highlights the module name

Lastly, all product release folders have a downloadable Javadoc archive (ZIP or JAR) for developers to download and browse offline if needed.

Figure 3: Want to browse Javadoc offline? Download a Javadoc archive.


As always, thanks to everyone who has contributed and continues to contribute Liferay reference docs.


Coming soon:

  • Application Taglib docs

  • Reference docs for more applications (apps for Digital Enterprise 7.0 and Portal CE 7.0)


See also:

Liferaypedia - Building it together!

Company Blogs July 16, 2015 By James Hinkey Staff

Do you like conceptualizing and noting important details about Liferay? Do you enjoy explaining terms used in Liferay and in technologies related to Liferay? If so, then it's time you poured this knowledge into Liferaypedia--Liferay's encyclopedia of everything “Liferay”. It's a part of

Think of the benefits you and the Liferay community will reap by adding new pages of informative content and fleshing out details on key Liferay concepts. You'll be creating a single place for learning Liferay terms and concepts. You'll enjoy exploring resources as they're linked throughout the entries you and the community create. It's a sure win!

Several of you have been active contributors. Here are some notable contributions:

And we've only scratched the surface. There are so many more terms to explain.

Here's how you can contribute:

  • Add a new page by clicking Add Child Page and publishing your entry.

  • Link to the pages you create and create links to other topics. Even if there isn't yet a page for a topic that you link to, another person can click that link to bring up an editor to start adding the concept's definition on a new page.

  • Edit existing topic pages to add important details

Make sure to check Liferaypedia's guidelines to ensure that Liferaypedia follows a clear vision and that it reaches its potential for helping everyone.

We look forward to building a terrific Liferaypedia with YOU!

New Dev Guide Content: Liferay Faces, Mobile SDK, Portlet Prefs, and UI Examples

General Blogs March 7, 2014 By James Hinkey Staff

Here are some of the new chapters and sections for you to check out in the Developer's Guide:

Developing JSF Portlets with Liferay Faces (New Chapter)

Liferay Faces developer content now has its own chapter in the Dev Guide. Since JSF is the Java EE standard for developing web applications using MVC, you may want to consider implementing your portlets in JSF. Liferay Faces allows you to leverage JSF 2.0 in your portlet and bridge over to Liferay Portal with ease. Liferay Faces lets you leverage AlloyUI and Liferay UI components.

Plus, Liferay Faces is well integrated with Liferay IDE, letting you leverage the most popular component suites including Liferay Faces Alloy, ICEfaces, Primefaces, and RichFaces.

Liferay IDE's New Project Wizard

Leveraging the Mobile SDK - Beta (New Chapter)

For all you mobile developers, the Liferay Mobile SDK (Beta) is here! It helps you connect your Android and iOS app with Liferay Services (including the services of the custom portlets deployed on your Liferay portal). Here are the sections links for your convenience:

  1. Using the Android SDK
  2. Using the iOS SDK
  3. Building an SDK for Custom Portlet Services

Portlet Preferences Made Easy

In both Liferay Portal 6.2 and 6.1, implementing portlet preferences just got easier! For instance, the preferences you identify are automatically stored for you--you no longer have to call the store() method.

And we added step-by-step instructions walking you through the implementing portlet preferences in the example Location Listing portlet.

Portlet Preferences in the Location Listing portlet

Creating a UI for a Service Builder Portlet

And lastly, we're answering your requests for more UI tutorials. You can get started building the UI for the example Event Listing and Location Listing portlets that you implement using Service Builder. We'll continue to explain more and more of UI development using example portlets such as these.

UI for Service Builder portlet

Thanks for trying out our Dev Guide tutorials, sharing your questions, and sharing requests (in comments and on Jira at

And a very special thanks for KM and Dev team contributors: Cody Hoag, Rich Sezov, Bruno Farache, Neil Griffin, Kyle Stiemann, Vernon Singleton

Propertiesdoc - Liferay's Properties Files in HTML

General Blogs September 23, 2013 By James Hinkey Staff

Have you wanted to find a listing of the properties available to you via Liferay Portal's properties files? Have you wanted to view the property definitions in a nicer format, instead of as plain text ? Good news! Liferay Portal's property file properties are now available online and offline in HTML for easy lookup.

We now provide Propertiesdoc--marked up versions of our properties files--along with our normal set of Javadocs, Taglibs, and definitions (DTDs) that you've come to know and love.

For your online reading pleasure, you'll find a propertiesdoc directory for the 6.1 and 6.2 (beta) version of Liferay Portal CE on It has links to the and files containing Portal's default properties, and it has links to the liferay-plugin-package-<version>.properties file(s) giving you definitions for the properties you can use in your plugins.

For your offline reading pleasure, you'll find the equivalent propertiesdoc directory and files in the liferay-portal-doc-<version>.zip file you download for Liferal Portal EE or CE.

Let's take the nickel tour of Portal's Propertiesdocs. For example, let's find out what Liferay Portal 6.2 (beta) uses for ORM persistence defaults and what options we can specify.

Start by opening your browser to the directory or propertiesdoc folder of the liferay-portal-doc-<version>.zip file you extracted. The propertiesdoc folder lists the following Liferay Portal properties files as shown in the figure below:

Click on the link to see it's Table of Contents. You'll find there's a Persistence section listed as shown circled in the picture below.

Click on the Persistence section link so we can look at the persistence properties. In this section to find the persistence.provider property listed. It has a description that mentions the options you can specify for your portal's persistence provider. Below the description, notice the property's default value highlighted in gray. And an example value for the property is highlighted in light green. See the picture below.

When you're done looking at this property and want to look up some more Portal props, simply click the Top of Page link and you're brought back to the Table of Contents.

We hope providing you with this Propertiesdocs help you learn about and use Liferay Portal's properties more easily.

Special thanks to Jesse Rao who developed the converter, Hugo Huijser and Brian Chan for their reviews and assistance, and Chas Austin for making sure the propertiesdoc is built with our releases.


Maven chapter (new) for Liferay 6.1 Development Guide

Company Blogs February 8, 2013 By James Hinkey Staff

If you have been curious about Maven, or if you would like to use Maven to develop Liferay plugins, we have a new chapter dedicated to Maven--Developing plugins using Maven found in the Liferay Portal 6.1 Development Guide.

After reading the new Maven chapter you will be able to:

  • Understand the benefits of using Maven
  • Set up your Maven environment quickly
  • Use a Nexus OSS repository management server to create and manage Maven repositories
  • Install core Liferay artifacts for plugins you create
  • Generate Liferay plugin projects in a snap
  • Gain familiarity with Liferay portlet, theme, hook, and layout template generated projects.

On behalf of the Liferay Knowledge Management Team, we're happy to provide you with formal documentation on using Maven in your development of Liferay plugins.

Special thanks to Cody Hoag who gathered the bulk of the chapter's content, tested it, and worked through several drafts with me. Thanks to Mika Koivisto for his continual content contributions and guidance.

Note, if you are interested in contributing content to the Dev Guide or any of our official documents, go to and follow the README file found in the project root and follow the guide documents found in the guidelines folder.

Updated 6.1 Development Guide

Company Blogs August 3, 2012 By James Hinkey Staff

Along with Liferay Portal 6.1 GA2 and the Marketplace launch, we're excited to bring you more good stuff in the Development Guide! Engineers have been busy contributing documentation expanding coverage of features in the guide.

As momentum continues to build for Liferay Marketplace, you can start developing your apps now. The new Liferay Marketplace chapter addresses app development, how to publish your apps, and explains how to maintain and update your apps. Thank you James Falkner for contributing this new chapter.

Of course, as you publish apps to the Marketplace and download cool apps to try out in your portal, you'll want to make sure that the resources on your portal stay properly secure. Liferay's Plugin Security Manager gives you peace of mind for apps downloaded from the Marketplace. It makes sure that app plugins you deploy have access only to the resources they specify up-front. Marketplace developers need to know that each Marketplace plugin must have a Portal Access Control List (PACL). In our Marketplace documentation, you'll learn about the Plugin Security Manager and how it enforces each plugin's PACL, and you can follow steps that help you specify PACLs for your app plugins. Each PACL property is explained, so you know exactly what to declare about your app, qualifying it for distribution in Liferay Marketplace.

In addition to Marketplace related content, we have some new details from Igor Spasić on JSON Web Services and the new JSON Web Services Invoker. By using the JSON Web Service Invoker, you can optimize your use of web services, binding together data from separate objects, filtering service results, and batching together your service calls. Check out the JSON Web Services section for complete details.

As I mentioned, there are also several development features we've been itching to write about. And we have them for your now!

  • Layout template development – Create your own custom layouts leveraging Liferay Development Studio's Layout Template Editor. Included are steps that show you how to embed commonly used portlets right in your layout templates.

  • Message Bus API – Use the Message Bus to exchange messages within Liferay. Message Bus facilitates loose coupling between message producers and consumers and is easy to use. You can do synchronous and asynchronous messaging, and dispatch messages serially or in-parallel.

  • Liferay Developer Studio – Take advantage of Liferay Developer Studio or Liferay IDE in your plugin development. You'll find Studio screen shots and instructions throughout the Dev Guide as we've made Studio an integral part of all development sections on each of the plugin types.

We'll continue to incorporate content to help you develop on Liferay Portal. And, you too can contribute to our Dev Guide and other documents on Github at Check out the README file and the guidelines that describe how to contribute. Thanks in advance!

I'd like to give a special thanks to Rich Sezov, Cody Hoag, Jesse Rao, Stephen Kostas, and Mark Healy for their efforts and contributions to our latest Development Guide.

Showing 8 results.
Items 20
of 1