Building a knowledge portal for communities based on personalized functionalities