The role of communities of practice in knowledge management, and how they promote knowledge sharing and learning.