Patent ID: 7970761

Claim:
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a repository residing in the memory that includes: a plurality of components; a compound document that includes: a plurality of link locations; first conditions corresponding to a first link location that are used to determine whether a component may be linked to at the first link location; and second conditions independent of the plurality of link locations that define at least one relationship between at least two of the plurality of components; a content management system residing in the memory and executed by the at least one processor, the content management system managing the plurality of components in the repository, the content management system comprising: a component identification mechanism that creates a ranked list of components for a selected link location in the compound document, where a rank of each component in the ranked list is determined according to popularity of the component in the selected link location in the plurality of components in the repository and according to the second conditions that specify a relationship between a component and a higher ranked component in the ranked list, wherein the component identification mechanism determines whether each component in the ranked list satisfies the first and second conditions, and if a component in the ranked list does not satisfy the first and second conditions, the component is not identified for the selected link location, and if the component in the ranked list satisfies the first and second conditions, the component is identified for the selected link location.