Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] Replace deprecated rst constructs #385

Merged
merged 2 commits into from
Jun 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 21 additions & 40 deletions Documentation/Extensions/Index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,52 +6,33 @@
Working With Extensions
=======================

.. container:: row m-0 p-0
.. card-grid::
:columns: 1
:columns-md: 2
:gap: 4
:class: pb-4
:card-height: 100

.. container:: col-md-6 pl-0 pr-3 py-3 m-0
.. card:: :ref:`Managing Extensions <extensions_management>`

.. container:: card px-0 h-100
Information on how to find, install and manage extensions using Composer.

.. rst-class:: card-header h3
.. card:: :ref:`Installing local extensions <install_local_extensions_using_composer>`

.. rubric:: :ref:`Managing Extensions <extensions_management>`
Information on how to install local extensions including site packages and custom
extensions using Composer.

.. container:: card-body
.. card:: :ref:`Managing Extensions - Legacy Guide <extensions_legacy_management>`

Information on how to find, install and manage extensions using Composer.
This guide contains information on how to manage extensions using the
TYPO3 backend and the TYPO3 Extension Repository (TER) without Composer.
This method of managing extensions is now deprecated.

.. container:: col-md-6 pl-0 pr-3 py-3 m-0

.. container:: card px-0 h-100
.. toctree::
:hidden:
:titlesonly:

.. rst-class:: card-header h3

.. rubric:: `Installing Local Extensions <https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Extensions/Management.html#installing-local-extensions>`_

.. container:: card-body

Information on how to install local extensions including sitepackages and custom
extensions using Composer.

.. container:: col-md-6 pl-0 pr-3 py-3 m-0

.. container:: card px-0 h-100

.. rst-class:: card-header h3

.. rubric:: :ref:`Managing Extensions - Legacy Guide <extensions_legacy_management>`

.. container:: card-body

This guide contains information on how to manage extensions using the
TYPO3 backend and the TYPO3 Extension Repository (TER) without Composer.
This method of managing extensions is now deprecated.


.. toctree::
:hidden:
:titlesonly:

Management
Installing Local Extensions <https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Extensions/Management.html#installing-local-extensions>
LegacyManagement
Management
Installing Local Extensions <https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Extensions/Management.html#installing-local-extensions>
LegacyManagement
97 changes: 53 additions & 44 deletions Documentation/Installation/DeployTYPO3.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. include:: /Includes.rst.txt
.. include:: /Includes.rst.txt

.. index:: deployment, composer, production setup
.. index:: deployment, composer, production setup

.. _deploytypo3:
.. _deploytypo3:

===============
Deploying TYPO3
Expand All @@ -20,11 +20,11 @@ necessary.
General Deployment Steps
========================

- Build the local environment (installing everything necessary for the website)
- Run :bash:`composer install --no-dev` to install without development dependencies
- Copy files to the production server
- Copy the database to the production server
- Clearing the caches
* Build the local environment (installing everything necessary for the website)
* Run :bash:`composer install --no-dev` to install without development dependencies
* Copy files to the production server
* Copy the database to the production server
* Clearing the caches

.. note::

Expand All @@ -34,61 +34,70 @@ General Deployment Steps

To avoid conflicts between the local and the server's PHP version,
the server's PHP version can be defined in the :file:`composer.json` file
(e.g. ``{"platform": {"php": "7.4.10"}}``), so Composer will always check
(e.g. ``{"platform": {"php": "8.2"}}``), so Composer will always check
the correct dependencies.

Deployment Automation
=====================

A typical setup for deploying web applications consists of three different parts:

- The local environment (for development)
- The build environment (for reproducible builds). This can be a controlled local environment or a remote continuous integration server (for example Gitlab CI or Github Actions)
- The live (production) environment
* The local environment (for development)
* The build environment (for reproducible builds). This can be a controlled local environment or a remote continuous integration server (for example Gitlab CI or Github Actions)
* The live (production) environment

