1. A method for providing a content management system, the method comprising: providing a virtual content repository (VCR) that is a logical representation of a plurality of content repositories, wherein the VCR uses a common Application Programming Interface (API) and a Service Provider Interface (SPI) to provide a single access point to the plurality of content repositories, wherein the common API describes how applications can interface with program logic and functionality provided by the content management system and the SPI describes how a content repository can be integrated into the VCR and isolates direct interaction with the plurality of content repositories from the common API; allowing at least one repository of the plurality of content repositories to be not compliant with the SPI of the content management system, wherein the at least one non-compliant repository is associated with a separate API that provides direct access to content in the at least one non-compliant repository; interposing an adapter between the separate API associated with the at least one non-compliant repository and the SPI, wherein the adapter maps one or more methods in the common API to the separate API associated with the at least one non-compliant repository, and wherein the adapter allows the VCR to model content in the plurality of content repositories and to provide uniform content services; exposing only a subset of features and/or capabilities provided by the at least one non-compliant repository via the separate API using the adapter, and allowing at least one method provided in the separate API associated with the at least one non-compliant repository to be not exposed to the common API; receiving a request from one or more originator, at the common API that is associated with the SPI, to access content in both at least one compliant repository of the plurality of content repositories and the at least one non-compliant repository; mapping the request to the at least one compliant repository via the SPI, and to the at least one non-compliant repository via the SPI and the adapter; and combining the content received from both the at least one compliant repository and the at least one non-compliant repository, and providing the combined content to the one or more originators of the request based upon the VCR.