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

Probably the fastest version of the Community Edition ever – Content Publisher Release 9.5.0

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.

Florian Froidevaux

Projects and products in the TYPO3 area?

Do you have questions about Online Marketing?

Our specialist Florian Froidevaux will be glad to help you.

Florian Froidevaux  |  SEO & Product Marketing

"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

Lesson cancellation - and now? New portal for the Bavarian school system.

For the Bavarian school system, we developed a new web app based on an existing but very outdated portal. The portal reports lesson cancellations throughout Bavaria and registered users are informed...

Go to news

SQL: Show all tables sorted by size in descending order

Lately I've been using the SQL command more often to find out which tables in the TYPO3 database are the largest. I've published the snippet once.

Go to news

TYPO3 12 with CKEditor 5: Styles in a single selection

If you set a link in the RTE in TYPO3, you may have to choose between different link classes, for example to create buttons in the frontend. What's new in TYPO3 12 is that you can select not just one...

Go to news

Null-Safe Operator in the TYPO3 area

With the introduction of PHP8, problems with undefined arrays or variables in general can arise in many places. Here are a few examples and simple solutions.

Go to news

Delete the first/last lines of a (SQL) file

There isn't much to say about the following commands. Sometimes it can be useful to delete the first (or last) X lines from a file. And if the file is too large to open with a conventional program, a...

Go to news

b13/container: Add and modify child elements in edit view

Unlike gridelements, you cannot manage the child elements in the B13 Container extension when you open the container in the editing view. I would be happy to show you how you can quickly install this...

Go to news