CraftCMS Pros and Cons — A Quick Guide

What is CMS (Content Management System)?

  • A content management application used for creating, editing, and publishing content.
  • Allow multiple users to contribute, schedule, or manage content.
  • Having a browser-based interface accessible anywhere to any number of users.
  • Drag-and-drop editors allow users to enter text and media without expertise in HTML, CSS or other programming languages.
  • Easy content creation and formatting. Content storage in one place.
  • Permissions for managing content are based on roles: authors, editors, and admins.
  • Publishing and organizing content live.
  • It reduces your reliance on front-end developers to make changes to the website.

“What is Craft CMS?”

There are many Content Management Systems. You’ve possibly heard about a few of the popular ones like — WordPressDrupal, Craft, Shopify, and Joomla.

Craft CMS was introduced in 2011. It is a relatively new CMS but is increasingly becoming popular as an alternative to WordPress. It has excellent features, including, simple editing, flexibility, and live previews.

As an agency, we prefer to create unique solutions that are reflective of every individual client. We believe a lot is going for Craft. It enables us to achieve more even on tighter timeframes and budgets.

An overview

  • Written in PHP on the Yii 1.x platform.
  • Versatile, user-friendly, lightweight CMS with a clear graphical interface.
  • Simple control panel for content production and administration.
  • Craft CMS uses Twig, a strong, open-source PHP template engine, for the template.
  • Twig’s syntax is derived from Jinja and Django templates.
  • Has all the key backend functionality (SEO, page ranking) and commercial features (1st party localization, easy rebranding, etc.).
  • Page revisions, live view modifications, live page updates, and plugin administration are all maintained.
  • You can expand and enhance Craft CMS functionality and features using backend technologies like PHP and JS.

Should you go for Craft CMS or place your bets on a more popular CMS like WordPress, which is used by 60% of CMS users? Many variables need to be considered when answering this question, and it can’t simply be boiled down to one side or the other.

Advantages and disadvantages of CraftCMS

Speed

CraftCMS is faster than WordPress. It is much snappier than WordPress.

On the downside, there are some WordPress themes (like WooThemes) that don’t translate very well into Craft.

In that case, speed gets compromised. Fortunately, there are now some excellent solutions for translating these themes.

Complexity

One of Craft’s advantages is its highly customizable nature: If you can work a little bit with code or hire someone who can (like us) then there are plenty of ways in which Craft could make your life easier as opposed to more difficult.

Craft can get complex at times for those who have no idea about it. In that case, you may need a developer or two to help along the way.

Flexibility

Craft’s greatest strength is its flexibility. Because it is open-source, it has been adopted by a large community of developers who continually update and improve upon it.

This means that, no matter what your niche or business requirements are, you can be sure there will be a solid solution for you to use.

It also helps that Craft is so easy to customize with an interface that feels tailor-made for those with minimal technical knowledge.

On the downside — if you choose to add features beyond what Craft offers natively, customization costs can appear depending on how complex your project needs become.

Ease of use

One of Craft’s most appealing features is how easy it is to set up. Once installed, it takes minimal effort to modify templates and create new pages.

So if you want a CMS that doesn’t require any programming knowledge to get started, Craft is your best bet.

This ease of use also makes Craft very accessible for beginners — especially when it comes to getting a website up quickly.

Released under an MIT license, CraftCMS can be used for both personal and commercial projects. It’s been getting a lot of attention lately from developers because it makes developing custom modules simple.

We’ve seen developers convert to Craft almost instantaneously after discovering how easy it is to get started building sites with it. When it gets easy for us, we try to make it even easier for our clients by all possible means.

Get our Web Platform experts onboard to help you set up your CMS website in no time.

Craft CMS: Building the frontend of a website using Twig and GraphQL

Craft is a mature and tested content management system. Airbnb, W3C, Netflix, PBS, Salesforce, Moz, and countless other brands switched to Craft CMS for redesigning their websites. That for sure proves its credibility against other popular CMSs.

You can use Craft to design and develop complex and intuitive sites that rely heavily on PHP, databases, and query optimizations. However, you can also use Craft to design and develop simple sites where you do none of those things.

Craft CMS has ditched the traditional CMS systems that come with ready-to-go page templates, CSS frameworks, and pre-built themes. As a result, developers have a bespoke solution to build tier solutions. Craft CMS neither offers posts or pages or any bootstrap features and themes to build the frontend.

Craft CMS supports two distinctly different ways of building a front end:

Monolithic: building Twig templates for server-generated pages.

Headless: using a GraphQL API in combination with a separate front end codebase.

But before diving into these two frontend approaches, let’s find out what web developers, designers, and stakeholders love about Craft CMS.

Why Craft is a choice of many front-enders and website projects?

