Templating manual · Installation · From Github

2.1 Installing from Github

First, a general note about our branching strategy: we use a development, staging and master branch strategy which briefly described means that the master branch contains stable releases, the staging (and/or legacy, see full description) contains code being built for new releases - and the development branch contains all new features and major changes which will be merged into stable releases when completed. You can find the full description of this branch strategy in our Git strategy chapter, but the essense is: when our extensions depend on each other and you use the git repositories, you must make sure to check out the same branches on all repositories. for example if you downloaded Flux's development branch, then fluidcontent and others should also be downloaded from the development branch.

Important: updating extensions using git can sometimes cause the source code to not match the cached reflections which record (among other things) which dependencies should be injected into a class. If your site breaks after git pulling an update, you can manually clear all cache files and tables using the TYPO3 install tool. In some cases it is necessary to also manually clear the DB tables containing caches of Extbase reflection.

To install Fluid Powered TYPO3 extensions from Github you have two possible approaches:

Using CLI commands

Direct usage of the repositories is by far the easiest approach. Simply clone the repository you desire into your typo3conf/ext/ folder as such (command executed from your site's root folder):

git clone "https://github.com/FluidTYPO3/flux.git" typo3conf/ext/flux

Which will check out the master branch (the stable version, in sync with the TYPO3 extension repository versions). You can then check out the branch you need, for example if you require the development branch:

cd typo3conf/ext/flux; git checkout development

Alternatively (but not supported by all versions of git) you can directly check out only a single branch:

git clone "https://github.com/FluidTYPO3/flux.git" typo3conf/ext/flux \
--single-branch --branch development

Or, if you have an older version of git you can use this syntax to check out a single branch instead:

git clone https://github.com/FluidTYPO3/flux.git typo3conf/ext/flux \
&& cd typo3conf/ext/flux && git checkout development

And finally, in order to limit the download size and time required to resolve deltas - which makes sense when you do not require this information, which is usually only required by contributors or the repository owners - you can add --depth 1 to your CLI command to perform a shallow clone which has no history beyond the last commit added:

git clone "https://github.com/FluidTYPO3/flux.git" typo3conf/ext/flux \
--single-branch --branch development --depth 1

This approach is also essential when performing unassisted installs using Git (or Composer).

Using zipped branches or releases

Github allows downloading repository branches as on-the-fly zip archives, which means you can browse on Github to the repository and branch you want, then click the "Download zip archive" in the right side menu. Releases (which correspond to versions uploaded to the TYPO3 extension repository) are put under "releases" (Github shows a link with a total count of releases alongside the links to commit and branch lists in the header of the repository's home page).

Download the extensions' files the way you prefer, then extract them into folders inside typo3conf/ext/ of your TYPO3 site. Be careful - depending on how you download the files, the folder that gets extracted may not have the correct name, in which case you simply rename the folder before installing the extension. Then use the extension manager to install the extensions like you would any other extension.

Note: any dependency extensions which you do not manually download, will be downloaded through the extension repository and may not match your manually downloaded version! To avoid this, make sure you manually download all dependencies of each extension.

Jump to...