Knowledge Management for Development:Domains, Strategies and Technologies for Developing Countries