All Projects → a-r-m-i-n → ddev-for-typo3-extensions

a-r-m-i-n / ddev-for-typo3-extensions

Licence: other
This repo contains an example DDEV configuration to provide a development environment for a single TYPO3 CMS extension.

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to ddev-for-typo3-extensions

Ddev
DDEV-Local: a local PHP development environment system
Stars: ✭ 915 (+4059.09%)
Mutual labels:  typo3
Typo3 Cms Speciality Distribution
Bootstrap Package for TYPO3 CMS
Stars: ✭ 83 (+277.27%)
Mutual labels:  typo3
Aimeos Typo3
TYPO3 e-commerce extension for professional, ultra fast online shops, complex B2B applications and #gigacommerce
Stars: ✭ 157 (+613.64%)
Mutual labels:  typo3
Yoast Seo For Typo3
Yoast SEO plugin for TYPO3
Stars: ✭ 43 (+95.45%)
Mutual labels:  typo3
Fluidcontent
TYPO3 extension Fluidcontent: Fluid Content Element Engine
Stars: ✭ 82 (+272.73%)
Mutual labels:  typo3
Frontend editing
TYPO3 CMS frontend editing
Stars: ✭ 98 (+345.45%)
Mutual labels:  typo3
Typo3.cms
The TYPO3 Core - Enterprise Content Management System. Synchronized read-only mirror of http://git.typo3.org/Packages/TYPO3.CMS.git
Stars: ✭ 761 (+3359.09%)
Mutual labels:  typo3
typo3-typoscript-lint
Find coding errors in your TypoScript files.
Stars: ✭ 78 (+254.55%)
Mutual labels:  typo3
Typo3scan
Scans TYPO3 extensions for usage of deprecated and or changed code
Stars: ✭ 83 (+277.27%)
Mutual labels:  typo3
Typo3 Realurl
**Vintage** RealURL extension for TYPO3 CMS. Read the wiki if you have questions!
Stars: ✭ 119 (+440.91%)
Mutual labels:  typo3
Php Cmis Client
This is a PHP CMIS Client implementation based on OpenCMIS
Stars: ✭ 54 (+145.45%)
Mutual labels:  typo3
Surf
Easy and powerful PHP deployment tool
Stars: ✭ 79 (+259.09%)
Mutual labels:  typo3
Typo3 Rector
Rector for TYPO3
Stars: ✭ 107 (+386.36%)
Mutual labels:  typo3
Sms Responsive Images
This TYPO3 extension provides ViewHelpers and configuration to render valid responsive images based on TYPO3's image cropping tool.
Stars: ✭ 35 (+59.09%)
Mutual labels:  typo3
Typo3 Docker Boilerplate
🍲 TYPO3 Docker Boilerplate project (NGINX, Apache HTTPd, PHP-FPM, MySQL, Solr, Elasticsearch, Redis, FTP)
Stars: ✭ 240 (+990.91%)
Mutual labels:  typo3
My redirects
TYPO3 Extension: Redirects management
Stars: ✭ 17 (-22.73%)
Mutual labels:  typo3
Clitools
🔧 CliTools for Docker, PHP / MySQL development, debugging and synchonization
Stars: ✭ 86 (+290.91%)
Mutual labels:  typo3
vscode-typo3-typoscript
An extension for VS Code which provides support for the TypoScript syntax.
Stars: ✭ 18 (-18.18%)
Mutual labels:  typo3
autoloader
⚙️ Best TYPO3 Swiss Army knife ever ⚙️
Stars: ✭ 22 (+0%)
Mutual labels:  typo3
Ext Solr
A TYPO3 extension that integrates the Apache Solr search server with TYPO3 CMS. dkd Internet Service GmbH is developing the extension. Community contributions are welcome. See CONTRIBUTING.md for details.
Stars: ✭ 118 (+436.36%)
Mutual labels:  typo3

DDEV for TYPO3 extensions

This is an example configuration for DDEV to provide a development environment for a single TYPO3 CMS extension.

