DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
tx_workshops¶
A TYPO3 extension to manage workshops (or events, seminars, ...).
What does it do?¶
tx_workshops provides functionality for managing and displaying workshops, and ships with signup functionality.
This extension and its features are developed on demand. If you're missing a feature, we'd be happy to accept some code for it. Alternatively, contact us if you'd like to sponsor a feature and we'll happily integrate it for you.
Installation¶
Workshops requires some basic TypoScript to work properly. Include the static extension template into your template and you're set. If you don't include the static TypoScript, TYPO3 will not recognize the table mappings required for tx_workshops to work.
Configuration¶
Feature toggling¶
In order to keep everything as minimalistic as possible, advanced features are disabled by default. Have a look at the extension configuration inside the extension manager to enable/disable features.
Registration field validations¶
The only validation which is always run on registrations is extbase's EmailAddressValidator
. If you need more validations, you're free to configure them through TypoScript. Example:
plugin.tx_workshops.settings.registration.validation {
firstName {
10.validator = NotEmpty
20.validator = StringLength
20.options.minimum = 5
}
additionalFields {
membershipCode {
10.validator = NotEmpty
}
}
}
A list of validators together with valid options for them is available in the API documentation.
Email delivery¶
Delivering an email takes some time. In order to optimize frontend response times on e.g. registrations, emails can be delivered through a scheduler task / cron job in the background. For this, you have to set the according TypoScript configuration option. If this is an issue for you or for your hosting provider (sadly, this can be the case), you should configure workshops to deliver directly. Have a look at the TypoScript file inside Configuration/TypoScript, which lists all possible settings.
Attention: Have a look at the issues, as there is currently a problem when delivering emails through cron when using multiple languages.
iCalendar export (ICS)¶
To provide an ICS file containing workshop dates, set up a separate PAGE TLO responding to a certain typeNum
, and call the export plugin there. An example:
icsExport = PAGE
icsExport {
config {
disableAllHeaderCode = 1
xhtml_cleaning = none
admPanel = 0
metaCharset = utf-8
additionalHeaders = Content-Type:text/calendar;charset=utf-8
disablePrefixComment = 1
}
typeNum = 1234
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
vendorName = NIMIUS
extensionName = Workshops
pluginName = Exports
}
}
Don't forget to have the following configuration parts set in your TypoScript template:
plugin.tx_workshops.settings.export.iCalendar {
// These two values are used as PRODID, which is a required property.
businessName = Your business name
productName = Your product name
}
// The 2-char language code is also required for a valid PRODID
config.language = en
Requesting a page with ?type=1234
will now respond with an ICS file containing all upcoming dates. You can also pass workshop
to it to narrow down results. Example:
<f:link.action pluginName="Exports" controller="Exports" action="iCalendar" arguments="{workshop: workshop}" additionalParams="{type: 1234}">ICS</f:link.action>
Tasks¶
In order to deliver confirmation emails, make sure to have a working scheduler, and register the appropriate extbase tasks. The following tasks are currently provided:
- notification:registrationConfirmationCommand - Delivers notification mails to workshop attendees.
Templates¶
Email templates are freely configurable through fluid, you'll find them in Resources/Private/Templates/Notifications.
Email configuration¶
Make sure that your TYPO3 instance is properly configured for email delivery. Check your install tool / LocalConfiguration.php
for valid information in the [MAIL]
section. There's also a report module checking for this. Alternatively, you can set required information for delivery through TypoScript.
OpenGraph¶
Workshop Detail views automatically add the correct openGraph meta tags to the <head>
of the TYPO3 Page.
This behaviour can be disabled by setting plugin.tx_workshops.settings.openGraph = 0
.
The twitter username and the facebook app ID can be set using the following TypoScript and / or Constants path:
plugin.tx_workshops.settings.openGraph {
twitter.username = @MyUsername
facebook.app_id = MyAppid
}