Liferay Dream Day Barcelona: What a great experience

Company Blogs 29 de junio de 2011 Por Jorge Ferrer Staff


Yesterday we held the first ever "Liferay Dream Day" event in Barcelona. This event was possible thanks to our partner iSoco who is highly specialized in innovation activities and it was an amazing experience for all of us. The event counted with the participation of selected key customers from around Spain along with our partners iSoco, B2B2000 and GMV with the goal of brainstorming (dreaming) how Liferay could evolve in the future. Among the attendants there was a very interesting combination of project managers, CIOs, technical people, sales people, etc.
Conducted by Philippe Delespesse from Inteligencia Creativa, an expert in this type of innovation workshops, the event started by selecting two topics, content management systems and integration of applications. The attendants were organizaed in four groups and Philippe showed how to use a methodology called SCAMPER, to come up with new ideas that could be either an evolution or completely disruptive.
Something that Philippe insisted on and I found particularly interesting is that during an innovation workshop it is completely forbidden to say that an idea is a bad idea (at least for now). The reason is that it is in human nature to reject ideas that are too different, so if we let that happen very good ideas could be rejected before we realize how good they can really be.
It was great to find out that many of the ideas that came up were things that we were already working on for the upcoming 6.1 (which I wasn't allowed to say), but what I found awesome is that even for those ideas some interesting and new perspectives also came up. The participants also came up with lots of new ideas as well and each group were asked to pick the best 5. Those ideas were put on a board and we will keep working on defining them in detail so that they are added to the product roadmap (I'll blog more about the specific ideas later on).
Brainstorming session - Selection of the best ideas
A second phase of the day was dedicated to the creation of websites for mobile devices. This session used a different methodoloy that resulted in a conversation not related directly with Liferay or any platform, but rather about what people would like to be able to do ideally when they are on the move. At first it was hard to understand were this was getting to, but as the ideas were being captured in a board by Philippe I realized that the great thing about it was that the needs identified were real needs by end users. If we would have asked portal developers or administrators they would have answered what they thought their users wanted, which could or could not be what they really want.
Some of the ideas that came out of the second brainstorming session
All in all, I think this was a great experience. All of the participants that I talked to were very excited of having been part of the event and wanted to keep participating, because it is not that usual to be able to influence at this level how a product you use should evolve. For those of you reading this that are active community members, you are already used to how it is possible to participate in the evolution of an Open Source product like Liferay. What is great about this type of events is that it helps getting involved to many people who may have not beeen involved otherwise, but have a great deal of experience that helps the whole community grow and help build a better product for everyone.
Considering this success I'm pretty sure we will repeat the event in other parts of the world, so if you are interested in participating let your account manager know. And of course, if you have ideas that you want to share right away, there is not need to wait, share them in the forums to find out what the rest of the community thinks about them.

Organizations or Communities, which one should I use? The final answer

Company Blogs 11 de marzo de 2011 Por Jorge Ferrer Staff

One of the questions that comes up more often when I talk to community members, partners and customers is, should I use communities or organizations in my project?

If you haven't asked yourself this question before, let me add some background. Liferay portal is known to have great multi-tenancy support. That means that you can have many independent sites within a single installation of Liferay. There are two ways to build sites in Liferay, organizations and communities, and each one has its own characteristics.

When I am asked this question, I always like to go back to the origin of each of them, because I think it helps understand the differences:

  • Communities: they were created as a way to have groups of pages that could display content and applications. The reason why they were called communities is because the goal of all the initial implementations was to build online communities, but since then people have really been using communities for things for which the term may not apply so well such as corporate sites, product sites, event sites, etc. That's perfectly fine.
  • Organizations: they were created as a way to organize users in a hierarchy. The great thing of this hierarchy is that it allows delegation of user administration, which is a key feature needed by some of the largest installations of Liferay where there are hundreds of thousands or even millions of users. Later, we realized that many people were creating a community associated to each (or several) of their organizations. But keeping this association manually was a bit of a pain, so we improved organizations so that they could have their own site. (For the curious, we did it by creating a community underneath but  hiding that fact from the end user).

Keeping this explanation in mind it should be easier to decide which one to use. If your main purpose is to organize your users and delegate their administration, you should use organizations (It is important to always remember that an Organization Administrator will be allowed to edit the profile of all the users of the organization). If you also need the organization to have pages, then you can use that feature to save time.

If all you want to do is create a website with pages, content and applications that can either be accessed by anyone or just by a group of members of the site, then communities is the best choice.

And of course, remember that you can safely use both communities and organizations within the same portal.

I hope that this explanation makes it easier for you the next time you ask yourself this question, but whenever a question comes up so often I think we should ask ourselves why. We have done it and have been discussing internally how we could improve the product to avoid the question altogether. We have been thinking about several solutions and we are very happy with the one we have found. In fact is super simple, and that's always a good thing.

Improvements in Liferay 6.1 to simplify the creation of sites


Let's start with the great news, in Liferay 6.1 you will not have to decide whether to use communities or organizations upfront. Sounds good, right?

Let me explain what will change and how that will be achieved. The first change that we will be making is to rename what we currently know as Communities and call it Sites. The reason for this should be obvious if you have read the rest of this entry, people have been using Liferay's communities to build sites for a long time so it's always a good way to make things easier to understand to give them a name that means exactly what people use them for.

Of course we will still allow creating sites whose purpose is to serve for building online communities. In fact we plan to make it easier and faster to do that by using predefined site templates for community building.

How about organizations? They will still be the main way to organize users in a hierarchy and they will also have the ability to have an associated Site. The main change that we will be making is that if it has one, the Site of an organization will not be invisible. In other words, when the administrator goes to the Control Panel to the Sites Administration application (which is currently known as Communities Administration) he/she will be able to see all the sites, including those that are associated to an organization.