It also provides a very basic skeleton of a TYPO3 extension, which automatically gets installed in all TYPO3 versions.

Currently, the following versions are supported:

  • TYPO3 11.5 LTS
  • TYPO3 12.x

If you are looking for older TYPO3 CMS versions, you can checkout and use those tags:

Setup

  1. Copy the entire .ddev folder to your project's root
  2. Search and replace in all files within .ddev
    • search for my_ext and replace with your extension key
    • search for my-ext and replace with your DDEV sitename (used in URL)
  3. Change the package name vendor/my-ext in root composer.json as well as in environment section in .ddev/docker-compose.web.yaml file (variable PACKAGE_NAME).
  4. Also adjust the autoload section in root composer.json.

When done with renaming, the following files have been touched:

  • .ddev/apache/apache-site.conf to set ServerAlias in vhost
  • .ddev/web-build/Dockerfile creates initial index.html files
  • .ddev/docker-compose.web.yaml to define environment variables and Docker volumes
  • .ddev/config.yaml to set DDEV sitename and additional hostnames
  • composer.json the package name of your extension, the autoload and extra section

You can check the final result in your version control system and share it with your collaborators, which can use it instantly.

Usage

Requirements

The following software is required to be installed on the host machine:

  • Docker
  • Docker Compose
  • DDEV

Also, an internet connection is required, to fetch containers and packages. Once the environment is installed, no internet connection is required anymore.

Start DDEV

Check out your project, with .ddev folder in it and perform a

$ ddev start

on CLI. This will start the containers, but will not install anything automatically.

Install TYPO3 environments

This environment offers four scripts, to provision the web container, supporting the following TYPO3 versions:

$ ddev install-v11
$ ddev install-v12

To install all at once, you can also use

$ ddev install-all

When the installation is done, you can access an overview here:

The TYPO3 installations are available here:

As well as an entry-point to the rendered HTML documentation:

Note: Replace my-ext with your DDEV sitename

TYPO3 v12 notice

Unfortunately it is not possible to run the TYPO3 installation process by CLI anymore. After you have performed the ddev install-v12 command, you need to open the frontend/backend of TYPO3 and walk through the initial installation process.

The only information you need to supply, is the admin username and password. All other settings are provided by the additional.php file.

Credentials

All versions got the same credentials set (in v12 you set these information by yourself):

  • Username: admin
  • Password: password (also in install tool)

TYPO3 CLI / typo3_console

To access TYPO3's CLI tools you can utilize ddev exec like that:

$ ddev exec v12/vendor/bin/typo3

In TYPO3 v11 you can still use the binary of typo3_console:

$ ddev exec v11/vendor/bin/typo3cms

Render and view documentation

Every extension should have proper documentation, which can get hosted on https://docs.typo3.org. To render and view the documentation locally, you can use:

$ ddev docs
$ ddev launch-docs

Remove DDEV project

To remove a DDEV project you can use the following command on CLI

$ ddev delete -Oy

Support

Questions, feature requests, bugs

Feel free to open new issues on Github:

https://github.com/a-r-m-i-n/ddev-for-typo3-extensions/issues

Donate

If you like this project, feel free to donate some funds to support further development.

Known problems

Wrong line endings

When you get the following error

bash: ./install-v12: /bin/bash^M: bad interpreter: No such file or directory

your host system is probably Windows based. This issue occurs, when the shell scripts got wrong line endings (wrong: CRLF, correct: LF). On Windows, Git changes the line-endings by default, if git config core.autocrlf is not set to false.

Forbidden 403 after upgrading to DDEV 1.15

In this case, check the file .ddev/apache/apache-site.conf and replace $WEBSERVER_DOCROOT with /var/www/html.

Then, perform ddev restart and it should work again.

When you check out this project now, the adjustment has been already applied.

Contribute

If you are a developer, and you want to submit improvements as code, you can fork this repo and make a pull request to the master branch.

Thanks!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].