
What I like best about Liferay DXP is how flexible it is for building enterprise portals without starting from scratch. Fragments, master pages and Style Books make it fast to build and restyle pages, and Client Extensions let us set up objects, workflows, roles and pages in a repeatable way instead of configuring everything by hand. The modular OSGi structure keeps our custom code separate and easy to deploy, and Service Builder saves a lot of boilerplate by generating the service and persistence layers. Review collected by and hosted on G2.com.
The main downside is the learning curve. It takes time for new developers to understand OSGi modules, the api/service/web split in Service Builder, and when a full buildService is needed versus a simple deploy. There are also several ways to do similar setup work (module activators, site initializers, batch client extensions), and it isn’t always obvious which one to choose, with small gotchas like dependency injection not working inside a BundleActivator. Review collected by and hosted on G2.com.