Developers New to Craft

If you’re a developer, and new to Craft CMS, then there are a few things you should know straight away. We’ll cover a few topics from frequently asked support questions, then give you some helpful links to point you in the right direction.

Bespoke Solutions #

The most important thing to know about Craft is this: Craft CMS and Craft Commerce are platforms that allow developers to implement bespoke solutions for clients.

Clean Slate #

Some content management systems come bundled with themes and pre-made templates to help you launch generic sites quickly. Some themes might include front-end frameworks, like Bootstrap or Foundation, with pre-configured build systems. Solutions like this are great for quick turnarounds when requirements are flexible. As a business grows, however, so do design and business requirements, and a CMS with jumpstart features can impede a developer’s productivity with tedious workarounds and technical debt.

Craft is for developers who want to start with a clean slate. It does not provide any HTML, CSS, or JavaScript beyond what it needs for the Control Panel. All front-end files are yours to create. Whether you’re a Webpack expert or a vanilla CSS and JavaScript wizard, Craft stays out of your way entirely so you can build customized solutions for your clients as you see fit.

Built on Modern PHP Principles #

Like many modern PHP applications, Craft is built on open source software via Composer and Packagist. The most important things to understand are Twig, for front-end developers, and Yii, for back-end developers.

Twig is a PHP templating language. Front-end developers appreciate its elegant style and ease of use. Back-end developers enjoy its dot-syntax access to Craft’s PHP service classes which can be used right in the templates.

Craft exists as a thin layer on the Yii PHP framework. Back-end developers can create Craft plugins or Yii modules to implement custom integrations and add Control Panel functionality. In this regard, Craft is as much a web application platform as it is a content management system.

Plugin Store #

Craft’s Control Panel includes a Plugin Store with many free and commercial plugins for you to install with a click of a button. You can browse a current list of available plugins at plugins.craftcms.com.

We offer several free, first-party plugins. Here are a few you need to know about as you get started.

For WYSWIG editors, we offer Redactor and CKEditor as plugins which provide editor field types.

Asset uploads are stored in local directories by default, but we offer a few plugins to enable Amazon S3, Rackspace Cloud Files, and Google Cloud Storage if you prefer.

Our ecommerce product, Craft Commerce, is a plugin that can be installed from the Plugin Store as well.

Unlimited Free Trials #

You can evaluate Craft Pro, Craft Commerce, and commercial third-party plugins for free with no time limit. Find out how in this support article: Try Craft Pro & Plugins Before Buying. You won’t be asked to purchase anything until you deploy to a public web domain. Experiment as much as you like without any financial risk, and pay when you’re sure Craft is for you.

Craft Solo #

Craft’s Solo edition is free and is enabled when you first install Craft. It is limited to a single administrator login and community support only. You are free to use it for any purpose, including client work. You can upgrade to Craft Pro from the Control Panel at any time to access developer support from us or to enable multiple user accounts.

Craft ID & License Management #

It’s not a requirement, but it is a good idea to create a Craft ID account at id.craftcms.com. That will give you an understanding of how to manage your license keys.

A license key is created when you install Craft. If the primary admin email address in the new Craft instance matches your Craft ID email address, you'll find the new license key in your account.

Server Requirements #

Whether installing locally or on a remote server, Craft has server requirements that must be met. See the documentation page, Server Requirements.

The most common problem people encounter is failed updates after clicking the “Update” button in the Control Panel. That triggers a web request that takes more memory and time than default PHP settings allow. You’ll need to edit your php.ini file. Set max_execution_time to 60 and memory_limit to at least 256M. If you don’t know how to do that, then you’ll need to ask your web host or another developer.

Inheriting a Craft Site #

If you've inherited a Craft site and you don’t have any experience with it yet, the most important thing to understand is that, with Craft’s clean slate approach, it can be difficult to understand the difference between Craft conventions and what are patterns or customizations created by the previous developer. The best thing you can do is to create a simple Craft site for yourself from scratch before diving into someone else’s work. The free Up and Running with Craft 3 video course at CraftQuest is a great way to start.

It's also important to know that Craft 3, the most recent version, was released in April 2018. You might have inherited a Craft 2 site. That is important to know when exploring documentation and asking for help.

Links #

Official Documentation and Support #

  • Craft CMS docs - The official Craft CMS documentation
  • Craft Commerce docs - The official Craft Commerce documentation
  • Craft Slack group - The Craft development team is in Slack every day along with 6,000+ other Craft developers and users from all over the world.
  • Craft Stack Exchange - The best place to ask "how do I" type questions. Our development team monitors Stack Exchange on a daily basis.
  • Official support email at support@craftcms.com
  • The Craft Get Help widget inside the Craft Control Panel can be used to submit support tickets directly to the Craft development team.

Learn Craft #

  • CraftQuest - CraftQuest is our official education and training partner. They have a number of excellent free and paid resources for Craft CMS & Craft Commerce. Ryan Irelan, Mijingo's founder, also offers customized training online or on-site. He's also trained NASA employees, true story.
  • Tuts+ Tutorials - Not official but very good and low cost (most are $9).
  • nystudio107 Blog — Andrew Welch offers some excellent developer-oriented insight with his guides and best practices for Craft and web development.

Craft Hosting #

Craft works on any host that meets the server requirements, but we work directly with a handful of hosts to ensure the best possible experience. You can read about those on our Preferred Hosting Providers page.

Craft Partner network #

  • Craft Partners - This is our directory of web agencies and contractors that can help you with Craft implementation work.
  • Partner Match project form - If you have a mission critical project and want our help matching you with a great Craft Partner, please fill out this form.

Enterprise Licenses & Support #

  • Craft Enterprise Licenses - If your client or organization needs to go through a security or vendor review process, requires insurance coverage, or has other business requirements, we have options that can cover most needs.
  • SLAs - We offer SLA-based support or priority support contracts.
  • Contact hello@craftcms.com for more information on enterprise license and support options.