Skip to content

10.2.3 Fire and Forget and other publishing processes

Compare
Choose a tag to compare
@vertexvaar vertexvaar released this 06 May 10:30
· 1149 commits to develop since this release
053024a

Currently publishing Records -> Fire and Forget

Related Issues:

For users

This release changes how the content publisher handles records that are selected for publishing in a different process (as in "computer process"). This effectively changes that backend users now see which records are currently being published when having any view opened that would contain a publish button (Which, in the Community Edition, boils down to the Publish Overview and Publish Redirects Module. In the Enterprise Edition there are Buttons on the Page, List and Publish Workflow Module).

The Content Publisher now keeps track of all records which are selected for publishing. These Records and any related record that will be published in the whole process will be marked as such, which disables the option to publish one of these records until the publishing process is finished. This prevents editors from publishing a page twice and therefor cause an even higher load on the servers, aside from the fact that publishing a page/record twice will not have a beneficial effect whatsoever.

The Content Publisher will show a spinning circle icon for all pages and records which are currently publishing, regardless which backend user started the process, if the user opened the Publish Overview Module in a new tab or another user views the module.

The overall gain of this change is more transparency of which record is currently publishing and reducing multiple publishing processes for the same record.

This change trickles down to the enterprise feature "Fire and Forget", which puts all publishing processes into the background and lets editors publish multiple pages without the need to stay on the page. The icon of Fire and Forget was changed to the circle-spinner and it will mark records as publishing, too.

For admins

Please create a garbage collector task to remove stale records from the table tx_in2publishcore_running_request.
This is a bug fix, which prevents unwanted side effects. It is always active, you can not enable/disable it.

Developer info

If you are a developer and use the Content Publisher to publish records, you might have to dispatch a new event:
For any action that will publish multiple records, you have to create and dispatch the event RecordsWereSelectedForPublishing (link to docs)

Further bug fixes

  • Fixed a bug in the ShallowRecordFinder which lead to missing child records (especially pages)
  • Corrected the record depth counter when using ShallowRecordFinder (only visible when debug.showRecordDepth = TRUE)
  • Ensure that confirmation for publishing a record is asked before anything else (https://projekte.in2code.de/issues/50088)
  • Fixed undefined index access in DefaultRecordFinder (x2) and TableInfoService
  • Ignore FlexForm type = select fields without a foreign_table
  • Rely on the actual sortby field instead of using a fixed field name
  • Fixed associative array keys which are used for call_user_func_array (https://projekte.in2code.de/issues/50000)
  • Support non-composer TYPO3 distributions again (by reversing the upgrade to doctrine/dbal > 2.11.0) (https://projekte.in2code.de/issues/50175)
  • Ue both the local and foreign file name to identify a file

Further non-feature changes

  • Updated all extension icons for a better look & feel (https://projekte.in2code.de/issues/49147)
  • Replace class constants access with the class that defines the constant
  • Added missing documentation for all events
  • Various code style issues