To get an application from the local environment to the production system, the usage of a deployment tool and/or a continuous integration solution is recommended. This ensures that only version-controlled code is deployed and that builds are reproducible. Ideally setting a new release live will be an atomical operation and lead to no downtime. If there are errors in any of the deployment or test stages, most deployment tools will initiate an automatic "rollback" preventing that an erroneous build is released.

One widely employed strategy is the "symlink-switching" approach:

In that strategy, the webserver serves files from a virtual path :file:`releases/current/public` which consists of a symlink :file:`releases/current` pointing to the latest deployment ("release"). That symlink is switched after a new release has been successfully prepared.
In that strategy, the webserver serves files from a virtual path :path:`releases/current/public` which consists of a symlink :path:`releases/current` pointing to the latest deployment ("release"). That symlink is switched after a new release has been successfully prepared.
The latest deployment contains symlinks to folders that should be common among all releases (commonly called "shared folders").

Usually the database is shared between releases and upgrade wizards and schema upgrades are run automatically before or
shortly after the new release has been set live.

This is an exemplatory directory structure of a "symlink-switching" TYPO3 installation:

.. code-block:: none

├── shared/
│ ├── fileadmin/
│ └── var/
│ ├── var/charset/
│ ├── var/lock/
│ ├── var/log/
│ └── var/session/
├── releases/
│ ├── current -> ./release1 (symlink to current release)
│ └── release1/
│ ├── public/ (webserver root, via releases/current/public)
│ │ ├── typo3conf/
│ │ ├── fileadmin -> ../../../shared/fileadmin/ (symlink)
│ │ └── index.php
│ ├── var/
│ | ├── var/build/
│ | ├── var/cache/
│ | ├── var/charset -> ../../../shared/var/charset/ (symlink)
│ | ├── var/labels/
│ | ├── var/lock -> ../../../shared/var/lock/ (symlink)
│ | ├── var/log -> ../../../shared/var/log/ (symlink)
│ | └── var/session -> ../../../shared/var/session/ (symlink)
│ ├── vendor/
│ ├── composer.json
│ └── composer.lock


The files in `shared` are shared between different releases of a web site.
The `releases` directory contains the TYPO3 code that will change between the release of each version.
.. directory-tree::

* :path:`shared`

* :path:`fileadmin`
* :path:`var`

* :path:`charset`
* :path:`lock`
* :path:`log`
* :path:`session`

* :path:`releases`

* :path:`current -> ./release1` (symlink to current release)
* :path:`release1`

* :path:`public` (webserver root, via releases/current/public)

* :path:`typo3conf`
* :path:`fileadmin -> ../../../shared/fileadmin` (symlink)
* :file:`index.php`

* :path:`var`

* :path:`build`
* :path:`cache`
* :path:`charset -> ../../../shared/var/charset` (symlink)
* :path:`labels`
* :path:`lock -> ../../../shared/var/lock` (symlink)
* :path:`log -> ../../../shared/var/log` (symlink)
* :path:`session -> ../../../shared/var/session` (symlink)

* :path:`vendor`
* :file:`composer.json`
* :file:`composer.lock`


The files in :path:`shared` are shared between different releases of a web site.
The :path:`releases` directory contains the TYPO3 code that will change between the release of each version.

When using a deployment tool this kind of directory structure is usually created automatically.

Expand Down
119 changes: 37 additions & 82 deletions Documentation/Installation/Index.rst
Original file line number Diff line number Diff line change
@@ -1,103 +1,58 @@
.. include:: /Includes.rst.txt
.. include:: /Includes.rst.txt

.. index:: installation
.. index:: installation

.. _installation_index:
.. _installation_index:

============
Installation
============

.. container:: row m-0 p-0
.. card-grid::
:columns: 1
:columns-md: 2
:gap: 4
:class: pb-4
:card-height: 100

.. container:: col-md-6 pl-0 pr-3 py-3 m-0
.. card:: :ref:`Installing TYPO3 <install>`

