b13 / bolt

Easier integrations for TYPO3 sites
GNU General Public License v2.0
27 stars 13 forks source link

Easier Integrations for TYPO3 sites

Introduction

This package is a TYPO3 extension that makes integration work easier.

Simply put, the extension allows running a TYPO3 instance without any database driven TypoScript template (sys_template) records and without PageTsConfig page record entries, enabling file-driven (as in: not database-driven) deployment of TypoScript and PageTsConfig. This is done by connecting a Site configuration (those .yaml site configuration files) with a "Site extension" and using some simple events or hooks of the TYPO3 core.

Background

We consider it best practice to run a site and all custom Backend Layouts, TypoScript, PageTS, Fluid templates and similar in one place: In a "site extension". We prefix them with "site_", something like site_myproject. This site extension is the general entry point for configuration of a single Site page tree.

The "bolt" extension provides a Site configuration setting called "sitePackage" that connects a Site with this site package / extension. This is simply an entry in the Site's .yaml file, and can be manually added to the file, or clicked in the TYPO3 "Sites" Backend module.

Providing "everything" as files without database records is in general possible for nearly everything in current TYPO3, except for sys_template records and PageTsConfig settings. The extension thus provides some hooks that look up the connected "site extension" of a site, to TypoScript "constants" and "setup", as well as PageTsConfig, from files, provided by the site extension. This avoids these database entries.

Installation

Disabled Backend settings

Extension bolt adds default PageTsConfig that disallows adding new sys_template records in the backend, and it hides the PageTsConfig related fields when editing page records. Those defaults are added in ext_tables.php, they follow our best practices, but can be rewritten again if really needed.

License

The extension is licensed under GPL v2+, same as the TYPO3 Core. See the LICENSE file.

Sharing our expertise

Find more TYPO3 extensions we have developed that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.