Additionally, it will be possible for an administrator to associate an existing site to an organization at any time. Of course it will also be possible to undo this association whenever wanted. When a site is associated to an organization the following things will happen (this doesn't change from 6.0, but I prefer to still explain it):

  • All users of the organization will become members of the site automatically. That means that they will have access to the private pages of the site and will be able to do any action that has been configured to be doable only by members.
  • The name and description of the Site will be automatically synced with those of the organization (to save the administrator time).

As you can see, the changes that will be introduced won't be large, but it will make the life of developers building portals using Liferay easier. If someone asks you, how do I build a site to do XYZ? There will be one and only one option that you can choose, while still keeping the benefits that we had before.

Furthermore, as we have started working on theses changes and we keep having many benefits that we hadn't thought of to this simple changes. For example, it will be very easy to have a user who is an administrator of the site of an organization but not of the users of the organization without creating custom roles. Also, it will simplify the management of roles and avoid some duplication that is necessary now some times. Not only that but it will also help make Site Templates more powerful, so expect improvements in this area too :)

We hope you like this idea and of course we would really welcome beta testers (maybe I should say alpha testers) that would like to try these changes as we build them in Subversion to give us feedback.

Finally, you might be wondering if this will require any complex upgrade. The answer is no, because there are no significant changes in the APIs or database model, so all your sites will be kept and those that were associated to an organization will stay that way. The only things that will need to be upgraded (and this will be done automatically for you) is related to organization roles. For example, Organization Administrators, will be automatically made Site Administrators, so that they can keep managing the site as they used to. But now you will have the flexibility to assign both roles or only one to your users.


New version of the Developer's Guide available for reading online and download!

Company Blogs 4 de marzo de 2011 Por Jorge Ferrer Staff

 Hey guys,

I'm not very active lately due to the great growth that we are experiencing in Spain and the increasing work associated to the upcoming new version, Liferay 6.1. The reason for this blog post is to announce some great news: The second edition of the Developer's Guide is now available at

The document is available online for browsing and searching and can also be downloaded in PDF. Note that the document has a Creative Commons license so feel free to distribute it to make sure it reaches every Liferay Developer out there.

This new edition comes with many many improvements and several new chapters. Here is a quick list of the most significant changes:

  • Overall review of the style by Rich Sezov
  • Overall review of the guide and rewrite of some sections by Jorge Ferrer.
  • Rewrite of the introduction to make it more welcoming to new developers.
  • New section: “Understanding the two phases of portlets: action and render”
  • Extended information of the chapter about “Ext Plugins” by Tomas Polesovsky. New section on JSR-286 security by Tomas Polesovsky.
  • New chapter about the Asset Framework and quick introduction to other Liferay frameworks.
  • New chapter about Liferay IDE
  • New chapter for Conclusions with information about how to learn more after reading this guide.
  • New chapter with links to reference documentation.

But this is only the beginning. We know that you want even more developer documentation and we are already working on a new edition of the guide and additional reference materials for you. Keep an eye for updates in the near future.

I want to give an special THANKS to Tomas Poleovsky for his help extending two of the most important chapters of the guide and also with his help in the review. We also had a lot of help from reviewers, so thanks a lot also to Daniel Sanz, Alberto Montero, Sergio González, Juan Fernández, Julio Camarero from the office in Spain and Tobias Käfer, Oliver Bayer, Deb Troxel, Juan Gonzalez, Boubker Tagnaouti and David Nebinger from the Community Leadership team.

Remember that if you find any issue with any of the official guides or want to make suggestions you can use the Documentation Suggestions category in the message boards.



Liferay Madrid is Hiring - Four Positions Available

Company Blogs 7 de octubre de 2010 Por Jorge Ferrer Staff

============================== English ===============================

 Liferay keeps growing and our office in Madrid is no exception. Because of this we are looking to incorporate 4 new employees for the following positions:

If you are a fan of Liferay and would like to be part of a young and growing company, read the details for each of the available positions following the links above (in Spanish, since it's a requirement for the job), and send us an email with your CV and a short text explaining to which position you are applying and why you think you are a good fit for the job.

If you don't fit into any of these positions but you think you can help Liferay keep growing you are welcome to also email us. We are always looking for enthusiastic and talented people for the team.

============================== Spanish ===============================

Liferay sigue creciendo y nuestra oficina en Madrid no es una exception. Por este motivo ofrecemos a toda la comunidad de Liferay los siguientes cuatro puestos de trabajo:

Si te consideras un fan de Liferay y te gustaría formar parte de una compañía joven y en pleno crecimiento, lee los detalles de cada uno de los puestos siguiendo los enlaces y envíanos un mail con tu CV y un texto breve explicando a qué puesto aplicas y los motivos por los que crees que harías un buen trabajo en ese puesto.

Si no encajas en ninguno de estos puestos pero crees que puedes ayudar a que Liferay siga creciendo nos encantaría que nos escribieras también. Siempre estamos buscando personas entusiastas y con talento para unirse al equipo.


Easier to find PDF links

Company Blogs 7 de octubre de 2010 Por Jorge Ferrer Staff

 While the ability to have all of our official docs in HTML form and indexed is great, in some cases we all prefer a PDF version that can easily be printed or checked while offline.

We've always had the PDF version of our guides available but after the redesign they weren't so visible any more, so some of you had been asking about them. As a result we've just applied an small change in the design so that along with the Table of Contents of each guide there is now also a link to download the PDF of that guide:

You will also notice that for those guides that we also offer a printed book through Lulu, there is also a link to get it. Right now the link is only available for the "Administrator's Guide" for 5.2, but the edition for 6.0 will be available very soon. If you are thinking of printing the guide, consider getting the book instead as a way of letting us know that you like it :)

Expanded guide for Ext plugins published within the Developer's Guide

Company Blogs 30 de septiembre de 2010 Por Jorge Ferrer Staff

One of the most interesting improvements of Liferay 6 for developers is that the plugin infrastructure has improved considerably. For example, the hook plugins are now much more powerful and allow customizing the platform in a very maintainable way. Also, the old extension environment has been moved inside the plugins SDK as what are known as Ext plugins.

After publishing our new set of documentation pages and specially the new Developer's Guide, we've been asked for more detailed documentation about Ext plugins. We've been working on it during the last few days and it's now ready and published in the documentation pages.

It includes information about how to migrate an ext environment as well as how to develop and deploy it. We hope you like it.


Documentation revamp: status and future plans

Company Blogs 22 de septiembre de 2010 Por Jorge Ferrer Staff

As you have probably already noticed we've just made public a quite large revamp of our documentation. This is the result of a project that has taken several months and has involved gathering feedback from many sources of Liferay's ecosystem, writing and improving documentation, improving the existing docs and developing tools to make them more easily available.

But we don't want to stop here

The purpose of this post is to review the current status of the docs and the plans that we have to keep improving them. Some of them will not be possible without the help of the community so I hope you can see this as an opportunity to contribute :)

