Contributing and enabling technologies for knowledge management. (19th April 2004)