For coders TYPO3 Tech Corner

in2publish_core 9.5.0 Performance, sorting publishing, cleanups and fixes

in2publish_core 9.5.0 Performance, sorting publishing, cleanups and fixes

We’ve something great for you. Really! It's this release. As you might have guessed from the new version number, this is a feature release and those features are yummi. As we announced with the 9.4.0 Release, we are stepping forward towards the main Releases 10.x and 11.x. We are focusing on UI optimization and security as well as support for TYPO3 Version 10 and later this year released TYPO3 Version 11.

First let’s have a look at the bug fixes

  • Fixed the parent record association of records fetched as translation
  • Use = instead of LIKE for constraints only containing Numerals (thanks to @friggingee here)
  • Use already existing records when searching for records by a single identifier
  • Removed some loggers which did not log anything useful
  • Only add fields to sys_redirects when EXT:redirects is active
  • Do not try to process files which do not exist (Root cause still to be fixed)

It is feature time!

Now for those nice features we promised you. To be honest, the first feature is hidden inside the second bug fix, which alters the queries depending on the values used in the constraints. Simply using a = instead of LIKE can speed up your application because the database does not have to convert a whole table column to string first and neglect the index. We've measured between -3% and -44% execution time for the Publish Overview Module. This is simply awesome!

Next up: "Respect rootLevel, allowedTables and skip empty tables or missing PIDs" This is partly a bug fix, partly a feature. Developers know that TYPO3 has different mechanism which allow or deny specific kinds of records to be created and stored on specific pages or places in the page tree. The content publisher did not adhere to these rules when searching for records stored on pages, which resulted in a vast number of queries. These rules are known as the rootLevel restriction and allowedTables depending on page types. Additionally, the content publisher will peek into tables which are queried. With the information gathered by peeking into the table, the content publisher can now decide to skip further queries to that table because it is either empty or does not contain a special value (the searched PID). This feature reduces even more superfluous queries and thus increases performance.

The last big change is called "publishSorting". This feature will watch the publishing process and detect changes in the order of published pages and records. If a change was detected, the publish sorting feature will publish the sorting of all records which are affected by this sorting change (but no other property of said records). This will help to maintain the order of records without having to manually publish all records affected by that sorting change.

As a Part of the improvements of in2publish, we also managed to finish in2publish_http 6.0.0. This means 13 files and 700 less lines of code. The adapter is now safer and faster than ever before. And it is so clean!

Outlook

The Content Publisher supports all active LTS versions. This means: The Content Publisher support for TYPO3 v9 will end with the TYPO3 v9 LTS EOL on Sept. 30th.

Since the compatibility with TYPO3 v11 (which we are already working on) requires changes to the HTML of our Backend Modules and PageTree hooks, we have decided to use the opportunity to further modernize the UI. To still be able to support TYPO3 v10 until its EOL on Apr. 30th. we will create a new major version of the Content Publisher (in2publish_core 10.0.0 and in2publish 10.0.0), which will support TYPO3 v10, and therefore one version which supports TYPO3 v11 (in2publish_core 11.0.0 and in2publish 11.0.0). We do not expect radical changes to the UI after TYPO3 v11, so when TYPO3 v12 comes along, in2publish_core and in2publish 11.0.0 will probably support both versions again.

If you want to get a demo of the new Version or interested in supporting our development: Get in touch with us.

Back

"Code faster, look at the time" - does this sound familiar to you?

How about time and respect for code quality? Working in a team? Automated tests?

Join us