Official documentation:

This is the main source of accurate information about Liferay. Previously we only had one official guide (Liferay Administrator's Guide) which was only available in PDF or printed and we realized that some people didn't find it. We've expanded this with a Developer's guide and have made it available online so that it's much easier to find, search and link. We have created sections in the site for the last 3 stable versions: 5.1, 5.2 and 5.3. Each of the versions have the following sections:

  • Getting started: this is mainly to add links to specific sections of the Administrator's guide and Developer's guide that we think will be useful for people getting started with Liferay. 
    • Future plans: We may add more links based on feedback from people. But we want to keep the number small since otherwise it would loose its purpose.
  • Administrator's guide: this is a very thorough guide that covers the installation of Liferay for all supported applications servers, including cluster setups. It also covers user's guide for the usage and administration of the web content management and the collaboration suite.
    • Future plans: With each edition of the guide Rich plans to add new chapters for the different suites included out of the box with Liferay.
  • Developer's guide: Since Liferay is a pretty large development platform developing for it offers a very wide set of options. Because of that the hardest part is getting started, finding out what the main options are and when should each be used. This guide provides a general overview of the main strategies to extend Liferay and gives advice to choose which one to use in each situation: Portlets, Themes, Hook plugins, ext plugins, etc.
    • Future plans: We want the guide to be short enough to allow people to read it entirely (or almost) before starting any Liferay development, but still provide enough information to get started. I think the main goal should be to keep finetuning it so that it lowers the barrier of entry for newer developers. We are also considering adding some additional sections, such as one about the creation of web content templates with velocity or XSL.
  • Additional resources: This is an area were we want to link to any additional resources that will be useful to users. It will include links to specially significant wiki articles and blog entries, links to videos about that version of Liferay and links to books about Liferay.
    • Future plans: we are currently working in this section for Liferay 6. It should be ready soon. Later, we will continue adding resources that we find particularly interesting.

Official books and third party books

We now have two official books that cover Liferay:

  • Liferay Administrator's Guide: This is an open source book that we've made available online and can also be bought online through Lulu as a way to help fund it's continued development.
  • Liferay in Action: This book will be published by Manning and offers a very complete trip through Liferay as a development platform. It's an excellent continuation if you've read the developer's guide and want to learn more. It's already available through Mannings Early Access Program (MEAP). In fact you can find some banners in the documentation section to get it with a 35% discount, courtesy of Manning to our community.

There are also two other books written by third parties that add to Liferay's documentation. There are at least two that I know of:

Community wiki:

The wiki is the place where everybody can contribute to the documentation. It currently has more than 900 articles which speaks for the number of contributors around. The drawback of having so many contributors is that the quality of these articles varies a lot, and some times they become outdated which is not easy to notice as a reader except the hard way (when the instructions fail). We had noticed that some people thought the wiki was the official documentation and this made it even more frustrating. To avoid that confusion we've moved the wiki to the documentation section, hoping that the menu makes it clear that there is more documentation available. We have of course kept a link in the community section.

Sam Liu, with the help of several community members, has spent the summer reviewing a very large amount of articles fixing all issues they found and helping organize them better. As part of this effort we also wrote an article with the Wiki Guidelines

Future plans: There are many things to do to get the wiki into shape and make it easier for everybody to contribute. First of all we want to encourage the usage of the wiki as an Encyclopedia. That is, most of the articles should be titled after specific components of Liferay. Because of that a good place to start looking at a place to add information is this page: 

We also want to start adding more and more links from wiki articles to specific sections of the administration guide and developers guide. That will help readers find the "official" instructions. It will also help focus the efforts of the wiki volunteers into extending the official documentation, rather than duplicating it. This is a lot of work so we really appreciate your help here. If you find a wiki article that provides some information that either extends or even duplicates that offered by the official documentation, please add a link to it at the top of the article so that it's easier to find for future readers.

Javadocs & other reference documentation

I almost forgot this one. One of the ongoing efforts that I'm pretty sure many people will be happy about is the work we are doing to greatly improve the information included in our Javadocs. One common complain from our community is that our Javadocs don't contain much information (actually most of the time it doesn't contain any). That was because our policy was that Javadocs weren't allowed. One of the reasons was that several of us had had horrible experiences with APIs whose Javadocs were often outdated and inconsistent which was worse than having no Javadocs at all. Also since the Liferay code is available we often end up using it directly. But we do understand that Javadocs are necessary for many developers. Because of that a few months ago we defined a process and started an effort to provide Javadocs with a quality that we all feel comfortable with. As a result, Connor (who is leading this effort) has written a set of JavaDoc Guidelines that will let every developer know how Javadocs should be in Liferay.

What's the current status? We've added quality Javadocs to around 50-100 classes already (mainly utility classes and some services) and the number is increasing weekly. We are currently starting to work in package.html documentation and are discussing how we can extract out the implementation classes from the javadocs so that it's easier to find what can really be used from plugins. We'll keep you up to date.


That's it, I hope you enjoy the new documentation. If you'd like to help improving it further or let us know your suggestions, you can use a new category in the forums created explicitly to discuss about documentation.

Liferay en la Open Source World Conference (OSWC)

Company Blogs 30 de julio de 2010 Por Jorge Ferrer Staff

Después de un año de pausa este año vuelve de nuevo la Open Source World Conference en Málaga. Después del gran éxito del Symposium en Madrid, nos hemos quedado con ganas de más y hemos pensado que sería una gran idea repetir varias de las charlas técnicas que preparamos para el symposium junto con algunas nuevas que prepararemos para la ocasión.

En esta ocasión los organizadores del evento han preparado un sistema público de evaluación de las ponencias por lo que cualquier persona puede votar por aquellas que más les interesa (una gran idea en mi opinión). Por ello necesitamos vuestra ayuda para que las ponencias que hemos propuesto tengan muchos votos y podamos hacer cuantas más mejor. Para votar lo único que tienes que hacer es registrarte y luego ir a las páginas de cada una de las propuestas. Esta es la lista de nuestras ponencias:

 Aunque no sabes si podrás ir a estas ponencias también te animamos a votar por ellas dado que si todo va bien y tienen éxito intentaremos repetirlas en otras ocasiones más adelante.

Explaining the new versioning scheme for Liferay 6

Company Blogs 27 de julio de 2010 Por Jorge Ferrer Staff

Along with all the functional and architectural improvements of Liferay 6, we've also tried to improve our release process based on the feedback that we've received from the community and customers during the last releases.

Let's start with the basics, here are some simple rules to interpret the meaning of a version:

  • Versions consist of a three digit number. For example, 6.0.2. These numbers represent: Major.Minor.Maintenance
  • A change in the third digit (e.g, 6.0.5 to 6.0.6) is a maintenance release (aka Service Pack). This means that:
    • Each maintenance release provides higher security / reliability.
    • Customizations are generally safe but we recommend doing a review.
    • No new features are included (although the first few maintenance releases can contain some changes to existing features based on the feedback received). There were some exceptions to this rule in some 5.2 maintenance releases but we've decided to be much more strict for Liferay 6.
    • These rules are relaxed when the minor or major release is still in beta quality.
  • A change to the second digit (e.g., 6.0 to 6.1) is a minor release:
    • This will include new features plus bug fixes from prior releases.
    • Customizations may be affected when installing. Customers should leverage the upgrade tools and documentation.
  • A change in the first digit (e.g., 6.x to 7.x) is a major release:
    • This will include major changes in functionality or add high demand functionality.
    • This may include architectural changes, changes to API's (as part of deprecation process) and may change internal schema.

Now lets get into some details of what we've improved and why we've done it. First, it's worth mentioning that one of the goals for the release of Liferay 6 was to make it the community edition release with highest quality ever.

A second motivation we had is that in the past we had noticed that people were installing in production releases that didn't have enough quality to do so. For example, I've seen installations with Liferay 5.2.0 or 5.2.1. Also we've had plenty of requests from community members who volunteered to help doing beta testing.

So we've decided that with Liferay 6 each version will have a surname that specifies the expected quality of that release. The third version number is usually hidden, but it's still visible through the logs and administration UIs. Here is the evolution of versions:

  1. Preview and Beta (6 Preview 1, Beta 1, 6 Beta 2, ...): There can be zero or more of these types within each minor or major release. These releases are meant for testing and to provide us feedback through the beta testing category in the forums. There can be changes in features between beta releases but in general they won't be major.
  2. Release Candidates (6 RC1, 6 RC2): There can be 0, 1 or more of these right after the beta releases. This are more stable and are meant for those that prefer to wait a little to test the release.
  3. General Availability (6 GA1, 6 GA2, ....): There can be 1 or more of these releases. A General Availability version is released when our engineering team and the QA team based on our own testing and the feedback from the beta testers decide that the release has good quality and can be of general use for the community. Of course this doesn't mean that it's bug free so we keep an eye on the community since at this point many more people start using the version and find new bugs (usually minor). When this happens we fix the issues and release a new GA version. Several GA versions may be made available until the engineering team moves towards releasing an EE release.
  4. Service Packs (6 SP1, 6 SP2, ...): These are maintenance releases will keep coming out for 4 years after the original release date. These releases are only available to customers who have an update service that comes with every Enterprise Edition. To ensure this we have a team dedicated to keep testing and doing corrective improvements to this release to ensure the highest quality. All fixes done in the service packs are also done in svn and will be part also of the next minor or major release. This ensures that all the community benefits from the fact that we can have more people working on QA as more customers buy our Enterprise Edition services.

The following diagram represents this in a graphic form:

So you might be asking yourself, which version should I use? what if I was using a previous version? Will the update to a new maintenance release cost a lot? Here are some comments and recommendations to answer all these questions.

  • You are very welcome to use any preview, beta or release candidate version. In fact that's why they exist so that as many people as possible start using it and provide us their feedback. However, we do not recommend using beta releases in production or even during development if you have tight deadlines (since you may find road blocks).
  • You should always update to the latest maintainance release available for the minor or major version you are using. This means that at the time of writing you should be using Liferay 6 GA 2, but if we later decide to release GA 3, our recommendation is that you switch to it since it includes fixes for other bugs found by other Liferay users.
  • Updating to a new maintenance release should be a process that requires little effort from the first GA forward. That is, you should be able to upgrade from Liferay 6 GA 1 to any future Liferay 6 GA or any Liferay 6 SP within hours or days in the worst case scenarios.
  • To ensure that the updates are as easy as possible (and also ease upgrades to new minor or major versions) use the best development practices when extending Liferay. I'll write a blog post (or maybe a whitepaper) with more details but at the very least you should use plugins instead of the extension environment (or ext plugin) whenever possible. And always use APIs that are meant to be public (specially when using ext). Also avoid overriding JSPs that have a lot of logic or keep a very tight control of them (and review them when updating for changes to the originals).
  • Plugins that work in any GA or SP version will work in any later maintenance version. That is, a plugin developed for Liferay 6 GA1 will also work in Liferay 6 GA  or Liferay 6 SP3, or .... This is something that we've tried to guarantee in the past but hasn't always been possible. Starting with Liferay 6 we have a testing process in place to make sure this is really guaranteed.
  • Consider investing in the updates and support services of the Enterprise Edition. This will benefit you two-fold, first because you'll be getting quality services that will add value to your Liferay installation and second because it will help evolve the product with new features that you will be able to benefit from.

And that's about it. This new process along with all the work from the QA team and the great help from beta testing volunteers all around the world (thanks again!) makes me feel that this is certainly the best CE release of Liferay ever, and not only in terms of functionality :)

PS:I've created a wiki page with a summary of this post for future reference: Liferay Versioning Policy

Feedback for Liferay 6: Global unified breadcrumb

Company Blogs 26 de abril de 2010 Por Jorge Ferrer Staff


This is the first post of what I hope will become a series of posts asking for feedback on some of the new features that will be including in Liferay 6. What we are hoping for right now is comments regarding issues from a usability or functional perspective. We'll be looking for ideas for improvements later, as part of the definition of the 6.1 roadmap, but right now our goal is to focus on polishing the features in 6.0 so that we can release 6.0 GA as soon as possible (hopefully within the next few weeks).

After this introduction I'm going to get to the point of this post: The global unified breadcrumb. This is a new navigation component that is shown in all pages at the top and underneath the page navigation:


Those of you who have been using Liferay for a while know that the product already had a portlet called breadcrumb that allowed for this. So what's really new?

  1. We have integrated the navigation of the portlets within the breadcrumb of the page. Why? Because as developers we see the portlets as independent components, but to the eyes of a non-technical user, whenever he navigates within a portlet the result is as if he's taken to a new page. Previously we had portlets which had their own breadcrumb but that could get very confusing, because some pages would have 2 or more different breadcrumbs in different positions of the page. Now we've created an API so that portlets could add items to the page breadcrumb as the users navigation through them. We've also modified Liferay's out of the box portlet to make use of this API and have removed their internal breadcrumbs.
  2. As you probably know, Liferay allows having multiple web sites in one single installation: there is one default site, which is called "Guest" but you can add many more sites per community, organization and user. The issue was that there wasn't any way to navigate between them. While such navigation is very dependent on the specific characteristics of each portal, there are some things that are general to all or most. In particular what we have done in the global breadcrumb is to add also the hierarchy of sites that lead to the current one. To that end we've considered that "Guest" is always the parent of all sites (this can be disabled). Underneath are all communities and the hierarchy of organizations. Users' sites are always shown underneath their organization. Here are some example paths:
    1. Guest
    2. Guest > Organization A > User X
    3. Guest > Organization A > Organization A1 > User Y
    4. Guest > Community B
  3. The global unified breadcrumb is always visible on the screen. This feature actually started as a joke to Nate, to which he answered that would be impossible to acomplish. But some time later he came back saying "Don't trust me again when I say something is impossible"... He had done it! So what is it? Basically, the issue with some portal pages is that they are quite long, so if you scroll down the navigation elements are not visible any more. That is specially annoying in the case of the breadcrumb because it also shows where you are, which is always useful. How did nate fix it. Basically when the page scrolls down to a point where the breadcrumb is going to be hidden it gets attached to the top of the page, as if it was a browser bar and stays there, always visible. Here is a picture showing this behavior, you can see how the breadcrumb has changed the background color from white to black to become more easily visible:

  4. All of the new features mentioned in points 1 and 2 have been implemented as improvements to the breadcrumbs portlet. But we've also decided that this should always be included by default and thus are including that portlet from the default classic theme. You can of course change this in your own themes, but if you do then you might loose some useful features.

That's mainly it. The best way to understand how it works completely is to download Liferay 6.0 RC and beging playing with it. Try creating several communities, organizations and pages, also add some portlets to it such as blogs, document library with several folders, etc. and navigate through all of it.

We'd love to know how you like it. To make it easier to send your feedback and to allow you to subscribe to the ongoing discussion, I've created a message board post to that end. I've also given some specific points were we'd like to receive feedback. Here is the link:



Company Blogs 23 de abril de 2010 Por Jorge Ferrer Staff

 No se me ocurría un título mejor que simplemente "Gracias". Gracias en primer lugar a todos los que habéis hecho el primer Symposium en España una realidad, empezando por Carolina sin la que hubiera sido totalmente imposible este evento, a Natalia en la organización, a Julio, Juan, Alberto y Sergio por toda su ayuda y sus magníficas ponencias, a Brian y Paul por viajar desde EEUU para estar con todos los asistentes y a Bryan por intentar llegar una y otra vez desde Frankfurt, luchando contra la nube de humo y finalmente por estar con nosotros via skype. Gracias también a nuestros clientes que vinieron a contar sus casos de éxito: RSI, Consejería de Educación de Madrid, Universidad Complutense y Reed Business. También quiero agradecer a nuestros partners su apoyo y en especial a Gesfor, B2B2000 y VASS por su patrocinio.

Y por supuesto muchísimas gracias a todos aquellos que asististeis. Tuvimos una audiencia de más de 150 personas y eso que tuvimos que cerrar el registro el día antes por la mañana porque seguíamos teniendo inscripciones y el hotel nos obligaba a cerrar el número. Pero más que el número de personas que vinieron lo que más me hace sentirme agradecido es la gran cantidad de gente que se acercó a nosotros para decirnos lo muchísimo que les había gustado el evento. 

Por último, y aún a riesgo de parecer repetitivo, quiero agradecer en particular a todos los periodistas que os acercasteis a cubrir el evento. Tanto por estar allí como por los artículos que habéis escrito sobre el Symposium.  Es increible que una compañía Open Source despierte tanto interés en medios. Os paso algunos de los artículos a los que estéis interesados:

En definitiva, un éxito como para estar agradecidos y también muchas ideas para que el Symposium del año que viene sea aún mejor. ¡Nos vemos allí!

Actualización (27/04/2010): Me han pedido que ponga algunas fotos del evento, así que he añadido dos, una de la sala de conferencias y otra durante la comida.

Primer evento internacional de Liferay en España

Company Blogs 25 de marzo de 2010 Por Jorge Ferrer Staff

First of all, a disclaimer for those of you who don't speak Spanish. I will keep writting most of my posts in English, but this one is about our very first Symposium in Spain so I thought it was a great occasion for my first post in Spanish :)

Si, habéis leído bien (y posiblemente lo habréis visto en la portada de, el próximo 20 de Abril tendrá lugar en Madrid el primer Symposium en España, que complementará a los que ya se han celebrado en años anteriores en EEUU, Alemania e India.

¿Quién vendrá de Liferay?

Este será un evento a lo grande, con la presencia entre otros de Brian Chan, Chief Software Architect y fundador de Liferay, al que seguramente todos cononceréis de los foros y otras actividades de la comunidad; Bryan Cheung, CEO de Liferay y gran ideólogo para muchas de las más interesantes funcionalidades de Liferay; Paul Hinz, CMO y nuestro fichaje estrella de 2009 proveniente de SUN; Carolina Moreno, Directora de Desarrollo de Negocio para España y Portugal una de las responsable del gran éxito que estamos teniendo aquí así como Alberto Montero, Julio Camarero, Juan Fernández y Sergio González, de nuestro equipo de core engineers en Madrid y con quieres es probable que hayáis hablado también a través de los foros o que os hayan ayudado in-situ en vuestros proyectos.

En definitiva, un evento esperado por muchos con una oportunidad increíble de hablar cara a cara con los principales responsables de Liferay tanto a nivel técnico como a nivel de negocio.

¿A quién está orientado el evento?

Nuestro objetivo es crear un evento que sea útil tanto a organizaciones que están dudando si apostar por Liferay como a aquellas que llevan años apostando por nosotros.

El evento tendrá una combinación de charlas técnicas y charlas más orientadas a negocio. La mañana comenzará con una ponencia de Bryan Cheung que nos hablará de Liferay como empresa, de su comunidad, de su crecimiento, los principales logros, de la fundación Liferay y mucho más. Posteriormente yo mismo presentaré las principales novedades de Liferay 6 y como sacar el máximo partido de ellas. Seguirán algunas prácticas con un cariz más técnico donde se mostrará las mejores prácticas para construir un portal de éxito, como sacar el máximo rendimiento a una instalación de Liferay, cómo formar parte de la comunidad de Liferay y los principales beneficios de que tanta gente lo haya hecho ya.

La tarde estará más orientada a usuarios y decisores finales, pero sin duda también para desarrolladores interesados en los usos que se da a Liferay y la progresión futura. Paul Hinz nos hablará de uno de los temas más candentes de hoy día, el Marketing 2.0 y cómo Liferay puede ayudar a sacarle partido. Seguidamente Carolina, junto con varios de nuestros clientes en España, de sectores tan diversos como educación, administración pública, telco o banca nos hablarán de sus portales y de cómo Liferay Portal les ha ayudado a lograr sus objetivos.

Y terminaremos con una última charla de Bryan Cheung que nos hablará de la estrategia de futuro de Liferay que irá seguida de una mesa redonda con todos los ponentes que aprovecharemos para hablar y que nos preguntéis sobre cualquier tema, incluyendo algunos de los más candentes hoy día como Cloud Computing, Marketplaces, etc.

En definitiva, espero que vengas y podamos conocernos en persona.

Puedes consultar la agenda completa del evento y registrarte antes de que se agoten las plazas en:


Visiting Barcelona

Company Blogs 17 de marzo de 2010 Por Jorge Ferrer Staff

Tomorrow, Thursday March 18th, I'll be visiting Barcelona to participate in the event La Web Inteligente: estrategia, soluciones y tecnología para conseguir una experiencia Web diferencial.

I'll be looking forward to meet all of you who will be attending.



Double the number of visits to your site with Liferay 5.2

Company Blogs 13 de noviembre de 2009 Por Jorge Ferrer Staff

Here I am once again, I still don't blog as much as I would like too but there are so many things happening around Liferay that it's hard to sit down and write. Our office in Madrid keeps growing with more customers, partners and new hires, we open new offices around the world, Gartner seems to like us even more every year :) and of course we have the Symposiums... 3 in a row this year in US (West Coast), Germany and India!

For the last few weeks I've been wanting to blog about one of the talks given by one of our customers during the European Symposium. Out of all the good calks during the event the one presented by Mark De Lange, from Reed Business. Among other things, Mark presented some numbers about the growth in number of visits that their Liferay based sites had experienced since they upgraded from 5.1 to 5.2. Their sites are fed mainly from search engine searches and their statistics showed that the visits had already doubled after they had very recently updated to 5.2. I visited Mark a couple of weeks after the retreat and he told me that their new statistics were showing an even larger increase in the number of visits and it seemed to be still growing. Here are some numbers from their presentations:

Of course, this is not a coincidence. While Liferay 5.1 already had several features to improve Search Engine Optimization (SEO), version 5.2 has included quite a few new improvements in terms of SEO that makes this task much easier or even automatic for sites with lots of dynamic content. Reed Business was in fact an sponsor for many of these features. Here is an screenshot from their presentation showing some of the mentioned improvements in one of their sites,

Here is a summary of all the main features added in 5.2:

  • Friendlier URLs by default: Now the friendly URLs generated for pages, communities and organizations will be based by default in its names. No more friendly URLs with numbers!
  • Automatic generation of META tags in Asset Publisher:
    • Keywords: Whenever a content is being shown its categories and tags will be added to the keyworkds meta tag.
    • Description: Whenever a content is being shown its description will be added to the keyworkds meta tag.
  • Unique titles for all pages: The title now has information about the portal, the community/org, the page and the portlet. Note that this has required a change to the default themes, custom themes will need to be updated accordingly.
  • Framework to set the title and meta tags values from custom portlets
  • Friendly URLs in Asset Publisher when viewing an specific asset (for assets that support it)

And here is a complete description of the SEO features provided by Liferay in the form of a wiki article:

Liferay visits Mallorca

Company Blogs 17 de septiembre de 2009 Por Jorge Ferrer Staff

Mallorca is one of those places in the world that you have to visit. Like most places next to the the sea it provides a sense of calm that is very appreciated when you come from the busy Madrid. I had the pleasure of being there last week thanks to an invitation by one of our partners, IN2, who had organized an event about "Mission Critical Open Source Platforms".

My talk was about Liferay Portal 5.2 and I made a demo showing how to build a multi-site portal using a organizations to achieve hierarchical delegation of the administration activities. I also showed the Control Panel, tags, web content, scheduling, ...

Out of all the presentations, the one I enjoyed most was done by Jose Carrasco, from IN2 (in the picture below), who went through quite a few case studies of Liferay Portal installations in mission critical environments with strict high availability requirements.

Some of the case studies presented were:

  • CASS - Caixa Andorrana Seguretat Social
  • Área Metropolitana de Barcelona
  • Agencia Tributaria Catalana
  • Departamento de Bienestar - Generalitat de Catalunya
  • Departamento de nuevas tecnologías-  Generalitat de Catalunya

I also had the pleasure to meet some of the engineers from IN2 who had worked in these projects:


After all the presentations were finished, we had some time for a snack in the beautiful gardens within the building.

This is one of the parts that I enjoy most about this type of events, being able to chat with real users of Liferay as well as people who are considering to start using it. This is when you learn what they like most about the platform and also to ask for feedback about what we can improve in future versions. The event was very succesful which gave me a chance to have many very interesting conversations.

After lunch we still had some short time to walk around downtown. I must say that while I had seen the cathedral before, this time it seemed to me even more beautiful (I have a huge respect for all gothic cathedrals since I read Ken Follet's "The Pillars of Earth"):

And this was the view just turning around 90º:

Feeling like going to Mallorca?

After the success of this event I'm really looking forward to meeting so many new people and old friends at the European Symposium in a couple of weeks. See you there!


Using the JSON service APIs to reduce the need for page refreshes

Company Blogs 10 de julio de 2009 Por Jorge Ferrer Staff

We've been working in the last few days with our partner VASS defining the best design for a very large customer who had the requirement of avoiding full page reloads when the users interact with a given application.

The team at VASS had already decided to use Service Builder to save time developing the persistance layer and was looking for the best way to implement the frontend of the application. In this situation using the JSON API that is automatically generated for Service Builder is a perfect solution. It provides a ready-to-use JavaScript API that you can use as if it was local to the browser and it handles all the AJAX calls and serialization and deserialization. The implementation is in the server which allows you to use the full power of Java and associated technologies to implement any business requirement needed.

For those who have heard about DWR, this follows a similar strategy but if you are already using Service Builder everything is done for you and you just have to use the js API.

While thinking about this we realized that this is one of those little gems that Liferay has that is not very well known because it's not properly documented. So we decided to change that and let the world know about it. As an introduction here is a quick example.

Assuming you have the following method in the remote service:

public class ReportsEntryServiceImpl extends ReportsEntryServiceBaseImpl {
    public void print(String msg) {
        System.out.println("ReportsEntryService: " + msg);

The method could be invoked from a JSP using the following method (to make it simpler we are linking to the js file directly):

<script src="/html/js/liferay/ext_service.js" language="JavaScript"> </script>

<script language="JavaScript">
            msg: "Invoking a Liferay service via JavaScript",
        function(message) {
            var exception = message.exception;

            if (!exception) {
                // Process Success
            else {
                // Process Exception

For more detailed information check the new wiki article: JSON Service API

Have fun!



New in Liferay 5.2: Support for many independent message boards, blogs, wiki, ... per community

Company Blogs 20 de febrero de 2009 Por Jorge Ferrer Staff

As most readers will probably know, one of the most powerful characteristics of Liferay's portlets is the fact that when they are added to different communities or organizations (whenever I use the word community from now on it also applies to organizations) they act as completely independent portlets, each with it's own data. For example, if you have two communities, one called "Soccer lovers" and another one called "Soccer haters", which have the message boards portlet added to their pages, each of them will effectively have their own independent forum. As you can guess from this example that's very important because otherwise the results would be unpredictable. The following diagram shows how the data from each forum is stored separately in the database:

This is one of the reasons why many people use Liferay's tools instead of specific purpose tools, because that way a single installation can hold tens, hundreeths or even thousands of forums, blogs, wikis, etc. One per community of the system. But apparently many people thought that wasn't enough and they started asking for the ability to have several independent instances of those tools per community.

That's one of the things I love about Open Source, there is always people pushing you to go one step further. Not only that, but sometimes one community member not only asks for the functionality but steps ahead and offers to help. In this case, that community member was [url=]Jesper[/url] and the people from Kanal5. Jesper discussed with us the best approach to implement this possibility and some time later provided a working implementation for it. From there on Brian and I worked on some improvements but most of the hard work has already done. Thanks a lot Jesper!

Back to the functionality, it works by allowing each community to have several scopes of data. 'scope' is just the term we've decided to use to mean a set of data (for example forum categories and threads) that is isolated from other data of the same portlet. Any community has a default scope (what Liferay already had in all versions prior to 5.1) and it's also possible to create [b]an additional scope per page[/b] (either public or private).

Let's use the message boards portlet again as an example to explain how to create an additional scope. When the portlet is added to any page of the "Soccer lovers" community it will use the default scope. If they add the portlet to a second page, it will show the same data as in the first page (see note 1) To make this portlet use a different data scope you have to follow this simple steps:

1) Go to the configuration of the portlet
2) Click the tab called scoping
3) Using the select box choose "Current page (forum)" and save
4) Go back and use the portlet to add any data that will now be specific to this page.

Repeat for as many pages as desired, with any portlet that supports scoping. All of Liferay's core portlets where it makes sense to use this feature have been modified to support it. Furthermore, it's been implemented in a way that it's quite easy to add support for it for custom portlets too (I can write another blog entry about how to do it if there is enough interest).

That's it, enjoy the feature and I hope you like it.

Note 1: We've decided to keep the previous behavior so that any portlet added uses the default scope of the community. This way if you don't need more than one scope per community (which we think is going to be the most common case) things just work as they've always worked. If you do need several scopes you just have to follow a few extra steps as outlined above.

Liferay Portal v5.2 is out, why is everybody so excited?

Company Blogs 4 de febrero de 2009 Por Jorge Ferrer Staff

The new release of Liferay Portal is out and I think this is its best release ever. All of us who have been working hard within Liferay and the community to get it out are super excited, everybody we show it too also gets excited, and what is more important, the feedback from the very early adopters has been awesome. What is so special about this release?

I think one of the key aspects of v5.2 is that has improvements in may different aspects including lots of new functionalities, new and improved plugins, significant speed improvements, better packaging and improved usability, specially in the administration UI.

Ok, enough bragging, let's get to the details.

New features and improvements

The administration UI has been completely redesigned, not only with the introduction of the Control Panel, mentioned later, but also with a redesign of the individual administration tools. The main goals of this redesign were:

  • Usability: do more quicker, more intuitively and in less clicks.
  • Adaptability: adapt it to your own needs. For example you can now define your own types of organizations, such as Department, Customer, School, etc.
  • Extensibility: previously if you needed, for example, a very custom user profile you had to build your own tool. Now you can define custom attributes by using the UI and perform any changes desired by adding JSP-based templates.

But this is just the tip of the iceberg. Some other very significant additions are:

  • Support for taxonomies: create your own tree of categories and assign them to web content, wiki articles or your custom portlets. Includes support for multiple vocabularies
  • Improvements to the web content management system
  • Microsoft Office Integration with the Document Library
  • Support for inheritance of web content structures
  • Support for having many independent message boards, blogs, wikis, document libraries, ... per community or organization.
  • Siteminder SSO integration
  • Restricted permission search: the results from a search will now exclude any entries that the user does not have the rights to view.
  • Export of published web contents to PDF, DOC, TXT and RTF.
  • Improved translations: Liferay Portal v5.2 comes with the most polished translations ever, thanks to the awesome work of the Liferay Translation Team.

New and improved plugins

The list of officially supported plugins keeps increasing, and this release contains significant improvements to the ones available and introduces several new ones. The most significants are:

  • Chat portlet improvements:

  • New WSRP implementation thanks to our friends from SUN
  • Knowledge Base
  • Wiki Navigation portlets
  • Web Form configuration: the Web Form is now available as a plugin and comes with a much improved configuration UI including drag & drop to reorder fields:
  • New Mail portlet
  • Private message portlet


Note: Several of these plugins are included out of the box in the new bundles and all of them will be available in the next few days in Liferay's official plugins page.

Speed and scalability improvements

On the front end there have been lots of speed improvements that provide a much faster user experience. You can read more about them in Nate's and Eduardo's blog posts.

On the back end side v5.2 includes support for distributed read /write operations between two separate applications which provides support for massively scaled installations. Also data-bound applications will benefit from increased database throughput. Finally v5.2 provides terracota DSO integration.

Better packaging

  • Improved structure: the structure of the bundle has been significantly improved so that it's completely selfcontained (including its data) and thus makes life easier for administrators. It also comes with a readme file with information to get started quickly.
  • Sample data: When you first run the bundle the database is populated with a sample portal (The portal of a ficticious company called 7 Cogs)  that showcases many of Liferay Portal's functionalities and those of the bundled plugins. That way it's much easier to understand the new features and the most common usage patterns for Liferay. Check it out and let us know what you think.
    Important note: if you have an existing database don't point the bundle to it since it will substitute your data with the sample data. Check the readme file for more information on how to remove the sample data.


Improved usability

The most significant changes in usability are:

  • Control Panel: all the administration tools have been unified into the Control Panel. Through this UI users can administer the whole portal with ease regardless of whether they have 1 single community or website or they have thousands. The Control Panel includes tools for managing contents, portal users, orgs, roles, ... and the server itself. Also it's very extensible so that you can add your own tools to it.
  • User Administration: streamlined profile form with an intuitive organization of fields that can be navigated without refreshing the page. It also allows administrating all the organizations, communities or roles a user is assigned within the same form (see image below):

  • Permissions assignment: assigning permissions for a specific entity such as a blog entry has a brand new UI which is much easier to understand and use. (see image below):

  • Usage of UniForm for more usable forms: if you were able to attend Nate's talk in Liferay's Symposium in Frankfurt last year you know how the usability of forms can be improved following certain rules. These rules have already been applied to Liferay's portal administration forms.

You can read more about this and other new features in the page: New Features in Liferay Portal 5.2. And we surely hope you also get as excited as we are :)

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

Company Blogs 16 de diciembre de 2008 Por Jorge Ferrer Staff

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.


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:


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

Liferay Developer Mode: optimizing Liferay for development

Company Blogs 11 de diciembre de 2008 Por Jorge Ferrer Staff

It's been a very long time since my last post but I promise I'll make up for it with a series of posts about the latest features we've been working on for the next releases of Liferay Portal. But first, I want to blog about a topic that I think will be of a lot of interest for Portal developers: how to optimize Liferay to make development faster.

In other words how to put Liferay in what we might call a "developer mode". What would this mode do?

  • Disable all caches to reduce the need to reboot after making changes to CSS files, JavaScript files, Velocity templates in themes and Journal, etc.
  • Increase the amount of information output in case of error (very limited for now)
  • Disable features meant for production servers or evaluators

How have we achieved this? In a very simple and extensible way, by creating a new configuration file called In order to turn on the developer mode you just have to modify the installation of Liferay you use for development to make sure the new file is loaded. The exact instructions and more details about what are its effects can be found in the wiki article Liferay Developer Mode

I've been working in this mode for several weeks now and it really makes a developer's life much easier :) But still I think this is just the beginning there are probably more optimizations we can do to this mode. So if you know of an existing property in that should have a different value than the default during developer let me know and I'll add it. Also, if you can think of a new property that we could create to switch on or off certain behavior I'm all ears :)

Mostrando el intervalo 21 - 40 de 61 resultados.
Elementos por página 20
de 4