# built-in

Published articles for built-in.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Connecting to an External Database in Craft CMS

DevFeed: [Connecting to an External Database in Craft CMS](<https://devfeed.tech/articles/connecting-to-an-external-database-in-craft-cms-31247.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/connecting-to-an-external-database-in-craft-cms>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2024-08-06T14:03:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [MariaDB](<https://devfeed.tech/topics/mariadb.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [legacy](<https://devfeed.tech/topics/legacy.md>)

Tags: [application](<https://devfeed.tech/tags/application.md>), [built-in](<https://devfeed.tech/tags/built-in.md>), [cms](<https://devfeed.tech/tags/cms.md>), [components](<https://devfeed.tech/tags/components.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [connect](<https://devfeed.tech/tags/connect.md>), [craft](<https://devfeed.tech/tags/craft.md>), [database](<https://devfeed.tech/tags/database.md>), [external](<https://devfeed.tech/tags/external.md>), [flexibility](<https://devfeed.tech/tags/flexibility.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [insights](<https://devfeed.tech/tags/insights.md>), [learn](<https://devfeed.tech/tags/learn.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [leveraging](<https://devfeed.tech/tags/leveraging.md>), [mariadb](<https://devfeed.tech/tags/mariadb.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [using](<https://devfeed.tech/tags/using.md>)

### AI overview

A tutorial explaining how to connect Craft CMS to an external database using Twig and configuration in config/app.php, without requiring the deprecated Connect plugin. It covers Craft application components and database types supported through Yii2.

### Source excerpt

Learn how to connect to an external database using Craft CMS by leveraging the built-in flexibility of application components

## Extending Craft CMS with Validation Rules and Behaviors

DevFeed: [Extending Craft CMS with Validation Rules and Behaviors](<https://devfeed.tech/articles/extending-craft-cms-with-validation-rules-and-behaviors-31262.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/extending-craft-cms-with-validation-rules-and-behaviors>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2020-04-24T02:55:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Development](<https://devfeed.tech/topics/development.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [amazingly](<https://devfeed.tech/tags/amazingly.md>), [application](<https://devfeed.tech/tags/application.md>), [built-in](<https://devfeed.tech/tags/built-in.md>), [cms](<https://devfeed.tech/tags/cms.md>), [code](<https://devfeed.tech/tags/code.md>), [craft](<https://devfeed.tech/tags/craft.md>), [customizable](<https://devfeed.tech/tags/customizable.md>), [development](<https://devfeed.tech/tags/development.md>), [flexible](<https://devfeed.tech/tags/flexible.md>), [framework](<https://devfeed.tech/tags/framework.md>), [functionality](<https://devfeed.tech/tags/functionality.md>), [insights](<https://devfeed.tech/tags/insights.md>), [offers](<https://devfeed.tech/tags/offers.md>), [platform](<https://devfeed.tech/tags/platform.md>), [using](<https://devfeed.tech/tags/using.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A tutorial on extending Craft CMS by using its underlying Yii2 framework, with a focus on model validation rules and behaviors. It explains how models represent and validate data and how built-in validators can be leveraged.

### Source excerpt

Craft CMS is a web application that is amazingly flexible & customizable using the built-in functionality that the platform offers. Use the platform!

## Creating a Custom Logger for Craft CMS

DevFeed: [Creating a Custom Logger for Craft CMS](<https://devfeed.tech/articles/creating-a-custom-logger-for-craft-cms-31252.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/creating-a-custom-logger-for-craft-cms>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-07-21T17:52:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [built-in](<https://devfeed.tech/tags/built-in.md>), [cms](<https://devfeed.tech/tags/cms.md>), [code](<https://devfeed.tech/tags/code.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [craft](<https://devfeed.tech/tags/craft.md>), [custom](<https://devfeed.tech/tags/custom.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [insights](<https://devfeed.tech/tags/insights.md>), [logger](<https://devfeed.tech/tags/logger.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logs](<https://devfeed.tech/tags/logs.md>), [need](<https://devfeed.tech/tags/need.md>), [needs](<https://devfeed.tech/tags/needs.md>), [saas](<https://devfeed.tech/tags/saas.md>), [send](<https://devfeed.tech/tags/send.md>), [service](<https://devfeed.tech/tags/service.md>), [sufficient](<https://devfeed.tech/tags/sufficient.md>), [third-party](<https://devfeed.tech/tags/third-party.md>), [want](<https://devfeed.tech/tags/want.md>)

### AI overview

A tutorial on customizing Craft CMS logging through Yii-based configuration and code, including changing built-in behavior and sending logs to third-party aggregation services such as PaperTrail or Sentry.

### Source excerpt

The built-in Craft CMS logging system is sufficient for most needs, but what if you need custom logging, or want to send your logs to a third-party service?

## Encrypt your data with MessageEncryptor

DevFeed: [Encrypt your data with MessageEncryptor](<https://devfeed.tech/articles/encrypt-your-data-with-messageencryptor-20070.md>)

Original publisher: [Read original article](<http://jollygoodcode.com/blog/2015/11/17/encrypt-your-data-with-messageencryptor.html>)

Published: 2015-11-17T07:44:55Z

Content type: tutorial

Language: en

Sources: [Jolly Good Code](<https://devfeed.tech/sources/jolly-good-code.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [openssl](<https://devfeed.tech/topics/openssl.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>)

Tags: [built-in](<https://devfeed.tech/tags/built-in.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [openssl](<https://devfeed.tech/tags/openssl.md>), [rails](<https://devfeed.tech/tags/rails.md>)

### AI overview

This tutorial explains that Rails' built-in MessageEncryptor uses OpenSSL::Cipher to encrypt data and is easy to use.

### Source excerpt

Rails has a built-in class MessageEncryptor which uses OpenSSL::Cipher to perform encryption, and it's easy to use that to encrypt your data.