Search by

georgringer / workspace-notification

georgringer

Localized workspace stage change notifications with working preview links for records

dev-main 2026-09-02 12:29 UTC

This package is auto-updated.

Last update: 2026-10-14 14:59:38 UTC


README

Replaces the stage change notification mail of EXT:workspaces with one that is actually useful.

What you get

  • Preview links that work for records. The core mail links to the storage folder a news or event record happens to live in. This one links to the detail page the record is displayed on.
  • A link and a title per element instead of a single link for whichever element happened to be first, and a bare list of tt_content:411.
  • The mail in the recipient's language. Every recipient gets it in their own backend language — including the stage name in the subject. English and German ship with the extension.

Long stage changes are cut off after 50 elements, with the remainder reported as a count.

Installation

composer require georgringer/workspace-notification

Nothing else to activate. The extension takes over the notification as soon as it is installed.

Configuration

Preview links for records

For records, TYPO3 needs to know which page displays them. Without that, no link is rendered and the mail says "no preview available" — deliberately, instead of showing a link into a folder that does not work.

EXT:news ships everything already, you only have to point the setting at your detail page: include the News site set and set news.preview.page in your site settings.

Own record types need this in page TSconfig:

TCEMAIN.preview.tx_myext_domain_model_event {
    previewPageId = 42
    fieldToParameterMap {
        uid = tx_myext_event[event]
    }
    additionalGetParameters {
        tx_myext_event.controller = Event
        tx_myext_event.action = detail
    }
}

previewPageId also accepts field:<fieldname> to read the page id from the record itself.

Pages need no configuration.

Sender, format, templates

The settings of EXT:workspaces keep working:

tx_workspaces.emails {
    senderEmail = workspaces@example.org
    senderName = Editorial team
    format = html
}

To use your own template, register a path above key 100:

tx_workspaces.emails.templateRootPaths.200 = EXT:my_sitepackage/Resources/Private/Templates/Email/

and put a StageChangeNotification.fluid.html in there. Available variables: affectedElements (each with table, uid, record, title, previewLink), numberOfElements, notListedElements, workspace, nextStage, currentUser, rootLine, pageId, additionalMessage, language.

recordTitle and previewLink still exist as well, both referring to the first element, so that templates written against the core variable names keep rendering.

More languages

Copy Resources/Private/Language/locallang_emails.xlf to your extension as <code>.locallang_emails.xlf, for example fr.locallang_emails.xlf, and register the path via tx_workspaces.emails.templateRootPaths as above together with your own template.

Notes

  • Preview links contain a token that works without a backend login. Treat the mails accordingly — anyone they are forwarded to can view the workspace content.

Requirements

TYPO3 v14 or v15, PHP 8.3+.

Background

Implements what Forge issue #105814 asks for, until it is solved in the core.