diff --git a/CodeExamples/.gitignore b/CodeExamples/.gitignore new file mode 100644 index 0000000..f242aeb --- /dev/null +++ b/CodeExamples/.gitignore @@ -0,0 +1,3 @@ +/private/ +/public/ +/vendor/ diff --git a/CodeExamples/composer.json b/CodeExamples/composer.json new file mode 100644 index 0000000..d74b3c3 --- /dev/null +++ b/CodeExamples/composer.json @@ -0,0 +1,46 @@ +{ + "repositories": [ + { + "type": "path", + "url": "localPackages/*" + }, + { + "type": "composer", + "url": "https://composer.typo3.org/" + } + ], + "name": "website/typo3-extension-workshop", + "description": "Example TYPO3 installation for workshop", + "license": "GPL-2.0-or-later", + "require": { + "helhum/typo3-console": "^4.9.3 || ^5.2", + "helhum/typo3-secure-web": "^0.2.7", + "typo3-console/composer-auto-commands": "^0.2.0", + "typo3/cms-about": "^8.7.17", + "typo3/cms-belog": "^8.7.17", + "typo3/cms-beuser": "^8.7.17", + "typo3/cms-fluid-styled-content": "^8.7.17", + "typo3/cms-info": "^8.7.17", + "typo3/cms-info-pagetsconfig": "^8.7.17", + "typo3/cms-rte-ckeditor": "^8.7.17", + "typo3/cms-setup": "^8.7.17", + "typo3/cms-t3editor": "^8.7.17", + "typo3/cms-tstemplate": "^8.7.17", + "workshop/example-extension": "@dev" + }, + "require-dev": { + "typo3/cms-lowlevel": "^8.7.17" + }, + "extra": { + "typo3/cms": { + "root-dir": "private", + "web-dir": "public" + }, + "helhum/typo3-console": { + "comment": "This option is not needed ay more for helhum/typo3-console 5.x", + "install-extension-dummy": false + } + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/CodeExamples/composer.lock b/CodeExamples/composer.lock new file mode 100644 index 0000000..adff954 --- /dev/null +++ b/CodeExamples/composer.lock @@ -0,0 +1,3321 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "ad9281cf887af293ceb9e3382450f811", + "packages": [ + { + "name": "cogpowered/finediff", + "version": "0.3.1", + "source": { + "type": "git", + "url": "https://github.com/cogpowered/FineDiff.git", + "reference": "339ddc8c3afb656efed4f2f0a80e5c3d026f8ea8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cogpowered/FineDiff/zipball/339ddc8c3afb656efed4f2f0a80e5c3d026f8ea8", + "reference": "339ddc8c3afb656efed4f2f0a80e5c3d026f8ea8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "mockery/mockery": "*", + "phpunit/phpunit": "*" + }, + "type": "library", + "autoload": { + "psr-0": { + "cogpowered\\FineDiff": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Crowe", + "email": "rob@cogpowered.com" + }, + { + "name": "Raymond Hill" + } + ], + "description": "PHP implementation of a Fine granularity Diff engine", + "homepage": "https://github.com/cogpowered/FineDiff", + "keywords": [ + "diff", + "finediff", + "opcode", + "string", + "text" + ], + "time": "2014-05-19T10:25:02+00:00" + }, + { + "name": "doctrine/annotations", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2017-12-06T07:11:42+00:00" + }, + { + "name": "doctrine/cache", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "shasum": "" + }, + "require": { + "php": "~7.1" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^5.7", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2017-08-25T07:02:50+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "~0.1@dev", + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2017-07-22T10:37:32+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9", + "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~5.6|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2017-07-22T08:35:12+00:00" + }, + { + "name": "doctrine/dbal", + "version": "v2.5.13", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "729340d8d1eec8f01bff708e12e449a3415af873" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873", + "reference": "729340d8d1eec8f01bff708e12e449a3415af873", + "shasum": "" + }, + "require": { + "doctrine/common": ">=2.4,<2.8-dev", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "symfony/console": "2.*||^3.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "persistence", + "queryobject" + ], + "time": "2017-07-22T20:44:48+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2018-01-09T20:05:19+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14T21:17:01+00:00" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09T13:34:57+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2018-04-22T15:46:56+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "helhum/config-loader", + "version": "v0.9.0", + "source": { + "type": "git", + "url": "https://github.com/helhum/config-loader.git", + "reference": "11188d23b3c5e1e3fb61de9d7e3d6ddaae3cf389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/helhum/config-loader/zipball/11188d23b3c5e1e3fb61de9d7e3d6ddaae3cf389", + "reference": "11188d23b3c5e1e3fb61de9d7e3d6ddaae3cf389", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <7.3.0" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^5.0", + "symfony/yaml": "^2.8 || ^3.3 || ^4.0" + }, + "suggest": { + "ext-yaml": "For improved performance when parsing yaml files you should use the PECL YAML Parser php extension", + "symfony/yaml": "To be able to parse yaml files, you will need symfony/yaml" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Helhum\\ConfigLoader\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "description": "Generic config loader with context and environment support.", + "time": "2018-06-14T12:33:08+00:00" + }, + { + "name": "helhum/typo3-composer-setup", + "version": "v0.5.3", + "source": { + "type": "git", + "url": "https://github.com/helhum/typo3-composer-setup.git", + "reference": "cf13489af8af80203814a1b79840e218b2e85b53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/helhum/typo3-composer-setup/zipball/cf13489af8af80203814a1b79840e218b2e85b53", + "reference": "cf13489af8af80203814a1b79840e218b2e85b53", + "shasum": "" + }, + "require": { + "typo3/cms-composer-installers": "^1.4 || ^2.0", + "typo3/minimal": "^7 || ^8 || ^9" + }, + "require-dev": { + "typo3-console/php-server-command": "^0.1.0", + "typo3/cms-core": "dev-TYPO3_8-7 as 8.7.9" + }, + "suggest": { + "helhum/typo3-console": "TYPO3 Console is highly recommended for any TYPO3 composer setup.", + "pagemachine/typo3-composer-legacy-cli ": "Provides the legacy cli_dispatch.phpsh entry point for TYPO3." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "typo3/cms": { + "cms-package-dir": "{$vendor-dir}/typo3/cms", + "web-dir": "public" + }, + "helhum/typo3-console": { + "install-extension-dummy": "0" + } + }, + "autoload": { + "psr-4": { + "Helhum\\Typo3ComposerSetup\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Helmut Hummel", + "email": "info@helhum.io", + "homepage": "https://helhum.io", + "role": "Developer" + } + ], + "description": "Set up required entry points for TYPO3 web directory", + "time": "2018-06-26T12:47:04+00:00" + }, + { + "name": "helhum/typo3-console", + "version": "5.5.0", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-Console/TYPO3-Console.git", + "reference": "d8d964b90eb18a126c5f28c62e40edcabb67097c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-Console/TYPO3-Console/zipball/d8d964b90eb18a126c5f28c62e40edcabb67097c", + "reference": "d8d964b90eb18a126c5f28c62e40edcabb67097c", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.4", + "helhum/config-loader": "^0.9.0", + "helhum/typo3-console-plugin": "^2.0.2", + "php": ">=7.0.0 <7.3", + "symfony/console": "^3.4.4 || ^4.0", + "symfony/process": "^3.4.4 || ^4.0", + "typo3/cms-backend": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-core": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-extbase": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-extensionmanager": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-fluid": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-frontend": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-install": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-saltedpasswords": "^8.7.10 || >=9.1.0 <9.4", + "typo3/cms-scheduler": "^8.7.10 || >=9.1.0 <9.4" + }, + "conflict": { + "friendsoftypo3/dbal": "*", + "typo3-ter/dbal": "*" + }, + "replace": { + "typo3-ter/typo3-console": "self.version", + "typo3/cms-cli": "*", + "typo3_console": "self.version" + }, + "require-dev": { + "cweagans/composer-patches": "^1.6", + "doctrine/dbal": "< 2.8", + "jakub-onderka/php-parallel-lint": "^1.0", + "nimut/testing-framework": "dev-master", + "symfony/filesystem": "^3.2", + "typo3-console/convert-command-controller-command": "@dev", + "typo3-console/create-reference-command": "@dev", + "typo3-console/php-server-command": "^0.2", + "typo3/cms-filemetadata": "^8.7.10 || >=9.1.0 <9.4 || 9.4.*@dev", + "typo3/cms-reports": "^8.7.10 || >=9.1.0 <9.4 || 9.4.*@dev" + }, + "bin": [ + "typo3cms" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + }, + "typo3/cms": { + "app-dir": ".Build", + "web-dir": ".Build/public", + "Package": { + "partOfMinimalUsableSystem": true + } + } + }, + "autoload": { + "psr-4": { + "Helhum\\Typo3Console\\": [ + "Classes/Console/", + "Classes/Compatibility/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Helmut Hummel", + "email": "info@helhum.io", + "homepage": "http://helhum.io", + "role": "Developer" + } + ], + "description": "A reliable and powerful command line interface for TYPO3 CMS", + "homepage": "http://insight.helhum.io/post/104528981610/about-the-beauty-and-power-of-typo3-console", + "keywords": [ + "cli", + "command", + "commandline", + "console", + "typo3" + ], + "time": "2018-07-17T10:28:02+00:00" + }, + { + "name": "helhum/typo3-console-plugin", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-Console/typo3-console-plugin.git", + "reference": "4e0cb102b6471b156a942eb8ca6e607ab28c0b19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-Console/typo3-console-plugin/zipball/4e0cb102b6471b156a942eb8ca6e607ab28c0b19", + "reference": "4e0cb102b6471b156a942eb8ca6e607ab28c0b19", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": ">=7.0.0 <7.3", + "typo3/cms-composer-installers": "^1.4 || ^2.0" + }, + "require-dev": { + "composer/composer": "^1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Helhum\\Typo3ConsolePlugin\\Plugin", + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Helhum\\Typo3ConsolePlugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Helmut Hummel", + "email": "info@helhum.io" + } + ], + "description": "Installer plugin for helhum/typo3-console, to ease usage without the need to specify scripts in your root composer.json", + "homepage": "https://github.com/helhum/typo3-console-plugin", + "keywords": [ + "composer", + "plugin", + "typo3 console" + ], + "time": "2017-12-13T13:52:52+00:00" + }, + { + "name": "helhum/typo3-secure-web", + "version": "v0.2.7", + "source": { + "type": "git", + "url": "https://github.com/helhum/typo3-secure-web.git", + "reference": "79c916450a4c3ad19341fa6c8df5539a59179ad0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/helhum/typo3-secure-web/zipball/79c916450a4c3ad19341fa6c8df5539a59179ad0", + "reference": "79c916450a4c3ad19341fa6c8df5539a59179ad0", + "shasum": "" + }, + "require": { + "helhum/typo3-composer-setup": "^0.5.0", + "typo3/cms-composer-installers": "^1.4 || ^2.0" + }, + "conflict": { + "typo3/cms": "<8.7.8", + "typo3/cms-core": "<8.7.8" + }, + "require-dev": { + "typo3-console/php-server-command": "^0.1.0", + "typo3/cms": "dev-TYPO3_8-7 as 8.7.8" + }, + "type": "library", + "extra": { + "typo3/cms": { + "cms-package-dir": "{$vendor-dir}/typo3/cms", + "root-dir": "typo3", + "web-dir": "public" + }, + "helhum/typo3-console": { + "install-extension-dummy": "0" + } + }, + "autoload": { + "psr-4": { + "Helhum\\Typo3SecureWeb\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Helmut Hummel", + "email": "info@helhum.io", + "homepage": "https://helhum.io", + "role": "Developer" + } + ], + "description": "Set up secure TYPO3 web directory containing only public assets", + "time": "2017-12-31T14:48:15+00:00" + }, + { + "name": "mso/idna-convert", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/phlylabs/idna-convert.git", + "reference": "a6dfb6f87611e3a89d2eec4924a0f51db755c573" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phlylabs/idna-convert/zipball/a6dfb6f87611e3a89d2eec4924a0f51db755c573", + "reference": "a6dfb6f87611e3a89d2eec4924a0f51db755c573", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Mso\\IdnaConvert\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1+" + ], + "authors": [ + { + "name": "Matthias Sommerfeld", + "email": "mso@phlylabs.de", + "role": "Developer" + } + ], + "description": "A library for encoding and decoding internationalized domain names", + "homepage": "http://idnaconv.net/", + "keywords": [ + "idn", + "idna", + "php" + ], + "time": "2016-06-19T18:08:43+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.12", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950", + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2018-07-31T09:26:32+00:00" + }, + { + "name": "symfony/console", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/ca80b8ced97cf07390078b29773dc384c39eee1f", + "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/finder", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/process", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", + "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "symfony/yaml", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", + "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:24:31+00:00" + }, + { + "name": "typo3-console/composer-auto-commands", + "version": "v0.2.0", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-Console/composer-auto-commands.git", + "reference": "d8d09f60b645a9ec60416bb6e6731797d4a8bc87" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-Console/composer-auto-commands/zipball/d8d09f60b645a9ec60416bb6e6731797d4a8bc87", + "reference": "d8d09f60b645a9ec60416bb6e6731797d4a8bc87", + "shasum": "" + }, + "require": { + "helhum/typo3-console": "^4.9.5 || ^5.0", + "php": ">=7.0 <7.3", + "typo3/cms-composer-installers": "^1.4.2 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Typo3Console\\ComposerAutoCommands\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "description": "Execute TYPO3 Console commands on 'composer install'", + "time": "2018-07-04T08:13:44+00:00" + }, + { + "name": "typo3/class-alias-loader", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/class-alias-loader.git", + "reference": "a9dd295c81ed0b51455644be420ab9210cad688f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3/class-alias-loader/zipball/a9dd295c81ed0b51455644be420ab9210cad688f", + "reference": "a9dd295c81ed0b51455644be420ab9210cad688f", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": ">=5.3.7" + }, + "replace": { + "helhum/class-alias-loader": "*" + }, + "require-dev": { + "composer/composer": "dev-master", + "mikey179/vfsstream": "1.4.*@dev", + "phpunit/phpunit": "~4.7.0" + }, + "type": "composer-plugin", + "extra": { + "class": "TYPO3\\ClassAliasLoader\\Plugin", + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\ClassAliasLoader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Helmut Hummel", + "email": "info@helhum.io" + } + ], + "description": "Amends the composer class loader to support class aliases to provide backwards compatibility for packages", + "homepage": "http://github.com/TYPO3/class-alias-loader", + "keywords": [ + "alias", + "autoloader", + "classloader", + "composer" + ], + "time": "2015-10-06T10:25:44+00:00" + }, + { + "name": "typo3/cms-about", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/about.git", + "reference": "41fa7169c49bd33f172b539caed7d7496fcf680f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/about/zipball/41fa7169c49bd33f172b539caed7d7496fcf680f", + "reference": "41fa7169c49bd33f172b539caed7d7496fcf680f", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "about": "*", + "aboutmodules": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "about" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\About\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Shows info about TYPO3, installed extensions and a separate module for available modules.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-backend", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/backend.git", + "reference": "b129eb223509b7e4362758176fbf71ddd76617b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/b129eb223509b7e4362758176fbf71ddd76617b9", + "reference": "b129eb223509b7e4362758176fbf71ddd76617b9", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "backend": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "backend" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Backend\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Classes for the TYPO3 backend.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-belog", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/belog.git", + "reference": "1f82d34df0de93cafa6f663bd1bd6e5fc9ae25e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/belog/zipball/1f82d34df0de93cafa6f663bd1bd6e5fc9ae25e2", + "reference": "1f82d34df0de93cafa6f663bd1bd6e5fc9ae25e2", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "belog": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "belog" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Belog\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Displays backend log, both per page and system wide. Available as the module Tools>Log (system wide overview) and Web>Info/Log (page relative overview).", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-beuser", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/beuser.git", + "reference": "8865b94526c41dda2b22c3d0b96e9c3305352af9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/beuser/zipball/8865b94526c41dda2b22c3d0b96e9c3305352af9", + "reference": "8865b94526c41dda2b22c3d0b96e9c3305352af9", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "beuser": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "beuser" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Beuser\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Backend user administration and overview. Allows you to compare the settings of users and verify their permissions and see who is online.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-composer-installers", + "version": "v1.5.2", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/CmsComposerInstallers.git", + "reference": "a5c340cafe69629869f046f4e2790fb87bfb9ded" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3/CmsComposerInstallers/zipball/a5c340cafe69629869f046f4e2790fb87bfb9ded", + "reference": "a5c340cafe69629869f046f4e2790fb87bfb9ded", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0.0", + "php": ">=7.0.0 <7.3" + }, + "conflict": { + "composer/installers": "<1.0.24 || >1.0.24" + }, + "replace": { + "lw/typo3cms-installers": "*", + "netresearch/composer-installers": "*" + }, + "require-dev": { + "composer/composer": "^1.2" + }, + "type": "composer-plugin", + "extra": { + "class": "TYPO3\\CMS\\Composer\\Installer\\Plugin", + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Composer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Christian Opitz", + "email": "christian.opitz@netresearch.de" + }, + { + "name": "Lars Peipmann", + "email": "lars@peipmann.de" + }, + { + "name": "Helmut Hummel", + "email": "info@helhum.io" + } + ], + "description": "TYPO3 CMS Installers", + "homepage": "https://github.com/TYPO3/CmsComposerInstallers", + "keywords": [ + "cms", + "core", + "extension", + "installer", + "typo3" + ], + "time": "2018-04-09T08:16:52+00:00" + }, + { + "name": "typo3/cms-core", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/core.git", + "reference": "768092f662e463085a7177959fe0d2e154cae1d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/768092f662e463085a7177959fe0d2e154cae1d7", + "reference": "768092f662e463085a7177959fe0d2e154cae1d7", + "shasum": "" + }, + "require": { + "cogpowered/finediff": "~0.3.1", + "doctrine/dbal": "~2.5.4", + "doctrine/instantiator": "~1.0.4", + "doctrine/lexer": "^1.0", + "ext-json": "*", + "ext-pcre": "*", + "ext-session": "*", + "ext-xml": "*", + "guzzlehttp/guzzle": "^6.3.0", + "helhum/typo3-composer-setup": "^0.5", + "mso/idna-convert": "^1.1.0", + "php": ">=7.0.0 <=7.2.99", + "psr/http-message": "~1.0", + "psr/log": "~1.0.0", + "swiftmailer/swiftmailer": "~5.4.5", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/polyfill-mbstring": "^1.2", + "symfony/yaml": "^2.7 || ^3.0 || ^4.0", + "typo3/class-alias-loader": "^1.0", + "typo3/cms-cli": "^1.0.2", + "typo3/cms-composer-installers": "^1.2.8" + }, + "conflict": { + "symfony/finder": "2.7.44 || 2.8.37 || 3.4.7 || 4.0.7", + "typo3/cms": "*" + }, + "replace": { + "core": "*" + }, + "suggest": { + "ext-fileinfo": "Used for proper file type detection in the file abstraction layer", + "ext-gd": "GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images", + "ext-mysqli": "", + "ext-openssl": "", + "ext-zip": "", + "ext-zlib": "TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "core" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Core\\": "Classes/" + }, + "classmap": [ + "Resources/PHP/" + ], + "files": [ + "Resources/PHP/GlobalDebugFunctions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "The core library of TYPO3.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-cshmanual", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/cshmanual.git", + "reference": "bc4a094e1ae8296436fda8d8896b1db1eb459fd0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/cshmanual/zipball/bc4a094e1ae8296436fda8d8896b1db1eb459fd0", + "reference": "bc4a094e1ae8296436fda8d8896b1db1eb459fd0", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "cshmanual": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": false, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "cshmanual" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Cshmanual\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Shows TYPO3 inline user manual.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-extbase", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/extbase.git", + "reference": "4f51ba66233fec002f940116c1c225409ccdd41f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/4f51ba66233fec002f940116c1c225409ccdd41f", + "reference": "4f51ba66233fec002f940116c1c225409ccdd41f", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "extbase": "*" + }, + "suggest": { + "typo3/cms-scheduler": "Additional scheduler tasks" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "extbase" + }, + "typo3/class-alias-loader": { + "always-add-alias-loader": true, + "class-alias-maps": [ + "Migrations/Code/ClassAliasMap.php" + ] + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Extbase\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "A framework to build extensions for TYPO3 CMS.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-extensionmanager", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/extensionmanager.git", + "reference": "107554307d9a9fbb10aacef737a3adb7e43135c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/extensionmanager/zipball/107554307d9a9fbb10aacef737a3adb7e43135c4", + "reference": "107554307d9a9fbb10aacef737a3adb7e43135c4", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "extensionmanager": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "extensionmanager" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Extensionmanager\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "TYPO3 Extension Manager", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-filelist", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/filelist.git", + "reference": "18f777867b696ed5d35964217901920a82c1ff00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/filelist/zipball/18f777867b696ed5d35964217901920a82c1ff00", + "reference": "18f777867b696ed5d35964217901920a82c1ff00", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "filelist": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "filelist" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Filelist\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Listing of files in the directory", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-fluid", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/fluid.git", + "reference": "8bf9c30af840164e5a05821b3dfa75ea4e64aa47" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/8bf9c30af840164e5a05821b3dfa75ea4e64aa47", + "reference": "8bf9c30af840164e5a05821b3dfa75ea4e64aa47", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18", + "typo3/cms-extbase": "8.7.18", + "typo3fluid/fluid": "^2.3" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "fluid": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "fluid" + }, + "typo3/class-alias-loader": { + "class-alias-maps": [ + "Migrations/Code/ClassAliasMap.php" + ] + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Fluid\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Fluid is a next-generation templating engine which makes the life of extension authors a lot easier!", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-fluid-styled-content", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/fluid_styled_content.git", + "reference": "66873dcc344856c17500eafa594431bb8348ff0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid_styled_content/zipball/66873dcc344856c17500eafa594431bb8348ff0a", + "reference": "66873dcc344856c17500eafa594431bb8348ff0a", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18", + "typo3/cms-frontend": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "fluid_styled_content": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "fluid_styled_content" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\FluidStyledContent\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "A set of common content elements based on Fluid for Frontend output.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-frontend", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/frontend.git", + "reference": "4d63ab74c799d7e9d9c851a6d7c42339af587eb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/4d63ab74c799d7e9d9c851a6d7c42339af587eb7", + "reference": "4d63ab74c799d7e9d9c851a6d7c42339af587eb7", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "frontend": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "frontend" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Frontend\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Classes for the frontend of TYPO3.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-info", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/info.git", + "reference": "65f049535311f6e7b358f195ee1bcd3564a8df27" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/info/zipball/65f049535311f6e7b358f195ee1bcd3564a8df27", + "reference": "65f049535311f6e7b358f195ee1bcd3564a8df27", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "info": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "info" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Info\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Shows various infos", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-info-pagetsconfig", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/info_pagetsconfig.git", + "reference": "d8fee62af9f7e35180ec1b2f4f075207ed698c73" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/info_pagetsconfig/zipball/d8fee62af9f7e35180ec1b2f4f075207ed698c73", + "reference": "d8fee62af9f7e35180ec1b2f4f075207ed698c73", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18", + "typo3/cms-info": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "info_pagetsconfig": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "info_pagetsconfig" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\InfoPagetsconfig\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Displays the compiled Page TSconfig values relative to a page.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-install", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/install.git", + "reference": "b4f320af3c2180c1b6d264c74746fb82711d12ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/b4f320af3c2180c1b6d264c74746fb82711d12ee", + "reference": "b4f320af3c2180c1b6d264c74746fb82711d12ee", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18", + "typo3/cms-extbase": "8.7.18", + "typo3/cms-fluid": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "install": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "install" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Install\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "The Install Tool mounted as the module Tools>Install in TYPO3.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-lang", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/lang.git", + "reference": "bfcb72efb1bd04a4d11053ab4cd49bc2245d635b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/lang/zipball/bfcb72efb1bd04a4d11053ab4cd49bc2245d635b", + "reference": "bfcb72efb1bd04a4d11053ab4cd49bc2245d635b", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18", + "typo3/cms-extensionmanager": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "lang": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "lang" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Lang\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Contains all the core language labels in a set of files mostly of the \"locallang\" format. This extension is always required in a TYPO3 install.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-recordlist", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/recordlist.git", + "reference": "e52eb95dc90fedd9f83b8e5293d78e9cb36d8b46" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/recordlist/zipball/e52eb95dc90fedd9f83b8e5293d78e9cb36d8b46", + "reference": "e52eb95dc90fedd9f83b8e5293d78e9cb36d8b46", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "recordlist": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "recordlist" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Recordlist\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "List of database-records", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-rte-ckeditor", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/rte_ckeditor.git", + "reference": "d513135cdb3cda1b513b0a03fc230468f5fa71e6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/rte_ckeditor/zipball/d513135cdb3cda1b513b0a03fc230468f5fa71e6", + "reference": "d513135cdb3cda1b513b0a03fc230468f5fa71e6", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "rte_ckeditor": "*" + }, + "suggest": { + "typo3/cms-setup": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "rte_ckeditor" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\RteCKEditor\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Integration of CKEditor as Rich Text Editor.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-saltedpasswords", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/saltedpasswords.git", + "reference": "4640f889d38b7e7027c99abcd7a5d1dc638845be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/saltedpasswords/zipball/4640f889d38b7e7027c99abcd7a5d1dc638845be", + "reference": "4640f889d38b7e7027c99abcd7a5d1dc638845be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "saltedpasswords": "*" + }, + "suggest": { + "typo3/cms-rsaauth": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "saltedpasswords" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Saltedpasswords\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Uses a password hashing framework for storing passwords. Integrates into the system extension \"felogin\". Use SSL or rsaauth to secure datatransfer! Please read the manual first!", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-scheduler", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/scheduler.git", + "reference": "29637ebd2d51b1385afc9dccb296d255f33b5ce5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/scheduler/zipball/29637ebd2d51b1385afc9dccb296d255f33b5ce5", + "reference": "29637ebd2d51b1385afc9dccb296d255f33b5ce5", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "scheduler": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "extension-key": "scheduler" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Scheduler\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "The TYPO3 Scheduler let's you register tasks to happen at a specific time", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-setup", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/setup.git", + "reference": "afcb04b6dac7151859d644b42dfca4025eb0bd48" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/setup/zipball/afcb04b6dac7151859d644b42dfca4025eb0bd48", + "reference": "afcb04b6dac7151859d644b42dfca4025eb0bd48", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "setup": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "setup" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Setup\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Allows users to edit a limited set of options for their user profile, eg. preferred language and their name and email address.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-sv", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/sv.git", + "reference": "86b9ad656e13f956d2010cb00c3fde55758390f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/sv/zipball/86b9ad656e13f956d2010cb00c3fde55758390f0", + "reference": "86b9ad656e13f956d2010cb00c3fde55758390f0", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "replace": { + "sv": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "sv" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Sv\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "The core/default services. This includes the default authentication services for now.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-t3editor", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/t3editor.git", + "reference": "22877569affcbc978620c3639fca2432d411cd82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/t3editor/zipball/22877569affcbc978620c3639fca2432d411cd82", + "reference": "22877569affcbc978620c3639fca2432d411cd82", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "t3editor": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "t3editor" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\T3editor\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "JavaScript-driven editor with syntax highlighting and codecompletion. Based on CodeMirror.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/cms-tstemplate", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/tstemplate.git", + "reference": "efb1c1421155945516beb218f89dbec328c1633c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/efb1c1421155945516beb218f89dbec328c1633c", + "reference": "efb1c1421155945516beb218f89dbec328c1633c", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "tstemplate": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "tstemplate" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Tstemplate\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Framework for management of TypoScript template records for the CMS frontend.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + }, + { + "name": "typo3/minimal", + "version": "v8.7.0", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/minimal.git", + "reference": "41dcd9882b564bd6ea516cf0df11799c96033345" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3/minimal/zipball/41dcd9882b564bd6ea516cf0df11799c96033345", + "reference": "41dcd9882b564bd6ea516cf0df11799c96033345", + "shasum": "" + }, + "require": { + "typo3/cms-backend": "^8.7.9", + "typo3/cms-core": "^8.7.9", + "typo3/cms-cshmanual": "^8.7.9", + "typo3/cms-extbase": "^8.7.9", + "typo3/cms-extensionmanager": "^8.7.9", + "typo3/cms-filelist": "^8.7.9", + "typo3/cms-fluid": "^8.7.9", + "typo3/cms-frontend": "^8.7.9", + "typo3/cms-install": "^8.7.9", + "typo3/cms-lang": "^8.7.9", + "typo3/cms-recordlist": "^8.7.9", + "typo3/cms-saltedpasswords": "^8.7.9", + "typo3/cms-sv": "^8.7.9" + }, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "The TYPO3 Community", + "homepage": "https://typo3.org/community/", + "role": "Contributor" + }, + { + "name": "TYPO3 CMS Core Team", + "homepage": "https://forge.typo3.org/projects/typo3cms-core", + "role": "Developer" + } + ], + "description": "Minimal required set of TYPO3 extensions", + "time": "2017-12-31T14:28:41+00:00" + }, + { + "name": "typo3fluid/fluid", + "version": "2.5.4", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/Fluid.git", + "reference": "bcd0ff44dd3c4f9d0f37097b0237db6319c2b181" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/bcd0ff44dd3c4f9d0f37097b0237db6319c2b181", + "reference": "bcd0ff44dd3c4f9d0f37097b0237db6319c2b181", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^4.8", + "satooshi/php-coveralls": "^1.0", + "squizlabs/php_codesniffer": "^2.7" + }, + "bin": [ + "bin/fluid" + ], + "type": "library", + "autoload": { + "psr-4": { + "TYPO3Fluid\\Fluid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "description": "The TYPO3 Fluid template rendering engine", + "time": "2018-07-09T12:55:32+00:00" + }, + { + "name": "workshop/example-extension", + "version": "dev-develop", + "dist": { + "type": "path", + "url": "localPackages/example_extension", + "reference": "9ea7382d7867b43c620763e15c8e095d909e017b", + "shasum": null + }, + "type": "typo3-cms-extension", + "autoload": { + "psr-4": { + "Workshop\\ExampleExtension\\": "Classes" + } + }, + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Daniel Siepmann", + "email": "coding@daniel-siepmann.de" + } + ], + "description": "Example for TYPO3 Extension Workshop." + } + ], + "packages-dev": [ + { + "name": "typo3/cms-lowlevel", + "version": "v8.7.18", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/lowlevel.git", + "reference": "e4ec27286c01397bc453f04c31b3a5d69ddb3063" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/lowlevel/zipball/e4ec27286c01397bc453f04c31b3a5d69ddb3063", + "reference": "e4ec27286c01397bc453f04c31b3a5d69ddb3063", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 <=7.2.99", + "typo3/cms-core": "8.7.18" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "lowlevel": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "lowlevel" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Lowlevel\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Enables the 'Config' and 'DB Check' modules for technical analysis of the system. This includes raw database search, checking relations, counting pages and records etc.", + "homepage": "https://typo3.org", + "time": "2018-07-31T08:15:29+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": { + "workshop/example-extension": 20 + }, + "prefer-stable": true, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/CodeExamples/localPackages/example_extension/composer.json b/CodeExamples/localPackages/example_extension/composer.json new file mode 100644 index 0000000..9abe2cb --- /dev/null +++ b/CodeExamples/localPackages/example_extension/composer.json @@ -0,0 +1,17 @@ +{ + "name": "workshop/example-extension", + "description": "Example for TYPO3 Extension Workshop.", + "type": "typo3-cms-extension", + "license": "GPL-2.0-or-later", + "authors": [ + { + "name": "Daniel Siepmann", + "email": "coding@daniel-siepmann.de" + } + ], + "autoload": { + "psr-4": { + "Workshop\\ExampleExtension\\": "Classes" + } + } +} diff --git a/CodeExamples/localPackages/example_extension/ext_emconf.php b/CodeExamples/localPackages/example_extension/ext_emconf.php new file mode 100644 index 0000000..6995c83 --- /dev/null +++ b/CodeExamples/localPackages/example_extension/ext_emconf.php @@ -0,0 +1,18 @@ + 'Example extension', + 'description' => 'Example for TYPO3 Extension Workshop.', + 'category' => 'example', + 'version' => '1.0.0', + 'state' => 'stable', + 'author' => 'Daniel Siepmann', + 'author_email' => 'coding@daniel-siepmann.de', + 'author_company' => 'Codappix', + 'constraints' => [ + 'depends' => [ + 'typo3' => '8.7.0-8.7.999', + 'php' => '7.0.0-7.2.999', + ], + ], +]; diff --git a/Documentation/source/Extension.rst b/Documentation/source/Extension.rst index dfd2003..087d705 100644 --- a/Documentation/source/Extension.rst +++ b/Documentation/source/Extension.rst @@ -1,11 +1,72 @@ Extension ========= +First of all we have to understand what an extension is, in the context of TYPO3 CMS. + What is an extension? --------------------- +See :ref:`t3coreapi:extension-architecture` in TYPO3 Core API Reference. + +TYPO3 is built only with extensions, there is no framework below. All features are +assigned to a specific extension. This way it's possible to build the TYPO3 that fits +the project needs. + +An extension is something like `frontend` or `backend`, which provides the TYPO3 +frontend or backend. It can also be `extbase` or `fluid` which provides and Framework +to build further extensions or an template engine. + +Nowadays most installations also have a `site_` or `sitepackage` extensions, which +encapsulates the systems configuration and resources like assets and templates. Thus +an TYPO3 extension is the same as an composer package. + +In this workshop we will concentrate of a "typical" extension that will provide a +plugin and custom record types. This can be installed into any compatible TYPO3 +installation. A new record type will be added, which can be edited in the TYPO3 +backend. Also a new plugin will be added which can be added as a content element and +displayed in frontend. + Structure of an extension ------------------------- +.. code-block:: plain + + extension_key + ├── Classes + │   ├── Command + │   │   └── ExampleCommandController.php + │   ├── Controller + │   │   └── ExampleController.php + │   └── Domain + │      └── Model + │         └── Example.php + ├── composer.json + ├── Configuration + │   ├── TCA + │   │   └── Overrides + │   │   └── tt_content.php + │   └── TypoScript + │   ├── constants.typoscript + │   └── setup.typoscript + ├── Documentation + ├── ext_conf_template.txt + ├── ext_emconf.php + ├── ext_localconf.php + ├── ext_tables.php + ├── readme.rst + └── Resources +    └── Private +    └── Templates +    └── Search +    └── Search.html + +See :ref:`t3coreapi:extension-files-locations` in TYPO3 Core API Reference. + Further resources ----------------- + +* :ref:`t3coreapi:extension-architecture` in TYPO3 Core API Reference. + +* :ref:`t3coreapi:extension-files-locations` in TYPO3 Core API Reference. + +* https://docs.typo3.org/typo3cms/ExtbaseFluidBook/Index.html diff --git a/Documentation/source/StartNewExtension.rst b/Documentation/source/StartNewExtension.rst index c2d1ab4..33cd710 100644 --- a/Documentation/source/StartNewExtension.rst +++ b/Documentation/source/StartNewExtension.rst @@ -4,11 +4,59 @@ Start new extension Necessary files --------------- +The only necessary file is :file:`ext_emconf.php`. This configures the *Extension +Manager*. Without this file, the Extension Manager would not recognize the extension +and would prevent installation. + +.. literalinclude:: ../../CodeExamples/localPackages/example_extension/ext_emconf.php + :language: php + +See :ref:`t3coreapi:extension-declaration` in TYPO3 Core API Reference. + +.. admonition:: Task + + So let's create a new folder and add the file. + Install extension ----------------- +Once we have created the first extension, we need to install the extension. There are +two ways for a local extension. Either placing the extension inside the installation, +or via composer. + +.. admonition:: Task + + Install the new extension. + +Oldschool +^^^^^^^^^ + +Copy the extension to :file:`typo3conf/ext/`, and head over to *Extension Manager* to +activate the extension. + Via Composer ^^^^^^^^^^^^ -Oldschool -^^^^^^^^^ +The following project setup is suggested: + +.. code-block:: text + + . + ├── composer.json + └── localPackages +    └── example_extension + +:file:`composer.json`: + +.. literalinclude:: ../../CodeExamples/composer.json + :language: json + +In this case, we also need a :file:`composer.json` inside our extension, to make the +extension an composer package and allow the installation: + +:file:`composer.json`: + +.. literalinclude:: ../../CodeExamples/localPackages/example_extension/composer.json + :language: json + +Thanks due ``typo3-console/composer-auto-commands`` our extension is activated already. diff --git a/Documentation/source/conf.py b/Documentation/source/conf.py index f1b9e0c..f1dff4d 100644 --- a/Documentation/source/conf.py +++ b/Documentation/source/conf.py @@ -306,4 +306,6 @@ texinfo_documents = [ # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'https://docs.python.org/': None} +intersphinx_mapping = { + 't3coreapi': ('https://docs.typo3.org/typo3cms/CoreApiReference/', None), +} diff --git a/Documentation/source/index.rst b/Documentation/source/index.rst index ed3267c..0357706 100644 --- a/Documentation/source/index.rst +++ b/Documentation/source/index.rst @@ -1,10 +1,14 @@ Welcome to TYPO3 Extension Workshop =================================== -Topics: +This workshop is about the basics of TYPO3 extensions. + +We will cover the following topics during the workshop, to build a foundation to +build custom extensions. .. toctree:: :maxdepth: 2 + :numbered: Extension StartNewExtension