Crafter Profile

Working with the CrafterCMS Groovy Sandbox

CrafterCMS supports a powerful Groovy-based scripting layer for server side programming. CrafterCMS's configurable sandbox policies determine what the scripting layer can and cannot do. Some syntax is more likely to trigger sandbox flags than others. Follow this guide to learn a few tips and tricks for working within the sandbox without needing to modify policies.

Using NextJS with CrafterCMS 3.1

Next.js is a React JavaScript framework that enables you to develop fast, user-friendly applications by combining server-side rendering with statically created pages. Some reasons for using Next.js include speed, performance, and scalability. Th

Integrating Okta with SAML2 to Crafter Engine

Today, within a modern cloud-based application, there are many cases where application end users want to use Single Sign-on (SSO). In which case, users log in to an Identity Provider for identifying, then use this information to authenticate to many services without the need to re-enter credentials information. In this tutorial, we demonstrate such an authentication method by using Okta with SAML2 for Crafter-powered end user software applications such as websites, portals, mobile apps and more.

Using Macros to Structure Asset Folders in CrafterCMS

Static assets are media (images, videos, etc.) or any document/binary files which are used in your site. A CrafterCMS site stores all assets under `/static-assets` directory of Studio.  If your site is growing, there is a chance that you and your team will need to upload and manage a huge number of assets. Without a well-designed directory structure, this may lead to authoring usability and performance issues. In this tutorial, we introduce how to use a macro to structure static assets directory. This will help authors upload files to designated folders or even select which folder to upload to without the need of understanding the below form control.

Building a Plugin to Embed Tweets in Crafter Studio's Rich Text Editor

Crafter Studio supports Rich Text Editing via TinyMCE by default. TinyMCE is one of the most powerful WYSIWYG editors. This Rich Text Editor (RTE) enables users to input different types of content such as text, images, videos, and so on to Crafter Studio. We can also extend TinyMCE with plugins. In this article, we will build an RTE plugin for TinyMCE that enables authors to easily embed Tweets to site pages. This plugin uses Tweet ID as the only input required to render Embed Tweets either by inserting static HTML or dynamically at runtime.

Building a YouTube Video Plugin for CrafterCMS

Introduction CrafterCMS is an open source CMS with a Git-based repository that enables developers, content authors, and ops to work together collaboratively to deliver stunning personalized, multi-channel experiences faster and easier than ever befor

Is GraphQL the Next API Standard for CMS?

GraphQL has enjoyed tremendous growth in popularity, becoming a de'jour standard in the development community with bindings for well over 15 languages and pluggability with many backends. While GraphQL was never designed to be an API standard for CMS platforms, it may be one of the best things to happen for APIs for content management. Is GraphQL the Next API Standard for CMS?

Building and Optimizing Multi-Channel Digital Experiences

Over the last few years, the internet has undergone a tremendous amount of fundamental change in its landscape, and we are now entering into a new reality with today’s Web. This change is driven by five major trends:

Using War Overlays with Crafter Engine

Crafter Engine, the delivery component of CrafterCMS is completely programmable with scripted Groovy.  You never have to write a lick of Java if you don’t want to.  Even dependencies can be managed with Ivy and Grapes. That said, from time

Working with url interceptor/servlet filters in CrafterCMS

A filter in Crafter is a Groovy-based controller that allows you to intercept inbound requests for content and API responses and dynamically apply rules, modify the request or transform the response.  A Crafter Filter has the same interface