Custom Content Management API development


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));
    }
}

The elements that get you up and running in a matter of days, from pre-built content types, to modules, to landing pages.

Content types
Modules
Landing pages
Everything you need to manage and administer content within Brightspot CMS, including plug-and-play integrations.

Dashboards
Publishing
Workflows
Admin configurations
A guide for installing, supporting and administering code on the Brightspot platform, including integrations requiring developer support to use.

Field types
Content modeling
Rich-text elements
Images