Both web designers and developers find Craft CMS features incredibly useful. Before installing any plugins, the options and functions developers have to work with are impressive. Here is a partial list of features and the reasons why Craft is preferred more for which many other CMSs require plugins:

  • It allows content managers to custom page layout building and preview updates in real-time.
  • One can manage all of their brand sites under one roof, whether it’s a multi-site, multilingual, or both. This is a major problem area with the majority of other CMSs.
  • With virtually no learning curve, the UI of the Craft control panel is very intuitive.
  • Craft is fast for the front end as well as the Control Panel and tops the many reasons for choosing a modern CMS over an older one.
  • Robust sitewide content indexing and search capabilities.
  • Robust custom fields for full control over your design and content.
  • Nearly all content is in one place: Entries. Editors love this and can easily find what they’re looking for.
  • Fine-grained user permissions and group management allow publishing workflows across different departments and individuals. And no, you don’t need a plugin for this.

Building frontend with Craft CMS using Twig templates

Twig is a template engine for PHP so instead of writing PHP you write in this simple Twig syntax.

Some developers are not keen on this, but Craft uses Twig as its template engine. The word “use” should be highlighted as a requirement, as there is no option of writing raw PHP anywhere inside the template.

It is standardized in a way that, when you look at your team’s Pull Requests, you probably don’t expect to see 100 lines of custom PHP that make no sense. You only see the code related to templates.

Apart from this, Twig makes it easy to “component-ize” your elements. This way you define the markup and layout for a component once, then reuse it throughout your site and pass variables.

You can define components for different content modules like image left, image right, headings, cards, etc. This ensures you’re consistent, reuse the same components throughout the site, and reduce duplicate code.

image code

Here’s how to use GraphQL + Craft CMS as a ​“head­less” CMS

Let’s say you’re not digging Twig or you would rather use one of the latest technologies (hello static site generators!). Craft’s templating system isn’t the only way to get content out of Craft. As of Craft 3.3, it provides a “headless” mode and GraphQL built-in with Craft’s Pro features.

That means you can use tools like Gatsby or Gridsome to build static sites with the comfort of Craft CMS. That brings Craft in line with the likes of WordPress that provides its REST API for fetching content to use somewhere else.

As a web devel­op­er, you’d use GraphQL if you were writ­ing a fron­tend that is sep­a­rate from the back­end. You’d be using Craft CMS as a ​“head­less” CMS for its excel­lent con­tent author­ing experience.

Per­haps you’re writ­ing the fron­tend in a frame­work like Svelte, Vue.js, React, or one of the frame­works that lay­ers on top of them like Grid­some, Gats­by, Nuxt.js, or Next.js. You could write a cus­tom API for Craft CMS using the Ele­ment API, but that can be a sig­nif­i­cant amount of work, and you’ll end up with some­thing bou­tique, rather than an indus­try standard.

This is where GraphQL for Craft CMS excels. By cre­at­ing your con­tent mod­els in Craft CMS, you auto­mat­i­cal­ly get a GraphQL API to access it, with no extra work on your part.

Conclusion

Craft abstracts all the field creation and setup to the admin panel. You only need to point it to the right Twig template and then use the fields you connected. Furthermore, it provides localization and multi-site management out of the box with no need for plugins.

The bottom line is Craft is an open-source, modern, affordable CMS with stellar security and first-party support. The features and flexibility it offers out of the box, along with its content-first approach, make it go-to for nearly every custom web project.

About Galaxy Weblinks:

We are your offshore CMS development partner! We offer expert capabilities in developing feature-rich solutions using the latest CMS technology trends. We have hands-on experience in CMS solutions like Craft, WordPress, Drupal for different business needs. We offer assistance from building custom CMS websites to website migration and maintenance processes.

The Quest Of The Most Extraordinary CMS - WordPress vs Drupal vs Craft

This article is an assessment and comparison of the popular content management systems WordPress, Drupal, and Craft. We’ll dig into each CMS platform’s features, ease of use, the types of businesses that are best suited to the platform, and more. We’ll also walk you through the use case scenario of each CMS and will help you understand which one could be right for your business and goals.

Before we explore the nuances of each CMS, let us quickly introduce the three stalwarts in the CMS arena.

WordPress

WordPress is an extremely versatile CMS that facilitates users (even non-developers) to create feature-rich websites and ecommerce portals. It is completely customizable, mobile-optimized, and SEO friendly. It’s also open-source, making it completely free, redistributable, and offers unlimited validity.

The most popular CMS platform powers more than 40% of the websites available on the internet. It also offers thousands of free and paid themes and plugins that the developers can choose from.

Drupal

Drupal’s open-source model encourages continuous improvement and innovation through the support and passion of the Drupal community. With a pool of diverse experts regularly working to make Drupal better, the possibility to create exceptional digital experiences expands far beyond what a single team of proprietary software developers could dream up.

Recent versions of Drupal have also prioritized user experience (UX) to empower everyone from the site editors to content creators and to build powerful customer experiences.

Craft

Craft CMS is a content management system similar to WordPress. The interface is a simple, more stripped back version of WordPress, built and tailored to the needs and requirements of the business. This simple view makes updating and adding content a much more seamless experience.

For some, this adds an increased level of comfort when migrating over to Craft due to the out-of-box understanding developers, designers, and writers are likely to have.

Comparison — WordPress, Drupal, & Craft CMS

