Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Configuration [DOCS] Remove adapter configuration from example yaml Mar 27, 2018
Resources [BUGFIX] Use first registered controller actions when creating a link Jul 4, 2018
Tests Revert "[BUGFIX] Overrule existing config values by their key (again)" Jul 4, 2018
.eslintrc [DEV] Replace jshint and jscs with eslint Mar 26, 2018
.gitattributes [DEV] Replace jshint and jscs with eslint Mar 26, 2018
.gitignore [FEATURE] Import the public part of the original code Aug 26, 2016
.travis.yml [!!!][FEATURE] Rewrite configuration management to extensible structure Mar 23, 2018 [TASK] Add release notes Jul 9, 2018
LICENSE [FEATURE] Initialize Repository with license Jul 27, 2016
ext_icon.png [FEATURE] Import the public part of the original code Aug 26, 2016
ext_tables.php [BUGFIX] Append additional Tests in the ext_tables instead of overwri… Mar 27, 2018
ext_tables.sql [!!!][REFACTOR] Rename log table to tx_in2publishcore_log Mar 23, 2018
phpunit.xml.dist [CODESTYLE] Set and apply new codestyle for all PHP and uncommon files Feb 8, 2017

in2publish_core - Content publisher for TYPO3

Latest Stable Version Build Status Latest Unstable Version License Codacy Badge


Content Publishing in TYPO3 - the easy way:

  • Intuitive Use
  • High Security
  • Future proof
  • Supports all extensions (with correct TCA)


The Content Publisher takes working with content to a whole new level. As an editor you can see all changes at a glance and publish them. Changes of major revisions can be prepared and approved individually. Pages and related content and files are reliably transferred as well. You can also publish selected page trees to the live server.

Editing pages can be structured into a multi-step workflow, thus editing, reviewing, and publishing can be separated into distinct roles. The modern user interface facilitates intuitive handling without excessive training.


If you have questions please have a look at the FAQs first. If your question is not listed try to find your answer in the documentation. You can ask questions (no support!) in the #ext-in2publish Slack channel on but there is no warranty. If you need support you can contact in2code.

Technical note

The content publisher basically requires two TYPO3 instances. A staging and a live instance. Editors work solely on the stage server. They also have a backend module to manage pages and files and their publishing status. This means that backend access to the live server is not required anymore. The data transfer between the two servers is secured by encrypted connections and allows only unidirectional system access from stage to live.

Data from the live server is only transferred upon explicit request from the stage server. This also means that the stage server can be placed inside the private company intranet while the live server is accessible throughout the internet. The same TYPO3 extension is installed on both servers. So both servers only differ in configuration. This has the great advantage that an existing deployment can be used for both systems at once.

See for more details:


Example overview module with details

Side by side comparison between stage and live

Installation support by a lot of tests

Example workflow module (part of the enterprise version)

Example workflow feature (part of the enterprise version)

Browser notifications after asynchronous publishing (part of the enterprise version)


composer require in2code/in2publish_core

Easy installation via composer. See documentation for a step by step manual


Version changelog

See: Changelog