TYPO3 CMS Speciality Distribution

dev-master 2021-02-24 18:20 UTC

This package is auto-updated.

Last update: 2021-02-24 18:20:12 UTC


TYPO3 CMS distribution package we use.


Use Composer to install the Speciality Distribution.

# Download the Speciality Distribution via Composer
composer create-project ecodev/typo3-cms-speciality-distribution speciality.lan dev-master

If working with DDev

cd speciality.lan

# Just make sure the ddev version is accurate
ddev config

# Check the SQL version and other configuration 
# And change the domain name
edit .ddev/config.yaml

# Start the container
ddev start
ddev composer install
ddev exec "touch htdocs/FIRST_INSTALL"

# Open the Backend
# Create a dummy page at the end of the installation wizard.

# -> Open the Extension Manager and installation EXT:speciality
# Edit the "Home" page, BE and set the 

If you have creadted a dummy pages, you would like to create a default BE Usergroup on the BE on pid = 0, then execute the following queries:

-- Update the root page
	tx_fed_page_controller_action  = 'Ecodev.speciality->homePage', 
    tx_fed_page_controller_action_sub = 'Ecodev.speciality->standard',
    TSconfig = '<INCLUDE_TYPOSCRIPT: source="DIR:EXT:speciality/Configuration/PageTS" extension="tsconfig">' 
WHERE uid = 1;

-- Update the template
UPDATE sys_template SET
    title = 'Main TypoScript',
    description = '',
	config = "@import 'EXT:speciality/Configuration/TypoScript'\n\nconfig.contentObjectExceptionHandler = 0", 
	include_static_file = "EXT:fluid_styled_content/Configuration/TypoScript/" 
WHERE uid = 1;

-- Update the User permission in the BE
UPDATE be_groups SET 
	title = 'User',
	groupMods = 'web,web_layout,web_list,file,file_VidiSysFileM1,content,content_VidiFeUsersM1,content_VidiFeGroupsM1,user,user_setup,user_MediaM1',
	tables_select = 'pages,sys_category,sys_file,sys_file_metadata,sys_file_reference,tt_content',
	tables_modify = 'pages,sys_category,sys_file,sys_file_metadata,sys_file_reference,tt_content',
	non_exclude_fields = 'sys_file_metadata:categories,pages:nav_hide,pages:hidden,tt_content:hidden',
	explicit_allowdeny = 'tt_content:CType:text:ALLOW,tt_content:CType:fluidcontent_content:ALLOW',
	pagetypes_select = '1,4,3,254',
	db_mountpoints = 1
WHERE uid = 1

Gitify the project

# Remove the old git info and create a new
rm -rf .git
git init
git add .
git ci -m "First commit"

Next step would be to generate a pseudo site configuration and add BE permission... Still todo here.

How to continue?

As a next step, you likely want to change the CSS, add some custom layouts or customize configuration. The place to head to is EXT:speciality which is located at htdocs/typo3conf/ext/speciality. The name "speciality" is just the extension key we are using in our company as convention. We keep it across our projects so that we don't have to think more where to find the source code.

  • HTML templates - EXT:speciality/Resources/Private/
  • Public resources such as JavaScript and CSS files - EXT:speciality/Resources/Public/

Personal steps

These are internal steps that I follow when bootstrapping a new website.

  • edit .gitignore and remove LocalConfiguration.php and PackageStates.php
  • Remove the DB credentials from htdocs/typo3conf/LocalConfiguration.php and add them into configuration/Settings.php
  • edit composer.json to remove "speciality"
  • Configure config/sites/
  • Add at the end of htdocs/robots.txt:
    Sitemap: http://www.speciality.lan/sitemap.xml
  • check CRON configuration and polish Scheduler tasks