Custom Content Management API development
Note
This Integrations section, found in the Developer Guide, covers integrations that require developer intervention to turn on. For quick, out-of-the-box integrations offered by Brightspot, see the Integrations section in the Brightspot CMS User Guide.
Overview of custom CMA development
For stable production functionality, it typically makes more sense to build a custom Content Management endpoint via code, rather than entirely through editorial configuration. An endpoint class can ensure that a fixed set of APIs are exposed with configuration that should not change between different environments.
Implementing custom CMAs
Create a new Java class extending ContentManagementApiEndpoint.Implement required methods:
-
getPathSuffix
—appended to/graphql/management/
to create the path where the API endpoint is available. -
getEntryFields
—objects wrapping Dari record types used to generate the schema and expose APIs.
Example:
public class FooContentManagementApiEndpoint extends ContentManagementApiEndpoint {
@Override
protected String getPathSuffix() {
return "foo"; // API endpoint is available at path '/graphql/management/foo'
}
@Override
public List<ContentManagementEntryPointField> getEntryFields() {
return Arrays.asList(
new ContentManagementEntryPointField(Foo.class, true),
new ContentManagementEntryPointField(Bar.class, true));
}
}
Previous Topic
Uploading files in Brightspot Content Management API
Next Topic
Content Delivery API permissions