How do they compare to each other? What are some of the main factors to consider when choosing one over the other?
I have not used Drupal, but with my experience these are the points you need to answer to choose:
1- Are you a java OR a PHP developer (that is if you are going to do some custom development) ?
2- Do you just need a Content Management System OR an advanced CMS with some custom requirements ?
3- Last one is, do you need "Personalization OR Customization" ?
If the core need is to have a web content tool to manage the UI primarily then Drupal is the choice. If the core need is to have a
"functional " portalized UI with social features, personalisation,
integrate various apps and show it to the user based on user profile then
Liferay is ideal as the UI layer.
Drupal and LIferay are not at all similar; akin to comparing apples and oranges. Drupal is a social community platform designed primarily for external Internet scenarios. Liferay is an enterprise portal solution primarily designed for internal intranet scenarios. There are many dozens of other solutions for both scenarios. However, any organization looking at evaluating a software solution should first detail their plans and business requirements before looking at the technology.
I have personal experience only with Drupal, I suggest you check what type of requirements you have, for example:
- type of database
- middleware (PHP/Java), not only if have to install them but also if one day you need to develop for or in case you have to search for an hosting website
- user centralization and authentication (LDAP/AD, SSO)
- integration with other applications (for example a DMS like Alfresco or search engine like Solr)
- commercial support (cost and/or location of possible support)
- business view (which role would have a different view (mobile/different viewed content on desktop), which has security and style impact)
and then match them with the functionalities/plugin they both have
I wouldn't really compare the two - they both cater to different set of requirements / use cases.
While Drupal is Web Content Management (WCM) tool and is good fit for small to medium size interactive or social web solution requirement.
Liferay on the other hand is an Enterprise Portal software (it also has WCM as part of it's offering). It would fit in better where your requirements are more toward sharing personalized information to users / exposing several application to users though a common interface.