• Document Up to Date
  • Updated On 4.1.0

Reference

This section is a reference to the modules, APIs, complementary projects, and other detailed material.

Modules

CrafterCMS comprises a set of modules that work together.

CrafterCMS Decoupled Overview
CrafterCMS Modules

Module

Description

Studio

Studio provides all the content management services to enable authoring, management, and publishing of all content.

Engine

Engine provides content delivery services to power any type of Web or mobile application.

Deployer

The content deployment system which moves content from Studio to Engine and Search.

Profile

Profile and attribute store

Social

User generated content store


APIs

CrafterCMS requires you use one of the following APIs to gain access to your content:

Project Type

API

Description

Link

Headless

Javascript SDK

The JavaScript SDK allows access to CrafterCMS services from any SPA framework or direct JavaScript. The SDK also enables Experience Builder (In-Content Editing capabilities) for any project, including SPA projects.

JavaScript SDK

GraphQL

The GraphQL API allows content retrieval and control over the shape of the response.

GraphQL

REST API

The REST API allows content retrieval using the default REST API endpoints, and also allows the developer to define custom endpoints with full control over the shape of the response. To create custom endpoints, see the Groovy API indicated below.

REST Content Retrieval APIs

Search

The search API allows full text search, filtering, ranking and boosting across the entire project.

Search

Groovy

The Groovy API allows for writing server-side code that can perform business logic, content operations, and more. This layer also allows the developer to create custom REST endpoints with full control over the shape of the response.

Groovy/Java API

Static Asset Access

The Static Asset Access allows the developer to access static assets (images, videos, etc.) from internally managed or externally managed repositories.

Static Content Access

Templated

FreeMarker

The FreeMarker API allows access to CrafterCMS services from FreeMarker templates for server-side rendered projects.

FreeMarker (Templating) API

Search

The search API allows full text search, filtering, ranking and boosting across the entire project.

Search

Groovy

The Groovy API allows for writing server-side code that can perform business logic, content operations, and more. This layer also allows the developer to create custom REST endpoints with full control over the shape of the response.

Groovy/Java API

Static Asset Access

The Static Asset Access allows the developer to access static assets (images, videos, etc.) from internally managed or externally managed repositories.

Static Content Access

Note

You can use the REST API in Templated projects to perform content operations via JavaScript as needed

For non-content related APIs, such as user/group management, monitoring, indexing and more, please consult the module API directly.

REST API

CrafterCMS Modules

Module

REST API

Studio

Crafter Studio APIs

Engine

Crafter Engine APIs

Deployer

Crafter Deployer APIs

Profile

Crafter Profile APIs

Social

Crafter Social APIs


Administration Scripts

Synopsis
startup.sh
Description

Starts all needed Services to have a functional
CrafterCMS Authoring/Delivery Environment
Synopsis
shutdown.sh
Description

Stops all needed Services to have a functional
CrafterCMS Authoring/Delivery Environment
Script
crafter.sh
Description



Main Script to start and stop all needed Services to have a
functional CrafterCMS Authoring/Delivery Environment
To log the output of the script to a file, set the environment
variable CRAFTER_SCRIPT_LOG to point to a log file
Synopsis
debug.sh
Description



Starts all needed Services to have a functional
CrafterCMS Authoring/Delivery Environment with the JAVA remote
debug ports open and listening port 5000/5001 for Crafter Deployer,
and 8000/9000 for Apache Tomcat
Script
deployer.sh
Description

Script located in $CRAFTER_HOME/bin/crafter-deployer which will
start,stop Crafter Deployer for the Authoring/Delivery environment
Script
crafter-setenv.sh
Description

Script located in $CRAFTER_HOME/bin/crafter-setenv.sh
Sets various environment variable to configure CrafterCMS

Let’s look at an example on how to start an authoring environment using the scripts we discussed above. To start the authoring environment, go to your CrafterCMS install folder then run the following:

cd crafter-authoring/bin
./startup.sh

What the above does is go to your authoring environment folder, then run the startup script.

To stop the authoring environment:

./shutdown.sh


Complimentary Projects

Complimentary Projects and Resources

Docker Compose

Docker Compose on GitHub

Docker Images

Docker Images on GitHub

Kubernetes

Kubernetes Deployments on GitHub

DevContentOps Toolkit (Crafter CLI)

DevContentOps Toolkit (CrafterCMS CLI)

Extensions: Plugins

CrafterCMS Sponsored Plugins on GitHub

Extensions: Blueprints

CrafterCMS Sponsored Blueprints

Marketplace

CrafterCMS Marketplace