Commit 8d94b773 authored by Frans Saris's avatar Frans Saris Committed by Helmut Hummel
Browse files

[TASK] Update index.md to be inline with new LTS release

Change-Id: Ibe4d972053d5279f562bed7b2d9fad39bef23dde
parent b6aaa8b8
......@@ -9,49 +9,44 @@
</ul>
TYPO3 CMS Composer Repository
=============================
TYPO3 Extension Composer Repository
===================================
What Is It?
-----------
This is a [composer][1] repository, enabling you to install TYPO3 CMS core and extensions including dependencies via Composer.
This repository includes TYPO3 CMS extensions:
This is a [Composer](https://getcomposer.org/) repository, enabling you to install TYPO3 extensions from the [TYPO3 Extension Repository](https://typo3.org/extensions/repository/) (TER) including their TER dependencies via Composer.
* All TYPO3 Extensions that are uploaded to [TER](https://typo3.org/extensions/repository/) including insecure versions.
This repository includes only the following TYPO3 CMS extensions:
* All TYPO3 Extensions that are uploaded to TER, including insecure versions.
* Insecure versions are marked in th extra section with "extra""typo3/ter""reviewstate" = "insecure" in the composer extra section
* These extensions are all in the `typo3-ter/` composer namespace
* Extension versions from repositories that are provided on typo3.org [extension setup](https://typo3.org/extensions/extension-keys/)
* These must be repositories that include a composer.json in each release tag
* The composer name of these releases is determined from the composer.json in these repositories
* All these extensions are in the `typo3-ter/` composer namespace
You can [list and search for](https://composer.typo3.org/satis.html) available extension packages.
Please note, that some extension authors already published their extensions on [Packagist](https://packagist.org/). If this is the case, prefer to use these, rather than this repository.
How to use it?
--------------
As a quick way to use Composer, the Base Distribution can be downloaded. It is assuming you have Composer already [installed][2]
As a quick way to use Composer, the Base Distribution can be downloaded. It is assuming you have Composer already [installed](https://getcomposer.org/download/)
on your system:
# Download the Base Distribution, the latest "stable" release (6.2)
# Download the Base Distribution, the latest "stable" release (8.7)
composer create-project typo3/cms-base-distribution CmsBaseDistribution
# Download the Base Distribution, the "dev" branch (7.x)
# Download the Base Distribution, the "dev" branch (9.x)
composer create-project typo3/cms-base-distribution CmsBaseDistribution dev-master
# Download the Base Distribution, the "dev" 6.2 branch
composer create-project typo3/cms-base-distribution CmsBaseDistribution 6.2.x-dev
As a second step, we are going to add additional packages. The commands must be run from inside the ``CmsBaseDistribution`` directory.
# Add a CMS extension into typo3conf/ext.
composer require typo3-ter/news
-> if asked for a version constraint, answer with *.
composer require typo3-ter/static-info-tables
# Add a package from outside the CMS world into Packages/Libraries
# Notice: Packages/Libraries/autoload.php will need to be included in your code.
# Add a package from outside the TYPO3 world
composer require monolog/monolog
# Personalize your composer.json file to your needs.
......@@ -59,9 +54,9 @@ As a second step, we are going to add additional packages. The commands must be
Using composer to install TYPO3 CMS is fairly simple, you just need to include the custom composer repository into your composer.json.
After you have done this, you can require the Core and / or extensions with the usual [composer versioning format][3].
After you have done this, you can require TER extensions with the usual [composer versioning format](https://getcomposer.org/doc/04-schema.md#version).
In the example below, this will always get you the most current 7.6.x core of TYPO3 CMS, the most current version of news (including possible dependency!).
In the example below, this will always get you the most current 8.7.x core of TYPO3 CMS, the most current version of news (including possible dependency!).
**Pay attention to replace underscores "_" by a dash "-" in the extension key**. As example, extension **"tt_news" will be "tt-news"** in the composer.json.
......@@ -73,8 +68,8 @@ In the example below, this will always get you the most current 7.6.x core of TY
}
],
"require": {
"typo3/cms": "^7.6.9",
"typo3-ter/news": "^3.2.5"
"typo3/cms": "^8.7",
"typo3-ter/static-info-tables": "^6.4.3"
},
"extra": {
"typo3/cms": {
......@@ -84,7 +79,6 @@ In the example below, this will always get you the most current 7.6.x core of TY
}
}
Add your own composer.json file
-------------------------------
......@@ -103,7 +97,7 @@ dependencies. The file must be placed at the root of your extension and must loo
"issues": "https://forge.typo3.org/projects/extension-my_ext_key"
},
"require": {
"typo3/cms-core": "^6.2.14 || ^7.6.0"
"typo3/cms-core": "^7.6.0 || ^8.7.0"
},
"autoload": {
"psr-4": {
......@@ -113,6 +107,11 @@ dependencies. The file must be placed at the root of your extension and must loo
"replace": {
"my_ext_key": "self.version",
"typo3-ter/my-ext-key": "self.version"
},
"extra": {
"typo3/cms": {
"extension-key": "my_ext_key"
}
}
}
......@@ -120,15 +119,19 @@ dependencies. The file must be placed at the root of your extension and must loo
The ``vendor-name`` must be one of yours. It must not be "typo3" which is reserved for Core extensions.
There are some [conventions notes](https://wiki.typo3.org/Namespaces#Does_and_don.27ts_for_developers) available in the TYPO3 Wiki related to namespaces.
How it works?
-------------
Extensions on Packagist
-----------------------
Once you added a composer.json file, it is highly recommended to register your extensions on [Packagist](https://packagist.org/).
It is also recommended to include extensions directly from Packagist instead of using this Composer repository. For example, better require `georgringer/news` than `typo3-ter/news`, if you want the News extension in your composer installation.
How does it work?
-----------------
A few times a day we crawl the TYPO3 Extension Repository and the available core downloads.
We process all ext_emconf.php's (of every non un-secure version) to calculate the dependencies.
A few times a day we crawl the TYPO3 Extension Repository.
We process all ext_emconf.php's to calculate the dependencies.
We generate the metadata (packages.json), needed by composer to find the right downloads which will be downloaded from the TER eventually.
[1]: https://getcomposer.org/
[2]: https://getcomposer.org/download/
[3]: https://getcomposer.org/doc/04-schema.md#version
[4]: https://git.typo3.org/Sites/ComposerTypo3Org.git
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment