Patent ID: 8260815

Claim:
A method of accessing content stored within a content management system, the method comprising: storing, in the content management system, a metadata registry that identifies metadata for content stored in a native repository and metadata for content stored in an external repository, wherein the metadata for the content stored in the external repository includes external reference metadata that identifies an external service for accessing the content in the external repository, wherein the external repository accessible through a protocol that is incompatible with the content management system, and wherein the native repository is accessible through a protocol that is compatible with the content management system; storing, in the content management system, an external service registry with records that each identify a particular external service for accessing content in the external repository location information that identifies a location of the external repository, and an identifier template that defines a format for a unique identifier that the particular external service uses to uniquely identify content and that has placeholders for parameter values; receiving a request for content; determining whether the request is for content stored in the native repository or the external repository by retrieving the external reference metadata from the metadata registry; in response to determining that the request is for content stored in the native repository, directly accessing the native repository to retrieve the requested content; and in response to determining that the request is for content stored in the external repository, employing one or more external services to retrieve the requested content from the external service registry by: retrieving the external reference metadata from the metadata registry to identify a particular external service configured to communicate with the external repository to acquire the requested content; based on the identifier template, generating the unique identifier for the content to be accessed by combining at least a portion of the external reference metadata with at least a portion of the location information in the external service registry into the unique identifier that uniquely identifies the requested content to the particular external service; transmitting the unique identifier to the particular external service, wherein the particular external service is configured to access the requested content in the repository based on the identifier; receiving the requested content from the particular external service; and providing the requested content to one of a user, an application, and a process.