Drupal

Below are the brief use cases for each CMS, showcasing when and how the three of them are being used to help you decide which one suits your business needs, size, and scalability.

WordPress

One of the common misconceptions about WordPress is that it’s mainly for creating blogging sites. WordPress was developed as a blogging platform, but that is ancient history now. The platform has evolved radically with the various new releases over the years.

The good news with WordPress is that it is extremely flexible. It can be adapted for ecommerce websites, corporate websites, communities, and forums. WordPress is an ideal fit for startups as well, as it allows them to start small and then scale up to run even enterprise level organizations that span many countries and continents.

All you need are suitable plugins and themes. So, for instance, if you wanted to make an online portfolio for your web design business or even a blogging site, you could go with the provided themes. You can alter its source code to customize your website’s look or functionality!

You have a choice of adding extra oomph to your website by opting for customizations.

For example,

You may have a website that includes a design that should be converted to HTML, CSS, and JavaScript — being three different “technologies”, and be mobile friendly as well. That design is then integrated into a WordPress theme. Whereas all dynamic components such as menus, sidebars, footer widgets, and general content areas should be connected and coordinated with the backend.

Several custom features are then built as custom plugins by a back-end developer, who should be aware of the front-end specifics and business needs through a manager. That final product is packaged and then hosted on a specific server environment.

It will require an extra pair of hands further when it comes to security (having more people able to tackle an assignment and a project manager in charge), having potentially higher code quality when a bunch of people carry out code reviews. This process includes automated testing and ongoing scalability given the diverse expertise of our WordPress developers.

In addition to that, WordPress might be free but it is common for businesses to pay the experts to design a logo for you or adjust some of the CSS code on your site. Whereas, other WordPress users are keen on keeping graphic designers or maintenance experts on call.

So, it all depends on your experience and the scale of your website.

Drupal

Drupal is the best choice if you are building a website that needs complex data organization, that needs to be customizable.

For instance, when you’re building an advanced website, you can choose from among many technologies. Usually, the first choice is the programming language (ASP.NET, Java, Python, PHP, etc.) and then we decide whether we should code everything from scratch or use a framework to do all the heavy lifting.

There is also a third choice, a more comprehensive solution, CMF (content management framework). Drupal 9 is one of these frameworks/systems.

And by large and advanced, we mean one that is changed frequently. Content changes are carried out by at least one editor, supported by at least one developer (along with a QA tester and a sysadmin), who’s responsible for fixing the bugs, continuous development of the website, adding new functionalities, and so on.

Some examples of large and advanced websites are:

  1. A corporate website of a medium or large production or service company.
  2. An informational website, for example, run by a paper or magazine.
  3. An organization’s employee portal for managing processes in the company, such as a CRM system.
  4. A system feeding content to other systems — an API with content for other websites and mobile applications.

Besides, Drupal has almost everything you need out-of-the-box. But more often than that, you may need a functionality that is not a part of the Drupal core yet. And to fulfill that need, you need modules. Modules are bundles of code that can extend or add the functionality of Drupal websites. For example, Drupal Commerce provides everything required to sell products, services, or files online.

Craft

With Netflix, Moz, Duck Brand Duck Tape, Salesforce, PBS, and countless other brands running Craft websites, it’s a mature and competent content management system. At the same time, one of the most important things about Craft is that it is among the newest CMS solutions.

Craft CMS has ditched the traditional CMS systems that come with pre-built themes, CSS frameworks, and ready-to-go websites. It provides a bespoke solution to developers. Craft CMS neither offers posts or pages nor does it offer any bootstrap features and themes to spin up the frontend.

Everything is coded and designed from scratch which allows creating a unique experience specific to your project. And a fluent, sensible content management experience is the result.

Craft specifically targets developers responsible for building complex websites for companies with large budgets.

The primary reason for what makes Craft successful is that CraftCMS gives web professionals and developers control over websites they build.

There are many key tools in CraftCMS that are managed through the control panel of the CMS that illustrates how Craft supports and favors developers of your business:

  • Hundreds of Craft mediated plug-ins
  • Live preview during the website build
  • Regular releases and bug fixes
  • Complete control over the content and categories
  • An ability to manage multiple sites with one Craft installation
  • Custom templates
  • Allowing developers to write and use their own HTML

Why does it matter to your business?

When we boil this down to value for your business, all three CMS ensure a robust and feature-rich website with fewer maintenance costs, faster publishing, and quicker onboarding of new people.

The flexibility and features they offer are out of the box, along with their content-first approach, and make them our go-to for nearly every custom web project.

It’s a crucial part of our web design and development capabilities. Intrigued? Get in touch with us and we’ll be happy to talk about how they can make your site great.

Is WordPress 5.0 Following the Craft CMS Path with Gutenberg?

In today’s digital era, where websites have become the lifeline of businesses and bloggers alike, the choice of a Content Management System (CMS) can make or break your online presence. WordPress, known for its user-friendliness and extensive plugin library, has been a go-to choice for many. However, the release of WordPress 5.0 with the Gutenberg Editor raised questions and comparisons with another rising star in the CMS world – Craft CMS.

