Developers

This section focuses on how to build content rich applications backed by Crafter CMS. It covers the basic topics you need to define a content type and render that content as part of a page, component or service. It also covers topics like building queries, accessing services and extending the core platforms.

Developers need to be comfortable with Content Modeling (how to represent content in Crafter CMS for your application to retrieve said content), and how to access content items from your application/site.

Define Content

To get started with content modeling, read: Content Modeling.

Retrieve Content

To get started with content access/APIs, read: Crafter Engine.

In depth concepts and guides follow.


Note

Scripts and Templates Security

Crafter Engine limits access to services when developing templates or scripts, and sandboxes scripts for security by default.

Crafter Engine only allows a small list of services available to use when developing templates or scripts. There are some sites that may require services not included by default.

To expose other services, follow the guide Access to Services

Scripts are executed in a sandbox that has a blacklist of insecure expressions to prevent code that could compromise the system. There are some cases though where a site requires access to one or more of the blacklisted expressions.

To override the default script sandbox configuration, follow the guide Script Sandbox Configuration

Subsystems and API Documentation

Crafter CMS comprises a number of projects, below are the project specific documentations including APIs.

Cookbook / Tutorials

Below is a short set of links to other documentation for technology that Crafter CMS leverages:

Attribute Name

Usage

Links

Spring Beans
Spring MVC
Server App Framework

Freemarker

Server side templates

Groovy

Server side scripting

Elasticsearch

Search and content query

Solr

Search and content query

MongoDB

Crafter Profile and Social
data store
GIT
Repository Implementation
RST

Documentation source format

Note

Crafter CMS is a Git-based CMS. Please note that your system’s global git ignore file (list of rules for ignoring files in every Git repository on your computer) is respected by Crafter CMS. In case you find some of your content not being committed into Crafter CMS, check your global git ignore file to verify the content you’re committing is not being ignored.