1. A method of designing a knowledge repository, the method comprising: receiving, in a computer system, a first input to form a configuration template for a knowledge repository, the configuration template describing a class of knowledge entities to be included in the knowledge repository; receiving a second input identifying a document template to be used in displaying instances of the class of knowledge entities, the document template being selected from a predefined group of document templates; and associating the document template with the configuration template in the computer system.