Skip to content

Commit b58b9e2

Browse files
github-actions[bot]Kiebelemkiebelelinawolf
authored
[Backport 12.4] Add description about project structure (#532)
* [TASK] Project structure description * [TASK] Add description about project structure * [TASK] Add description about project structure * [TASK] Add missing description and link in card * Update Documentation/Concepts/Index.rst Co-authored-by: Lina Wolf <[email protected]> * Update Documentation/Concepts/ProjectStructure/Index.rst Co-authored-by: Lina Wolf <[email protected]> * [TASK] Remove title * [TASK] Adjust description * [TASK] Adjust description --------- Co-authored-by: Kiebele <[email protected]> Co-authored-by: mkiebele <[email protected]> Co-authored-by: Lina Wolf <[email protected]>
1 parent 43b3710 commit b58b9e2

File tree

2 files changed

+157
-1
lines changed

2 files changed

+157
-1
lines changed

Documentation/Concepts/Index.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@ TYPO3 Concepts
6666
.. card-footer:: :ref:`Cache <cache>`
6767
:button-style: btn btn-secondary stretched-link
6868

69+
.. card:: Project Structure
70+
71+
This chapter describes the structure of a TYPO3 project.
72+
73+
.. card-footer:: :ref:`Project Structure <project-structure>`
74+
:button-style: btn btn-secondary stretched-link
75+
6976
.. toctree::
7077
:caption: Topics
7178
:glob:
@@ -79,7 +86,6 @@ TYPO3 Concepts
7986
Backend/Index
8087
Frontend/Index
8188
Extensions/Index
82-
Cache/Index
8389
*/Index
8490
*
8591

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
:navigation-title: Project Structure
2+
.. include:: /Includes.rst.txt
3+
4+
.. _project-structure:
5+
6+
=================
7+
Project structure
8+
=================
9+
10+
The following introduction refers to a Composer-based installation.
11+
12+
.. directory-tree::
13+
:level: 2
14+
:show-file-icons: true
15+
16+
17+
* config
18+
19+
* sites
20+
* system
21+
22+
* packages
23+
24+
* public/
25+
26+
* _assets/
27+
* fileadmin/
28+
* typo3/
29+
* typo3temp/
30+
31+
* assets/
32+
33+
* var/
34+
35+
* cache/
36+
* labels/
37+
* log
38+
39+
* vendor
40+
* composer.json
41+
* composer.lock
42+
43+
.. _files-and-directories:
44+
45+
Files and directories on project level
46+
======================================
47+
48+
The :file:`composer.json` contains the requirements for the TYPO3 installation and
49+
the :file:`composer.lock` contains information about the concrete installed versions
50+
of each package. For further information see
51+
:ref:`here <t3coreapi:files-composer-json>`.
52+
53+
.. _directory-config:
54+
55+
:file:`config/`
56+
~~~~~~~~~~~~~~
57+
This directory contains installation-wide configuration.
58+
59+
.. _directory-config-sites:
60+
61+
:file:`config/sites/`
62+
~~~~~~~~~~~~~~~~~~~~~
63+
64+
The folder :file:`config/sites/` contains subfolders for each site.
65+
66+
The following files are processed:
67+
68+
* :file:`config.yaml` for the :ref:`site configuration <t3coreapi:sitehandling>`
69+
* :file:`settings.yaml` for the :ref:`site settings <t3coreapi:sitehandling-settings>`
70+
71+
.. _directory-config-system:
72+
73+
:file:`config/system/`
74+
~~~~~~~~~~~~~~~~~~~~~~
75+
76+
The folder :file:`config/system/` contains the installation-wide
77+
78+
* :file:`settings.php`: :ref:`Configuration <t3coreapi:typo3ConfVars-localConfiguration>` written
79+
by the :guilabel:`Admin Tools > Settings` backend module
80+
* :file:`additional.php`: :ref:`Manually created file <t3coreapi:typo3ConfVars-additionalConfiguration>`
81+
which can override settings from :file:`settings.php` file
82+
83+
.. _directory-packages:
84+
85+
:file:`packages/`
86+
-----------------
87+
88+
.. todo: Link sitepackage
89+
90+
Each website running on TYPO3 should have a site package - a specialized an
91+
:ref:`extension <t3start:extensions_index>` that contains all the templates,
92+
styles, images and other assets required for the theme.
93+
94+
The sitepackage is typically stored locally and then linked inte the :file:`vendor`
95+
folder via a symlink. Many projects also require custom extensions,
96+
which can also be stored in this location.
97+
98+
.. _directory-public:
99+
100+
:file:`public/`
101+
---------------
102+
103+
This folder contains all files that are publicly available. Your webserver's
104+
web root **must** point here.
105+
106+
This folder contains the main entry script :file:`index.php` created by Composer
107+
and might contain publicly available files like a :file:`robots.txt` and
108+
files needed for the server configuration like a :file:`.htaccess`.
109+
110+
.. _directory-public-fileadmin:
111+
112+
:file:`public/fileadmin/`
113+
~~~~~~~~~~~~~~~~~~~~~~~~~
114+
115+
This is a directory in which editors store files. Typically images,
116+
PDFs or video files appear in this directory and/or its subdirectories.
117+
118+
.. _directory-public-typo3:
119+
120+
:file:`public/typo3/`
121+
~~~~~~~~~~~~~~~~~~~~~
122+
123+
This directory contains the two PHP files for accessing the TYPO3
124+
backend (:file:`typo3/index.php`) and install tool (:file:`typo3/install.php`).
125+
126+
.. _directory-var:
127+
128+
:file:`var/`
129+
------------
130+
131+
Directory for temporary files that contains private files (e.g.
132+
cache and logs files) and should not be publicly available.
133+
134+
.. _directory-var-log:
135+
136+
:file:`var/log/`
137+
~~~~~~~~~~~~~~~~
138+
139+
This directory contains log files like the
140+
TYPO3 log, the deprecations log and logs generated by extensions.
141+
142+
.. _directory-vendor:
143+
144+
:file:`vendor/`
145+
---------------
146+
147+
In this directory all extensions (system, third-party and custom) are installed
148+
as Composer packages.
149+
150+
For more information see :ref:`here <t3coreapi:directory-structure>`.

0 commit comments

Comments
 (0)