Skip to content

Powered by Grav + Helios

Advanced

Advanced

In this chapter we will cover some advanced features and capabilities of Grav.

Flex Objects
Flex Objects Flex Objects is a new concept in Grav 1.7 that adds support for custom data types which can be easily integrated to your site. Flex Objects are provided by the Flex Objects Plugin which is required by the Admin Panel and included in the Grav Core + Admin Plugin package. ...
Performance & Caching
Performance & Caching One of the core features that make Grav so compelling is just how fast it is. This has always been a key consideration in the inherent design of Grav and is primarily due to caching, but does include several other components. Performance PHP caching is critical. Yo...
Debugging & Logging
Debugging & Logging When developing themes and plugins, there is often a need to display debugging information. Grav has powerful debugging capabilities via a variety of features: Debug Bar Grav comes with a great tool to make this effort easier called via a Debug Bar. This feature is di...
Environment Configuration
Environment Configuration Grav has the ability to extend the powerful configuration capabilities for different environments to support different configuration for development, staging, and production scenarios. Caution Up to Grav 1.6 environments were stored in user/ folder. Gra...
Multisite Setup
Multisite Setup Caution Grav has preliminary multisite support available. However, the Admin plugin still need to be updated to fully support multisite configurations. We will continue to work on this in subsequent releases of Grav. What is a Multisite Setup? A multisite setup all...
Plugin Prioritization
Plugin Prioritization When multiple plugins listen to the same event hooks (see the Plugins > Event Hooks page for details), the various handlers are executed in order of "priority." Priority is simply a number. The higher the number, the earlier the handler will execute. In rare cases, users...
Scheduler
Scheduler The Grav scheduler is a new feature that was added in Grav 1.6 that allows jobs to be run on a periodic basis. The underlying processing relies on the server's cron scheduler, but once a single entry has been added to the cron service, all jobs and specific schedules can be configured...
Backups
Backups The backup system in Grav has been completely rewritten for Grav 1.6 to provide more features and functionality. The improvements include: Integration into the new Grav Scheduler to allow for offline backups to run whenever you wish Ability to create multiple backup profiles each...
Grav Development
Grav Development If you want to develop with Grav, you will benefit from a more sophisticated setup than the one required for a regular Grav user. This includes just about any type of development, such as: Grav Core, Grav Plugins, Grav Skeletons, or even Grav Themes. First, let us break...
YAML Syntax
YAML Syntax Introduction YAML stands for "YAML Ain't Markup Language" and it is used extensively in Grav for its configuration files, blueprints, and also in page settings. YAML is to configuration what markdown is to markup. It’s basically a human-readable structured data format. It is less...
Groups and Permissions
Groups and Permissions Caution See the Grav Admin FAQ, to learn how to manage users Defining groups By default, Grav does not provide any group. You need to define them. Groups are defined in the user/config/groups.yaml file. If that file does not exist yet, create it. Here’s...
Change the site URL
Change the site URL By setting custom_base_url in system.yaml (or Custom Base URL in the System Settings, in Admin), we can have Grav in a folder but have it run in the domain root. Scenario 1, run in the domain root folder Grav is installed in http://localhost:8080/grav-develop but you wa...