PortalProduct refactoring