Accepted, Not Yet Planned

Allow the PCA to be discoverable through the Discovery Service

Right now you can discover Content Service capabilities from the Discovery Service via the path /ContentServiceCapabilities?$top=1

This returns the URI with a <conternt> element:

        <content type="application/xml">
            <metadata:properties>
                <data:id>DefaultContentService</data:id>
                <data:LastUpdateTime metadata:type="Int64">1591381497804</data:LastUpdateTime>
                <data:URI>https://udp-live-d8d61b-dev-us-east-1-spotify.tridion.sdlproducts.com/content.svc</data:URI>
            </metadata:properties>
        </content>
If there's a Model Service, this appears as an extension property in the same element:
        <content type="application/xml">
            <metadata:properties>
                <data:id>DefaultContentService</data:id>
                <data:LastUpdateTime metadata:type="Int64">1591381497804</data:LastUpdateTime>
                <data:URI>https://udp-live-d8d61b-dev-us-east-1-spotify.tridion.sdlproducts.com/content.svc</data:URI>
                <data:ExtensionProperties metadata:type="#Collection(Tridion.WebDelivery.Platform.ContentKeyValuePair)">
                    <metadata:element>
                        <data:Key>dxa-model-service</data:Key>
                        <data:Value>https://udp-live-d8d61b-dev-us-east-1-spotify.tridion.sdlproducts.com/model.svc/</data:Value>
                    </metadata:element>
                </data:ExtensionProperties>
            </metadata:properties>
        </content>
Oddly though, the PCA endpoint "/cd/api" isnt shown - this effectively means it can't be "discovered" and integrators need to know to swap "/content.svc" with "/cd/api" - which seems a real shame and undermines the effectiveness of the Discovery Service.
  • Currently, the GraphQL endpoint alway appears in the content service under the /cp/api location. Modifying the discovery model is a reasonable sized task, so assumption is that customers can do the switch themselves. We could add as a permanent extension property - but expect the overhead of reading the extension would be more than a simple replace of /content.svc to /cd/api

    We will review this again as part of our Discovery Service review process. We're aiming to move away from OData-based services and looking more to GraphQL or OpenAPI based services.

  • +1
    I agree, we want implementors to use the new PCA endpoint, but it it is not advertised in the Discovery service.