A Shift in the WordPress Landscape

The WordPress landscape, which has been evolving consistently, took a significant turn with the introduction of WordPress 5.0 and the Gutenberg Editor. WordPress powers over 43% of all websites on the internet. That’s a staggering number, showcasing its dominance in the CMS world However, the Gutenberg Editor brought a new way of content creation to WordPress users. It aimed to simplify the process with a block-based approach, allowing users to build and customize content with ease. While this change was intended to make content creation more intuitive, it raised concerns among the WordPress community.

Craft CMS: A Rising Challenger

On the other side of the spectrum, Craft CMS has been gaining traction for its flexibility and developer-friendly features. Craft CMS offers a blank canvas for developers to create highly customized websites, making it a compelling choice for businesses and developers who require precise control over their websites.

Real-World Example

To illustrate this shift, consider the case of Jane, a small business owner running an online boutique clothing store. She had been using WordPress for years, enjoying its ease of use. However, when Gutenberg Editor was introduced, her routine changed. Initially intrigued by the block-based approach for showcasing her clothing products, Jane faced a learning curve, leading to a temporary decrease in productivity. She had to invest hours in understanding the new system, affecting her ability to focus on her business. Now, let’s look into the case of Mark, a blogger using Craft CMS for his technology blog. Mark appreciated Craft CMS for its developer-friendly approach and precise control over website design and functionality. The transition to Craft CMS was seamless for Mark, allowing him to continue publishing tech articles without interruption. His blogging experience remained smooth and uninterrupted.

The Numbers Speak

Now, let’s explore some numbers to better understand this shift. WordPress 5.0 adoption faced initial challenges, with some users hesitating to upgrade due to concerns about compatibility and workflow disruptions. On the other hand, Craft CMS witnessed a steady rise in popularity, particularly among developers looking for a more robust platform.

Craft CMS and WordPress Adoption Rates

  • WordPress, as mentioned earlier, continues to dominate the CMS market with a staggering 43% market share.
  • Craft CMS, although not as widely adopted as WordPress, has been growing steadily and is becoming increasingly popular among developers and businesses.

Simplifying the Decision-Making Process

So, what should you choose for your website? In the end, everything comes down to your own requirements. Let’s break down the decision-making process further:

WordPress 5.0:

Pros:

  • Vast Community: WordPress boasts a massive community of users and developers, resulting in extensive plugin support and resources.
  • Simplicity: WordPress is known for its user-friendly interface, making it accessible to beginners.
  • Ecosystem: It offers a wide range of themes, plugins, and integrations.

Cons:

  • Learning Curve: The transition to Gutenberg may require some users to adapt to a new way of content creation.
  • Customization Limitations: While WordPress is highly customizable, Craft CMS offers more granular control over design and functionality.

Craft CMS:

Pros:

  • Flexibility: Craft CMS provides a blank canvas for developers, allowing for precise customization and control.
  • Developer-Friendly: Developers appreciate Craft CMS for its coding flexibility and robust features.
  • Performance: Craft CMS is known for its speed and performance, ideal for high-traffic websites.

Cons:

  • Smaller Community: Craft CMS has a smaller community compared to WordPress, resulting in fewer plugins and themes.

Your CMS Partner

In the world of CMS, one size doesn’t fit all. Whether you lean towards WordPress, Craft CMS, or any other platform, what matters most is choosing a solution that aligns with your goals. At Galaxy Weblinks, we understand the nuances of WordPress, Craft CMS, and various other CMS options. We offer comprehensive CMS services, including WordPress Web Development and Craft CMS solutions, tailored to your unique requirements. Partner with us to navigate the CMS landscape effectively and make the right choice for your digital journey.

Craft & its Plugins | A transforming workflow

We like to think of Craft CMS as a Transformer (one with BumbleBee as his friend) and plugins as its Jet Pack. And every time we develop a plugin for Craft, it helps our Craft projects reach client’s expectations. Craft is a powerful CMS and its developers have left a lot of scope for extensibility. Plugins do the things that Craft CMS cannot. In our workflow Craft plugins help us do more than what Craft can do. Often our clients steer clear of plugin development because of the extra work and vulnerabilities it brings. That’s not the case with Craft plugins. You can read about plugin vulnerabilities in our Craft Vs WordPress blog. Before diving into our plugin development workflow you should know about Composer and Pluginfactory. Craft CMS 3 is highly dependent on the Composer for its development. Composer is a PHP package manager that helps Craft with PHP dependencies. Pluginfactory on the other hand is a different tool altogether it creates scaffolding for plugins. We use the scaffolding to configure our code in it. After defining the need we get on to the business of building the plugins. Craft documentation has a pretty straightforward approach to plugin development. Being big fans of Craft’s coding techniques we looked no further for inspiration. Our plugin development process is as simple as Craft’s.

Building “The Jet Pack” for Craft CMS

Image credit: pixabay

Nomenclature for the assembly

