TYPO3: You need at least TYPO3 4.1.2.
PHP: You need at least PHP 5.1.
It is recommended to assign PHP 64 MB of RAM (some users using only 30 or 32 MB have reported crashes).
MySQL/PostgreSQL: As the sorting uses subqueries and the search function uses the EXISTS operator, you need MySQL 4.1 or greater.
This extension has not been tested with PostgreSQL yet.
Charset: It is highly recommended to use UTF-8 on the BE and FE when using this extension.
Conflicting extensions: This extension cannot be installed if you have one of the following extensions installed:
DBAL
Required extensions: This extension requires the following TYPO3 extensions to be installed beforehand:
oelib 0.4.0 (or greater)
ameos_formidable 0.7.0 (versions 0.8.0 or 1.0.0 don’t work for this version of the Seminar Manager yet)
In Extension Manager > Settings, make sure that Enable extensions without review (basic security check) is enabled.
In Extension Manager > Import extensions, type “ameos_formidable” and click on Look up.
In the list of results, click on the title Ameos Formidable.
Under SELECT COMMAND, choose version 0.7.0 from the drop-down list.
Click on Import/Update.
static_info_tables 2.0.2 (or greater)
css_styled_content: You must use CSS Styled Content or some things will not work correctly.
date2cal (optional): If you like, you can install the extension date2cal to add a nice calendar widget to date and time fields on the back end (e.g. the start date and time of a seminar). Currently there is a problem with date2cal version 6.1.1 and IRRE which we are using for the time slots feature. Please read the “Known problems”-section in this document for further information.
newloginbox (optional in TYPO3 <4.2, not needed starting from TYPO3 v4.2 as newloginbox functionality got included to the core): If you want FE user to be able to log in so that they can register for events, you should also install a login extension like newloginbox (or you use the system login feature).
sr_feuser_register (optional): If you want FE users to create their accounts themselves, a self-registration extension like sr_feuser_register is recommended.
onetimeaccount (optional): If you want users to be able to register for events without having to use a FE login, please use the onetimeaccount extension.
Then you can install this extension.
In the Extension Manager, there will be some options. The default values are good for starters.
You can disable the automatic configuration check when this extension is installed and you have finished the complete configuration for the BE and the FE. Disabling the automatic configuration check will improve performance a bit. When you upgrade to a newer version of the extension, you should enable it again and check whether there are any warnings on the FE pages with the plug-in on it.
Enable “Use the page browser” only if you have upgraded from an older version and you have distributed your organizer, speaker, location etc. records to more than one folder and you cannot move them. It is no problem to have registrations or events in different folders, though.
Disable “Select topic records from all pages” only in one of the following two cases:
if you have really a lot (like about 20 or more) event topic records
if you already have created lots of complete event records and you now are just starting to use the topic/date separation for events
You can enable “Manual sorting of events” if you want to apply manual sorting (with the little up/down arrows) to events in the back end. By default, events are sorted by begin date. Note: This setting only applies to the back end and has no effect on the front end whatsoever.
In your TS setup, please set config.language and config.locale_all so the extension will use the correct language in the front end.
After having installed this extension (and the required extensions) through the extension manager, a few more steps are necessary to get the extension up and running:
IMPORTANT: All non-empty changes at the flexforms of the plug-in overwrite the settings of the corresponding TS setup. Empty data in the flexforms don't overwrite non-empty data from the TS setup, so if you want to overwrite non-empty values with empty values, you can enter a space or a comma (depending on the field).
Choose a login box extension and a front-end user registration extension, install and configure them. On my site, I use newloginbox and sr_feuser_register, but you may want to use others. You can leave out the front-end user registration extension if you don't want front-end users to be able to create their own accounts.
If you use the extension sr_feuser_register, make sure that the salutation modes of that extension and the seminars extension are the same so that your users get a consistent experience.
Make sure that you make the following fields required, or this extension won't work properly: name, email, username
If a user is on the detail view page of an event and wants to register, he's shown a link to the login page. The URL provided there contains the information to redirect the user directly to the registration page after login. Important: This feature works only with newloginbox! (since version 0.4.8)
First, include the Seminars template in your site template under “Include static (from extensions)”.
Then configure the plug-in in your TS template setup or the plug-in flexforms. The properties are listed in the reference.
Please note than when using flexforms, you need to set the corresponding values at all relevant instances of the plug-in: It doesn't do to specify the fields for the online registration in the seminar list front-end plug-in—you need to set these fields in the online registration front-end plug-in.
These are the variables you absolutely need to set to get this extension up and running:
plugin.tx_seminars.attendancesPID (If you explicitely don't want to use the online registration feature, set plugin.tx_seminars.enableRegistration and plugin.tx_seminars_pi1.enableRegistration to 0.)
plugin.tx_seminars_pi1.baseURL
plugin.tx_seminars_pi1.registerPID
plugin.tx_seminars_pi1.thankYouAfterRegistrationPID
plugin.tx_seminars_pi1.pageToShowAfterUnregistrationPID
plugin.tx_seminars_pi1.listPID
plugin.tx_seminars_pi1.detailPID
plugin.tx_seminars_pi1.loginPID
Note that the notification e-mail to the organizer and the list view show the headings even for empty fields, while the single view and the notification e-mail to the participant remove the headings for some seminar properties (not all, just where it makes sense).
In addition to the website_users_folder, you need to create some system folders for storing records needed by this extension.
If you don’t have many events and you can keep the overview even if the event dates and the registrations are on one page each, you can create a minimal SysFolder structure like this:
Illustration 6: SysFolder structure for minimum requirements
If you have only one page with one list view for the events, you can have all current event records in one system folder:
Illustration 7: all current events in one folder
If it is okay for to have the registrations for all organizers arrive in one system folder or if you have only one organizer, you only need one folder for the registrations:
Illustration 8: registrations for all organizers in one folder
The following system folder structure is proposed for a full-blown installation with lots of events and different organizers that manage their registrations independently:
Illustration 9: full blown installation
If you
intend to have more than 20 event topic records
or you already have more than 20 complete event records (defined as “not being separated into topic and dates”)
or you intend to have more than 20 complete event records
it is recommended to disable the option “Select topic records from all pages” in the Extension Manager. You then need to set the “General record storage page” of the events system folder to the folder with the event topics.
If you create these folders outside of the site root page with the template, you still need to create a template for them and “include static (from extensions)” in that template, or else the back-end module will not be able to use the extension's default configuration (e.g. the date and time format, so that date won't get displayed in the back-end module).
The user groups who should be able to manage seminars should have:
the module Web > Seminars in their module list
write access to the following tables (may be split into several groups): Seminars, Speakers, Registrations, Seminar Sites, Organizers, Payment Methods
allowed excludefields: Seminars: hide, Seminars: start, Seminars: stop (only set this for users who really need it and know the difference between start/stop for FE display and start/stop of the seminar hours)
other needed excludefields from the event records
the corresponding system folders in their DB mounts
If you want to enter registrations manually for participants who don't have a front-end user account yet, or if you want to be able to edit the front-end user data, you need to set the following access rights as well:
write access to the following tables (may be split into several groups): front-end users, addresses
allowed excludefields: front-end user: name, address, phone, fax, email, zip code, city, inactive; address: fax, mobile
the front-end users system folder in their DB mounts
If your site does not use the online registration feature, you have to explicitly disable that feature.
Your page structure can then look like this:
Illustration 10: page structure for a setup without online registration
Usually, you’ll want to use this extension with the online registration feature. For this, the minimal page structure will look like this (note that you still need to set a sr_feuser_register if you want user self-registration):
Illustration 11: page structure for a minimal setup with online registration
For a full-blown registration with several list views, two archive pages, the “my events page” (where a user can see the events to which they have signed up), registrations lists for participants and VIPs and front-end editing, the page structure would look like this (usually, you only need some of these pages):
Illustration 12: page structure for a full-blown setup
If you want users to be able register manually, then build up a front-end user system for your site. Remember which group corresponds to “confirmed front-end users”.If you wish to utilize the additional fields for the table front-end users, you'll need to set up sr_feuser_register for this. In that extension's documentation, you'll find a tutorial about how to add fields to the registration form.
Add a page (which we called “Events (list view)” in the illustrations) that will contain the list view.
Add a page (“Details (not in menu)”) that will contain the detail view.
Add a “Seminar Manager”-plug-in content element to both these pages (from step 2 and 3) and set the type to “Event List”. Set the content element's ”Starting Point” to the SysFolder that contains (or will contain) the seminar records (what we called “Event Data” in Illustrations 1-4). The element on “Events (list view)” will show the seminar list and the detailed seminar view will be shown on “Details (not in menu)”. Usually, this content element doesn't have any access restrictions.If you would like to show only the seminars from certain organizers, put the seminar records for the organizers on separate pages, and add only the corresponding pages as starting pages for the plug-in.
Add a page (which we called “Registration (not in menu)” in the illustrations) that will be the registration page. Important: The Seminar Manager creates links to this page (for example from the list- and detailed view and as a redirect parameter after login) – this will fail if this page is access restricted. Don't hide this page and don't apply user restrictions to the page itself! A good way is to mark the page as “hide in menu”, but the page must be accessible for all visitors, independent of their login status (logged in or not).
Add a “Seminar Manager” plug-in content element. Set the type to “Event Registration”. Set the content element's start pages to the page or pages that contain (or will contain) the seminar records.
Add another page that will be shown after a user has registered for an event. Put some thank-you message on the page. If you would like the event which the user has just registered for to display on this page, you can also add a Seminar Manager plug-in. The list view (like the “my events” list) doesn't work here, though (as the URL after completing the registration contains the UID of the event for the single view). Set this page to “hide in the menu” and its access to “show at login”.
Add another page that will contain the “my events” list (if you want to use that feature). Set the page access to “show at any login”.
Add a “Seminar Manager”-plug-in content element to that page and set the type to “My Events”. Set the content element's start pages to the page or pages that contain (or will contain) the seminar records. This element then works like the “Event List” content type, but it will only show those events to which the currently logged-in front-end user has signed up. If you want this list to show all events instead of current and upcoming, set “Only show events from this time-frame” to “all events” (you'll probably want to do this).
[optional] To show the countdown in the front-end, simply add a “Seminar Manager”-plug-in content element at the page/column where you want it to be shown. In the settings of this content element, just select “Countdown to the next event” from the “what to show” drop-down list.
The category list shows all categories for which there are events in the selected system folders and in the selected time-frame. If your events are not assigned to any categories, the category list will be empty.
The category names are linked to the list view, filtered by that category (in other words: only events from the selected category are displayed).
This tutorial assumes that you already have set up a list view of your events.
Add a front-end page.
Add a “Seminar Manager”-plug-in content element to this page and set the type to “Category List”.
Select the page that contains the list view (this page will be used for creating the links).
Optional: Select the system folders (and recursion depth) that contain the events for which you would like to list the categories. If you select nothing, events from all system folders will be taken into account.
Optional: Select the time-frame from which you the events should be selected. If you select nothing, current and upcoming event will be taken into account.
Save and close.
This feature allows front-end users who have signed up for an event to see who has signed up for that event as well, eg. for forming car pools or for coordination before the event takes place. In addition, this allows so-called VIPs (eg. speakers or organizers for that event) to see that list as well. Both features are disabled by default. When using this feature, make sure that this complies with your privacy policy!
Both lists are set up separately. Even if you use both lists, they need to be set up separately.
You can enter a list of FE user field names that will be displayed in the registration lists using the TS setup variable plugin.tx_seminars_pi1.showFeUserFieldsInRegistrationsList. The default is to only display the attendee's names.
Please note that there is no fine-grained access rights system: Either you allow all attendees to view the registration lists for all events for which they have signed up, or you don't.
If there is no “my events” page yet, create one. This page will show all events for which a FE user has signed up.
Add a new page.
Set the page access to “show at any login”.
Add a new content element “General Plugin”.
Set the element's plug-in type to “Seminar Manager”, set it to display the “my events” list and set the element's starting point to your SysFolder(s) with the event records. You'll probably want to also set the time-frame for this list to “all events” instead of the default value “current and upcoming events”.
Now add a second page for the registration lists (preferably a sub page of the “my events” page), set it to not appear in the menu and set the page access to “show at any login”.
Add a new content element “General Plugin”.
Set the element's plug-in type to “Seminar Manager” and set it to display the “list of registrations (for attendees)”.
Now return to the page with the “my events” list and edit that content element again.
Under “Page that contains the list of registrations (for attendees):”, select the page you've just created.
If you would like the registration lists to be linked from the normal list view, edit the seminar list and also select the page with the registrations list under “Page that contains the list of registrations (for attendees):”.
Please note that this feature has a rather fine-grained access right system: For each event, you can specify which FE users should be allowed to view the registration lists of that particular event.
Create a “VIPs” FE-user group.
Edit the events for which some FE users should be allowed to view the registration lists. Add those FE users in the section “Front-end users that are allowed to see the list of registrations” of the corresponding event records. For example, you could allow the speakers or the organizers to see the registrations list. In addition, add the corresponding FE users to the FE user group “VIPs”
Set up a “my VIP events” page. This page will list exactly those events for which that particular FE user is set as a VIP.
Add a new page.
Set the page access to “VIPs”.
Add a new content element “General Plugin”.
Set the element's plug-in type to “Seminar Manager”, set it to display the “my VIP events” list and set the element's starting point to your SysFolder(s) with the event records. You'll probably want to also set the time-frame for this list to “all events” instead of the default value “current and upcoming events”.
Now add a second page for the registration lists (preferably a sub page of the “my events” page), set it to not appear in the menu and set the page access to “VIPs”.
Add a new content element “General Plugin”.
Set the element's plug-in type to “Seminar Manager” and set it to display the “list of registrations (for VIPs)”.
Now return to the page with the “my events” list and edit that content element again.
Under “Page that contains the list of registrations (for VIPs):”, select the page you've just created.
If you would like the registration lists to be linked from the normal list view, edit the seminar list and also select the page with the registrations list under “Page that contains the list of registrations (for VIPs):”. Please note that in case a FE user is both an attendee and a VIP for an event, the link to the registration list for VIPs will take precedence.
This extension has an automatic configuration checking feature which will check pretty much all configuration settings of this extension for sanity. If it has found anything that needs to be fixed, it will display a big red box with a message. This message will contain information about the following things:
what that particular setting is about
which values are allowed
which values are incorrect
To make sure that your configuration is correct, please log in as a front-end user and visit all of your pages that contain the Seminar Manager plugin-in. In the back end, please visit both back-end modules.
The configuration check slightly decreases the performance of this extension. When your configuration is finished and approved by the checking feature, you can disable the feature in the extension manager.
Note: This feature still is pretty new and edgy. If you think that a particular warning message isn't correct (or you think that a a particular check is missing), please take a minute and file a bug in the bug tracker.
Version 0.4.11 is the last version of the 0.4.x branch of the Seminar Manager. Upgrading to 0.5.0 will bring you a lot of new features, but it will also mean a bit of work if you are using custom HTML templates.
You should do the upgrade at a time when there are usually no new registrations as there might be some configuration check warning on the front-end until you have finished the upgrade.
Make a back-up of you TYPO3 installation so you can go back to your current version if you seriously break anything.
Add a page (not in menu) for the detail view and insert a Seminar Manager plug-in on it. Write its PID into plugin.tx_seminars_pi1.detailPID (or in the flexforms of you list view).
Add a page (not in menu) as a thank-you page and add a nice “thank-you for registration” message on it. If you like, you can add a Seminar Manager plug-in element on the page to show the details of the event to which the user has just signed up. Write the PID of this page into plugin.tx_seminars_pi1.thankYouAfterRegistrationPID (or in the flexforms of you registration form).
Install static_info_tables.
Install ameos_formidable.
If you are using custom HTML templates, make a diff between the provided templates and your templates so you know what you have changed. (You’ll need to create new templates to make use of all new features. In addition, your old templates probably will display some garbage on the front end.) Switch off your custom templates.
Upgrade to the new Seminar Manager from TER and upgrade the database.
In the extension manager, enable the automatic configuration check for the Seminar Manager.
Uninstall frontendformslib (if you don’t still need it for another extension).
Clear all cache (FE cache and the cache in typo3conf/).
View all pages in the FE that contain anything Seminar Manager-related. Sign up for an event and check that everything still is working. If you encounter any errors from the automatic configuration check, fix the corresponding part of you configuration, clear the FE cache and reload the corresponding page.
Check that the e-mails to the participants and the organizers still are working and still look like you want them to look.
Have a look at the new fields for event records and decide which you want to use.
Many fields now are excludefields. In you back-end access lists, check that the fields which you use are still visible to the back-end users who manager the events.
Play around with the configuration values hideColumns, hideFields, showRegistrationFields.
When everything is working, disabled the automatic configuration check in the extension manager.
If you are using custom HTML templates: Make a copy of the provided templates, apply your changes from the diff, enable the custom templates and test them.
Now you’re finished. Or you could start playing with the new features ...
The “needs registration” checkbox has been removed from event records. Now events with a non-zero maximum number of vacancies are considered to require (and allow) registration. Events with 0 as the maximum number of vacancies are considered to not require or allow registration.
The “is paid” checkbox has been removed from the registration records. Now a registration is considered to be paid for if a payment date has been entered for it. If you make use of the differentiation between paid and not paid registrations, make sure that all paid registrations have a payment date.
Make sure you are using TYPO3 4.1.2 or greater.
Make sure you have sr_static_info 2.0.2 (or greater) installed.
Add a page (not in menu) and add a nice message on it which should be shown after a user has unregistered from an event. If you like, you can add a Seminar Manager plug-in element on the page to show the details of the event from which the user has just unregistered. Write the PID of this page into plugin.tx_seminars_pi1.pageToShowAfterUnregistrationPID (or in the flexforms of you registration form).
The way how the CSS file is included has been changed. Therefore we removed the field for the CSS file from the flexforms and moved the TypoScript configuration variable plugin.tx_seminars_pi1.cssFile from the setup to the constants. If you specified another path than the default to the seminars CSS file, you'll have to move your configuration from the flexforms or your TypoScript setup to your TypoScript constants. That means that you have to make sure that plugin.tx_seminars_pi1.cssFile is not set in your TypoScript setup.