• Document Up to Date

Developers

This section focuses on how to build content rich applications backed by CrafterCMS. 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 and the developer workflow (DevContentOps).

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

The following gets you started with content modeling, content retrieval, and more:


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

CrafterCMS also supports content inheritance out of the box, and supports it via a pluggable mechanism that allows developers to augment or override what’s out of the box. Below is more information on content inheritance:


To search for content in your project:



CrafterCMS allows content targeting by providing the ability to render content adapted to specific users, depending on different aspects like geographical location, language, preferences, etc.



While developing your project, there are times when you’d like to see more log details, to figure out what is happening and address it as needed. Overriding the logging levels allows you to see more or less details depending on your needs.

CrafterCMS supports content authoring, publishing and developer workflow and how to configure and implement it, the basic mechanics of DevContentOps.

The following looks at the developer workflow in depth:

Crafter Studio is designed as a framework that supports extension. To extend Studio, use plugins. Below is a short set of links to other documentation for technology that CrafterCMS 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

MongoDB

Crafter Profile and Social
data store
GIT
Repository Implementation
RST

Documentation source format

Note

CrafterCMS 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 CrafterCMS. In case you find some of your content not being committed into CrafterCMS, check your global git ignore file to verify the content you’re committing is not being ignored.