Like the parts of a Jet Pack, parts of the plugin should be named in a consistent format so that they can be identified easily. We follow the naming guidelines whether we’re naming packages or handles. It is safe and efficient to follow a particular nomenclature.

According to the Craft’s documentation-

  • Plugin handle must have lowercase letters, numbers, and dashes. All in Kebab case
  • Package name should have Craft- prefixed to it, after the ‘/’

Creating blueprint for “The Jet Pack”

Image credit: matej

Before we found out about pluginfactory, like every other developer we used to make our plugin structure manually. Pluginfactory creates a skeleton for your plugin in just a few clicks. It is created by a Craft developer named Andrew Welch. The scaffolding on pluginfactory are made using the Yeoman generator.

Details needed to create the scaffolding

  • API version
  • Plugin name
  • Description
  • Initial version
  • Plugin vendor
  • Plugin author
  • Author URL
  • Github name
When the structure is ready we feed our code into it and voila! Our plugin is ready.

Installing “The Jet Pack”

Image credit: jaguarmena

Plugins are written as composer packages. For Craft to recognize the plugin we have to install it as a composer dependency of the project. The installation depends on the nature of plugin whether it’s local or public. If it’s local we install it by configuring the composer.json and adding a new path repository record. The path must point toward the plugin’s root. If a plugin is made for a public release then it can also be installed directly via composer. After registering the plugin as a new composer package on Packagist, a require package command in composer fetches the package and installs it.

Final word: Plugins are essential

Image credit: jaguarmena

Plugins are not a crucial part of a CMS but it sure is important to achieve something out of the box based on client’s requirement. We find plugins to be extremely powerful and time-saving. The most important function of a plugin is to eliminate tedious and repetitive tasks by automating it. Some examples might put its importance into perspective.
  • SEO plugins make search engine optimization easier
  • E-commerce plugins improve customer journey.
  • Analytic plugins help with insights on page performance
  • Text and image editor plugins provide rich editing functionalities
If you’re looking to transform your Craft CMS experience — visual or performance — then plugins can help. As for the development of the plugin, talk to us here.

How to use Macros with Twig in Craft CMS — DRY

Templating is one of the most commonly used processes in web development. It helps with easier management during the development & design process. Apart from the management, templating helps with keeping the visual consistency.

Craft CMS comes with a cool templating engine — Twig. And we love to use macros to work on redundant parts while working on a Craft CMS project. Macros can be compared to ‘functions’ in PHP also known as DRY templating in other languages. We usually use it to generate markups that have slight final variations in the implementation.

To simplify your code you must first make a visual hierarchy of the page you’re working on. That way you can determine the components you’re going to need. Make macros for those components in the twig templating engine.

Macro implementations can be changed based on the parameters passed to it. For instance footers, dates, images and other media are a recurring part of a website. You can make macros for these components.

Skeleton of Twig Macro

{% macro coolMacroName (parameter 1,…..) %} {content of macro goes here} {% endmacro %}

To call the macro – {% import ‘_macroFilename’ as ‘macroVariable’ %} {{ macrovariable.coolMacroName(parameter1, parameter2,….) }}

The best practice is to add the relevant macros to a file and then call the file as a variable. Use the variable to call the macro at the places you need.

The first Macro we use often is-

Macro for responsive image component in Craft CMS

You can reduce and automate a lot of work which goes in responsive image formatting. Utilize Craft’s ‘Image transforms’ with a twig for images and define your transform macros in it. You will also have to define different types of macros for different image formatting needs.

A macro for Device-pixel ratio adaptable fixed size images and other one for variable size responsive images. Also add an internal class to call it inside your twig image file for additional attributes.

Macro for video component in Craft CMS

Videos are an integral part of every website, so making a twig component for it seems practical, otherwise you will spend your precious time writing and tweaking html code for videos.

In the macro define the logic of the video component. The file should have proper information about the component, the parameters which are accepted, the value each parameter requires, and whether the parameter is optional or not. You also need to mention, what the arrays and objects are made of because without that information you yourself and other developers won’t know, what information can/must or cannot be passed while calling the component.

Making macros for date formatting in Craft CMS

Dates might look like a trivial part of a template but it gets tedious and complex when you have to define its format in every other template.

You can contain different modifiable date formats in a macro. It saves you the effort of having to define it time and again and maintaining consistency all along. Short or long, just define the format in a macro and call it wherever you need it.

Reduce repeated reference of paths in Craft CMS

Include tag in twig allows you to call a template within a template. Each one you make gets stored in /templates/ folder by default, even your include templates.

You can call these partial templates separately followed by the same path or make a macro instead to reduce the repeated reference of path.

To achieve code consistency, store your ‘include’ templates separately. So that you can call the include templates within the macro. You can also call your ‘include templates’ from multiple locations.

Final words

That’s pretty much it. Apart from few other variations, creating macros for page components is a good and effective way to reduce the redundancy and complexity of the code. You can always go through this detailed video for macros here.

We’ve been experimenting with several DRY techniques ourselves. It improves the speed of our work cycle.

How are you using Twig & its components? If you need help with your Craft CMS project, connect with us right away.

