·Zottegem, Belgium

Using Liferay 7 to build a community website

plans for the devNomads website

Liferay 7

Since I wrote the previous article on this blog, about my plans after Liferay DevCon last year, I've been testing every alpha, beta, rc and ga release of the new Liferay 7. The reason why I was following it up so closely is not just because I make a living as a freelance Liferay consultant, but also because I decided to use Liferay 7 to build the community website for {dev}Nomads, a community for nomadic developers.

For those who don't know Liferay yet, here's why to use it as described on the Liferay website:

The reasons to use Liferay Portal for your website are simple: it provides a robust platform to build your site on quickly and serve it to all clients, be they desktop, mobile, or anything in between; it provides all the standard applications you need to run on your site; and it provides an easy to use development framework for new applications or customization. In addition to this, Liferay Portal is developed using an open source methodology, by people from around the world. The code base is solid and has been proved to be reliable and stable in mission critical deployments in diverse industries.

Building a community website

In fact Liferay provides almost everything "out of the box" that is needed to build a great community website:

  • Message Boards This will be one of the core features for the {dev}Nomads website.
  • Polls
  • Wiki's
  • Microblogs: status updates like twitter
  • Blogs
  • Form builder
  • Web Content & Document Management

Besides the specific community features Liferay also supports:

  • Multiple sites and subsites This is excellent for {dev}Nomads for creating a private forum for each mastermind group. Virtual instances In fact this website (www.vernaillen.com) is set up as a virtual instance on the same Liferay server.
  • Staging Allows to do all the content authoring and testing in a staging environment and publish them to a production environment when ready.
  • Geolocation Out of the box ability to geolocate all web content, data lists, documents & media as well as the ability to create lists of geolocalized content and publish them in a Map. All the Liferay functionality is also accessible through a RESTFul Webservice API This is excellent for integration with other applications or mobile apps.
  • Full modularity with OSGi All functionality is provided as separate modules, which allows to easily switch features on and off, but also easily extend and customize functionality.

These are a few of the new features of the Liferay 7 that I'm most excited about:

AlloyEditor is a new web content editor build on CKEditor. Liferay decided to remove the default UI of CKEditor and build a completely new UI using React.

The inline content authoring works very easy, but it's also possible to edit the html directly, including side by side editing and html validation:

In other words: this is an excellent editor for the target audience of {dev}Nomads, cause they are all developers. :) The new Form builder allows defining and publishing advanced dynamic forms.

The forms can have complex multi-column layouts and span several pages. They can be published in any Liferay site just by dropping the form into a page or also Google Forms style, by providing a URL that links directly to a full page form. Many field types are included out of the box and custom types can be added by deploying custom modules. Forms can also be integrated with Liferay's workflow system to submit forms through a predefined process.