.. container:: card px-0 h-100
The Installation Guide covers everything needed to install TYPO3. Including a preinstallation
checklist and a detailed walk through that details every step of the installation process.

.. rst-class:: card-header h3
.. card:: :ref:`Deploying TYPO3 <DeployTYPO3>`

.. rubric:: :ref:`Installing TYPO3 <install>`
The deployment guide highlights some of solutions available that can help automate the process of deploying TYPO3 to
a remote server.

.. container:: card-body
.. card:: :ref:`Tuning TYPO3 <TuneTYPO3>`

The Installation Guide covers everything needed to install TYPO3. Including a preinstallation
checklist and a detailed walk through that details every step of the installation process.
This chapter contains information on how to configure and optimize the infrastructure running TYPO3.

.. container:: col-md-6 pl-0 pr-3 py-3 m-0
.. card:: :ref:`TYPO3 Release Integrity <release_integrity>`

.. container:: card px-0 h-100
Every release of TYPO3 is electronically signed by the TYPO3 release team.
In addition, every TYPO3 package also contains a unique file hash that
can be used to ensure file integrity when downloading the release. This guide
details how these signatures can be checked and how file hashes can be compared.

.. rst-class:: card-header h3
.. card:: :ref:`Installing TYPO3 With DDEV <installation-ddev-tutorial>`

.. rubric:: :ref:`Deploying TYPO3 <DeployTYPO3>`
This is a step-by-step guide detailing how to install TYPO3 using DDEV, Docker and Composer.

.. container:: card-body
.. card:: :ref:`Legacy Installation Guide <legacyinstallation>`

The deployment guide highlights some of solutions available that can help automate the process of deploying TYPO3 to
a remote server.
Looking to install TYPO3 the classic way? Whilst this method of installation is no longer recommended, the Legacy Installation
Guide demonstrates how TYPO3 can be installed without using Composer.

.. container:: col-md-6 pl-0 pr-3 py-3 m-0
.. toctree::
:hidden:
:titlesonly:

.. container:: card px-0 h-100

.. rst-class:: card-header h3

.. rubric:: :ref:`Tuning TYPO3 <TuneTYPO3>`

.. container:: card-body

This chapter contains information on how to configure and optimize the infrastructure running TYPO3.

.. container:: col-md-6 pl-0 pr-3 py-3 m-0

.. container:: card px-0 h-100

.. rst-class:: card-header h3

.. rubric:: :ref:`TYPO3 Release Integrity <release_integrity>`

.. container:: card-body

Every release of TYPO3 is electronically signed by the TYPO3 release team.
In addition, every TYPO3 package also contains a unique file hash that
can be used to ensure file integrity when downloading the release. This guide
details how these signatures can be checked and how file hashes can be compared.

.. container:: col-md-6 pl-0 pr-3 py-3 m-0

.. container:: card px-0 h-100

.. rst-class:: card-header h3

.. rubric:: :ref:`Installing TYPO3 With DDEV <installation-ddev-tutorial>`

.. container:: card-body

This is a step-by-step guide detailing how to install TYPO3 using DDEV, Docker and Composer.



.. container:: col-md-6 pl-0 pr-3 py-3 m-0

.. container:: card px-0 h-100

.. rst-class:: card-header h3

.. rubric:: :ref:`Legacy Installation Guide <legacyinstallation>`

.. container:: card-body

Looking to install TYPO3 the classic way? Whilst this method of installation is no longer recommended, the Legacy Installation
Guide demonstrates how TYPO3 can be installed without using Composer.

.. toctree::
:hidden:
:titlesonly:

Install
TutorialDdev
EnvironmentConfiguration
ProductionSettings
TuneTYPO3
DeployTYPO3
LegacyInstallation
Install
TutorialDdev
EnvironmentConfiguration
ProductionSettings
TuneTYPO3
DeployTYPO3
LegacyInstallation
Loading
Loading