Craft Vs Perch: A Clash Of Customizable CMSs

In our earlier blogs we’ve favoured Craft CMS heavily because of its ‘content first’ philosophy. Perch also majorly focuses on the content but with functionality shredded down to the absolute basics. It’s so minimalistic and that it is considered to be appropriate for small-scale projects only. Anyways, Perch has its perks as compared to conventional CMSs. Let’s put it to the test against the reigning champion, Craft CMS.

Feature comparison of Craft & Perch

Craft is loaded with crucial features, vis-a-vis:

Live Preview

Craft allows you to review the edits as you’re making them in a split screen window mode.

Matrix

Gives you the full control of your content, from layout and placement to the order.

Localization

You can create locales for the desired language and enable with just a click.

One-click updates

Simply update everything with one click from the control panel. The updater even notifies you according to the nature of the update; whether it’s incremental or critical.

Built from scratch

Craft CMS team clearly states that we don’t make any assumptions about your content. You get full control of your website and you can craft it the way you want. On the other hand, Perch has the following features to offer:

Preview

You get to see the changes only after when they are saved in the draft. A bit old fashioned to be honest but it goes with Perch’s tagline of ‘a very little CMS’

Custom Fields

The feature lets you create custom fields throughout the page.

Localization

Perch lets you localize your webpages by creating separate pages or duplicating regions for each language.

Updates

Updating in Perch is a bit cumbersome. You need to replace the old files with the new ones.

Retrofit or build from scratch

You can retrofit an existing website or build a minimal website from scratch.

Documentation comparison of Craft & Perch

Documentation is a crucial part of a CMS. It is important to define the features and inner workings of a CMS so that the new users know how to use it. It’s a map for the CMS users. Documentation, if not done properly, might mislead your users. There is nothing more off-putting than lack of documentation. Users are trying to find their way around the new CMS and if there is no good map, they’ll probably get lost and bounce-off faster than light from a mirror.

Craft

As far as the documentation is concerned Craft excels at it. You will immediately find everything you’re looking for. From update logs and feature definitions to essential how tos; Craft’s documentation has got it all.

Perch

Being the older CMS of the two, extra years in development hasn’t added much in favour of Perch CMS. Perch documentation is enough to get a hold of the basics but it disappoints when you’re half-way into the development process. Especially when you’re trying to give additional functionalities to your CMS with add-ons.

Community Support comparison of Craft & Perch

Documentation can only do so much, the real knowledge and solutions are derived from the dedicated communities formed around the CMS. The community makes up for the lack of documentation and helps you solve on-site issues.

Craft

Craft has a proactive community of dedicated developers and users that help to keep Craft as current as it can be. The Craft community just keeps growing as more people fall in love with the CMS.

Perch

Perch doesn’t aim to be a big CMS and hence it remains that way with 0.1% of the market share. It has a simple and functional CMS to offer but it’s not backed by convenient documentation and a good community support.
  • Perch Slack channel is no longer active
  • 3725 followers on Twitter
  • 615 fans on Facebook

User Interface comparison of Craft & Perch

User interface determines how you interact with the content. Both the CMSs provide you with a dashboard to edit and manipulate your content using the interface. The simpler the interface the lesser the struggle to understand it.

Craft

Craft focuses on providing powerful and bespoke results. The interface hence is equipped with essential functionalities to handle large amounts of data gracefully. Although it is considered to be highly-technical and dev-friendly, Craft CMS offers a conveniently easy drag and drop interface for layout design.

Perch

Perch on the other hand stays true to its principle of being basic with the user interface too. It is comprehensive and doesn’t require extensive technical expertise. However to people who want more control over their content it is basically under equipped.

Development Cycle comparison of Craft & Perch

Craft uses an unconventional and complex data structure, hence the bigger learning curve. Singles, structures, and channels as data structures give you unmatched control and editing capabilities. For front-end development Craft utilizes Twig templating engine for advanced templates and data manipulation. Perch uses PHP functions for the development as compared to Twig in Craft. The content structure is pretty straight forward, it features pages, regions, and shared regions for data manipulation. For the added functionality of reusing content throughout the page you need to upgrade to larger version of Perch which is Perch Runway. Both the CMSs have their benefits but it is rather important and practical to go with the CMS which is flexible and future-proof. While Perch is a straight forward CMS which doesn’t try too hard to be something it’s not, it is only good for small projects and businesses with a tight budget. On the contrary, Craft CMS provides necessary functionalities paired with high-end security. It is a capable and viable choice for both developers and content editors. Looking at the security track record of Craft we’ve always chosen Craft CMS over every other CMS for our clients. In case you are confused about how

How to migrate a Craft 2 project to Craft 3?

Craft 3 update changed a lot of things. Added functionalities aside, the process of installing and maintaining the CMS also changed with this breakpoint release.

Craft 3 almost makes it necessary to migrate your website from Craft 2. It is better in every aspect, including security and the extended plugin store. The store comes with plugin trials and 30-day license return policy.

