I want to develop a typical web application. But it should possess the CMS capabilities like personalization, web site analytics, site search etc. I have to decide the architecture/technologies for this. Should I go with any java CMS/portal? I searched for Java CMS/portals. I found names like Liferay, Jihia, Magnolia & many more. I am a core spring/hibernate developer. Please suggest the correct approach.