For the incremental updates, you just had to click on a button. But with the breakpoint release, Craft CMS tweaked its ways of handling things.

It is advised to get an expert’s help for the migration because there are a lot of things that can go wrong with the migration, for instance:

  • Control panel prompting to install Craft instead of the update database dialogue.
  • Database configuration settings which are no longer needed

Also, to avoid errors, you have to follow the same naming schemes that were used in your old database; like using same prefixes with the new database connection settings.

There are two steps involved in the migration process of a Craft 2 project.

  • Craft 3 Installation
  • Manual Migration

Step 1: Craft 3 Installation

To install Craft 3, follow the same steps as mentioned in ‘How to setup a new Craft CMS project’ and then proceed with the migration.

You need to take care of the following requirements before proceeding with the installation:

  • Craft 3 requires PHP 7+ and at least 256 MB of memory for PHP
  • The installation requires Craft 2.6.2788
  • Make sure that your plugins are ported to Craft 3 (check the status at the bottom of the update page)
  • Keep a backup of your old database.

After the installation, proceed with the migration process. According to the Craft 3 upgrade documentation following are the steps you need to follow to migrate your Craft 2 project to Craft 3.

Step 2: Manual Migration

Import your database connection settings from your old database file craft/config/db.php to your .env file in the Craft 3 directory.

Now copy the following settings and configuration files from the old Craft 2 directory to the new Craft 3 directory.

  • Copy settings from craft/config/general.php to config/general.php
  • Copy craft/config/license.key file to config/
  • Copy configuration files from craft/config/redactor/ to config/redactor/
  • Copy files from craft/storage/rebrand/ to storage/rebrand/
  • Copy photos from craft/storage/userphotos/ to storage/userphotos/
  • Copy templates from craft/templates/ to templates/
  • Copy the changes made, if any, from public/index.php file to web/index.php file
  • Copy other files from old public/ to web/ directory.

After copying the files to the web/directory, update the web server to point to it. Enter the Craft’s control panel URL in the browser. It should prompt you to update your database.

Known problems with the migration from Craft 2 to Craft 3

If all goes well you will be able to run the latest Craft 3 with your old database intact. If not then you might be facing the following problems.

Craft installer pops up when accessing the control panel

Your old database connection settings are not matching with the new .env file. It is most likely happening because of a wrong DB_TABLE_PREFIX.

“Setting unknown property:

craft\config\DbConfig::initSQLs” error.

The initSQLs database configuration setting was used in Craft 2 to fix MySQL 5.7 support. It is redundant in Craft 3. Remove the line beginning with ‘initSQLs’ in the config/db.php file to delete the setting.

To avoid major hassles and loss of database, it is recommended that you get a Craft partner onboard. In case you have further queries, you can connect with our Craft CMS experts here.

More Craft CMS Features: Matrix and Its Powerful Friends

Craft CMS’s consistency can be seen in its regular updates & latest features. Matrix is one of those early features that helped Craft dominate the CMS game. Matrix is the protagonist of the Craft’s story since its inception but there are some unsung heroes that need some attention too.

Categories & Tags in Craft CMS

Categories and tags is one of the most powerful features of Craft CMS for content classification. It allows you to organize your content by defining a taxonomy beforehand. You can create category groups from which, the categories are assigned to different entries.

Define Taxonomies with Category in Craft CMS

To define a Taxonomy you have to create a parent group to accommodate different categories in it. Go into categories section in settings. Inside it you can create a parent category group to define a taxonomy.

Meta level categorization with Tags in Craft CMS

Craft supports folksonomy as well. You can categorize the content with the help of electronic tags to define a folksonomy. The process of creating tags and tag groups is same as the categories. Create a folksonomy from the settings. Assign to the entries in the tag field. Tags provide meta level categorization which also helps in SEO. Categories & tags will help you create a content structure which makes your content consumable.

Matrix in Craft CMS

In our earlier blog about ‘why to choose Craft’ we listed Matrix as one of the defining features of Craft CMS. The feature lets you create and manage content blocks. You can add, reorder, and move content blocks; be it text, code, or rich media. And the coolest thing about the content blocks is that the reordering doesn’t affect the code in the template. One of the key benefits of the matrix field is that you don’t have to rely on predefined themes and their content structures. The only problem with the thematic approach is that you have to make-do with whatever the theme designer deemed right. The sections are made of fields, which are made with content blocks and using these content types we create entries. The matrix is a multi functional field which can accommodate almost every type of entry.

Where to find the Matrix?

You can find the matrix in the sections where you define field type and the amount of blocks the field is going to have. Just select matrix from the field type drop down and configure it accordingly. If you want a minimalistic powerful website with necessary content elements then Craft’s Matrix field is the answer.

Image Editor in Craft CMS

Before Image Editor’s introduction in Craft 3, the only options to edit the images were through Image Transforms or with plugins like Tiny image. Craft’s inbuilt Image Transform lacked essential editing elements and was only helpful in defining universal image rules. Image editor on the other hand provides a rich editor which lets you crop, rotate, flip, and straighten images. You can even manually set focal points for responsive images. Edits don’t affect the quality of the image and can be overwritten or saved as a new asset. You can access the image editor from assets in the control panel:
  • Open control panel
  • Click on the assets
  • Select an asset
  • Click on the drop down with a gear icon on it
  • Select edit image

Image Source:craftcms.com

Edit image option will open the image editor for the selected asset. Overwrite the changes with save button or save the image as a new asset.

Plugin Store in Craft CMS

Plugins are mini applications for added functionality. There are more than 200 plugins in Craft CMS’ plugin store, each one enhances Craft in one way or another.

Image Source:craftcms.com

Plugins are infamous as vulnerability of WordPress but that’s not the case with Craft because:
  • It has One-click installation and updation.
  • It has centralized license management.
  • It allows you to try a plugin before you buy it, on a non-public domain like Craft.test.
  • It has a 30-day return policy on paid plugins licences.

One-Click Updates in Craft CMS

All the functionalities are a waste if you have to update them one by one. Craft solves this problem like a real problem solver via one-click update feature. Craft alerts you in the control panel with a notification badge and its clever designing allows the system to notify according to the update priority. For example; if it’s just an incremental update, it would just show a notification badge and if it’s a critical update the control panel will turn red. Update priority is one of the most practical & essential elements on Craft CMS.You can’t possibly miss a critical update with the control panel turning red. Critical updates are meant for security enhancements or to fix a vulnerability. Skipping them leaves your website vulnerable to attacks. Craft’s one-click update provides all the incremental and critical updates in a ready-to-install package. It is easy that way and no one skips any important updates.

Relations with entities in Craft CMS

You can link entries, assets, categories/tags, & users — the four relational field types — using Craft’s Relationship engine. For example you can relate a case study with the services page section to show which services were used during the development process.

Creating relationships in Craft CMS

  • Create a new entries field
  • Select the sources from which entries will be taken
  • Drop the new field in the layout of the desired section

Image Source:craftcms.com

You can find the new category entries field in the section, while creating a new entry. Now you can relate content elements to each other. These basic Craft features have made website development a complete new ballgame. We have partnered with agencies and companies for extensive Craft CMS projects. To know how we roll our dices, ping us here.

Debug Tool in Craft 3: Here’s all you need to know about it

Before introducing the Debug Tool in Craft 3, Craft CMS made you install a separate web-based application, Web-Console. You could run shell commands on your server to check for errors and missing elements in the written code. Not a fancy deal though! Especially when Craft 3 was designed to be a problem-solver. The lack of a debug functionality was a major issue and ergo, Debug Tool was introduced. The coolest thing about this overlay toolbar is that you can diagnose particular pages on the spot. It shows you all sorts of essential things; number of users, logs, database enquiries, errors, time and memory.

Enabling the Debug Toolbar in Craft CMS

Make sure you have the admin login. Once you’re logged in, head to the ‘my account’ section in the drop down where it reads your username in the top left of your Control Panel.
You’ll find an option to change your preferences in the account section. Apart from the language and ‘week start day’ preference, you’ll find two check boxes with a description of what each one does. You can select either or both according to your usage and when and where you want the toolbar to appear.
  • Show the debug toolbar on the Front end
  • Show the debug toolbar on the control panel
Check the desired boxes, save and continue. Enable devmode to grant unrestricted access to all the useful statistics and elements of the tool. Otherwise, the tool will only show errors and warnings.

The Craft 3 Debug Toolbar

A collapsed overlay panel will appear in the bottom of your page. It reads Craft’s C from the logo itself. You can press on it to expand it. That overlay panel is Craft 3 debug toolbar. It shows you a handful of information and helps you keep a check on your page in real time. You can interact with the information shown in the toolbar by further expanding it half way through the page with a click. To use it in a separate tab, click on the “C”. The full version of the toolbar accommodates more information making it easier to keep track of all the errors, logs, and discrepancies.

Craft 3: Debug Toolbar Functionalities

The debugging toolbar is not for bug fixes only. It offers other perks too:
  • Timeline — It is basically a graphical presentation of your page’s performance. A graph of time and space vs the queries. It keeps track of your page’s load-time and memory used.
  • User — It provides information about users and their sessions.
  • Router — A table of rules that Craft checks before routing to a particular template.
  • Request — It shows all sorts of information from Parameters to headers to sessions and server global variables.
  • Logs — You can find all the error and warning related logs here.
  • Deprecated — Shows deprecation errors.
  • Profiling — Monitor your page’s performance with information about load time and peak memory usage.
  • Database — Shows the Database queries. It can be sorted by time and duration.
  • Asset Bundles — It contains the information of the assets being used.
  • Mail — It keeps a mail log if you’re using a mail tool on Craft.
Debug Tool provides you with crucial information about your website in real time. People who are migrating from Craft 2 will find this tool very useful because it eliminates the dependency on web console to monitor errors and logs. Craft’s minimalism has already made us a fan. These precise features with high functionality make it our favorite CMS. Our development shop is open for all kinds of Craft projects. Ping us here if you are looking for a Craft partner.