Introduction 

What does it do? 

pforum is a very tiny forum extension for TYPO3 CMS.

Features 

  • Create forum records (only backend)
  • Create topic records (f.e. the question)
  • Create post records (f.e. the answer)
  • Store up to 2 images foreach topic and post
  • Non authorized mode. Each creation will create a new pforum own user record
  • Authorized mode. The frontend user record (fe_user) will be assigned to topics and posts
  • Inform users by mail about new posts, if a mail is provided.
  • Frontend admin users can manage topic and post records
  • Backend module to manage topics and posts

What it does not 

Please keep in mind that we don't want to provide a full featured forum extension. In that case please use the forum extension of Mittwald.

  • No images like smileys in textarea
  • No HTML in general in textarea
  • No avatars for users
  • No highlighting of topics and posts
  • No fixed topics or posts at top of list
  • No overview of all topics/posts of a user
  • No quoting of previous topics/posts
  • No anker links to jump to a specific topic/post
  • No birthday reminders
  • No links in general

Users Manual 

Insert Plugin on Page 

  1. Create page

    First all all you need a page where you can add the pforum plugin.

  2. Add plugin

    Switch to page module, choose your newly created page in pagetree. Click the "+ content" button to start the Content Element Wizard. Switch to tab Plugin and click on panel with name Forum to add the plugin to the page.

  3. Configure Plugin

    If you want you can give that content element a name and configure another detail view on tab "Plugin".

4 Save

Don't forget to save your record.

Create Forum Records 

It's your job to create some forum records where users can create topics and posts for. A forum record is meant to be a category or discussion topic like "Let's talk about cars", "Sell and buy" or just simple "Windows 11".

  1. Create storage

    Create a new page of type "Storage Folder" in pagetree.

  2. Create Forum record

    Switch to list module and chose your just created storage folder from pagetree. On the right frame click the + Button at the upper left. Search section Forum and click Forum from the list below to create a new forum record.

    Fill in values for title (required) and teaser. Do not add any teaser records. That's a job for your users in frontend.

Installation 

Composer 

If your TYPO3 installation works in composer mode, please execute following command:

composer req jweiland/pforum
vendor/bin/typo3 extension:setup --extension=pforum
Copied!

If you work with DDEV please execute this command:

ddev composer req jweiland/pforum
ddev exec vendor/bin/typo3 extension:setup --extension=pforum
Copied!

ExtensionManager 

On non composer based TYPO3 installations you can install pforum still over the ExtensionManager:

  1. Login

    Login to backend of your TYPO3 installation as an administrator or system maintainer.

  2. Open ExtensionManager

    Click on Extensions from the left menu to open the ExtensionManager.

  3. Update Extensions

    Choose Get Extensions from the upper selectbox and click on the Update now button at the upper right.

  4. Install pforum

    Use the search field to find pforum. Choose the pforum line from the search result and click on the cloud icon to install pforum.

Next step 

Configure pforum.

Extension Settings 

Some general settings for pforum can be configured in Admin Tools -> Settings.

Tab: Basic 

FROM email address 

Default: <empty>

Define the email address, which will be used to inform users about new topics and posts.

If this value is empty pforum will try to use the email address from $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromAddress']. If this location is not set, too, sending a mail will fail with an exception.

FROM email name 

Default: <empty>

Define the senders name, which will be used to inform users about new topics and posts.

If this value is empty pforum will try to use the email address from $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromName']. If this location is not set, too, sending a mail will fail with an exception.

TypoScript 

pforum needs some basic TypoScript configuration. To do so you have to add an +ext template to either the root page of your website or to a specific page which contains the pforum plugin.

  1. Locate page

    You have to decide where you want to insert the TypoScript template. Eithe root page or page with pforum plugin is OK.

  2. Create TypoScript template

    Switch to template module and choose the specific page from above in the pagetree. Choose Click here to create an extension template from the right frame. In the TYPO3 community it is also known as "+ext template".

  3. Add static template

    Choose Info/Modify from the upper selectbox and then click on Edit the whole template record button below the little table. On tab Includes locate the section Include static (from extension). Use the search below Available items to search for pforum. Hopefully just one record is visible below. Choose it, to move that record to the left.

  4. Save

    If you want you can give that template a name on tab "General", save and close it.

  5. Constants Editor

    Choose Constant Editor from the upper selectbox.

  6. pforum constants

    Choose PLUGIN.TX_PFORUM from the category selectbox to show just pforum related constants

  7. Configure constants

    Adapt the constants to your needs.

  8. Configure TypoScript

    As constants will only allow modifiying a fixed selection of TypoScript you also switch to Info/Modify again and click on Setup. Here you have the possibility to configure all pforum related configuration.

View 

view.templateRootPaths 

Default: Value from Constants EXT:pforum/Resources/Private/Templates/

You can override our Templates with your own SitePackage extension. We prefer to change this value in TS Constants.

view.partialRootPaths 

Default: Value from Constants EXT:pforum/Resources/Private/Partials/

You can override our Partials with your own SitePackage extension. We prefer to change this value in TS Constants.

view.layoutsRootPaths 

Default: Value from Constants EXT:pforum/Resources/Layouts/Templates/

You can override our Layouts with your own SitePackage extension. We prefer to change this value in TS Constants.

Persistence 

persistence.storagePid 

Set this value to a Storage Folder (PID) where you have stored the records.

Example: plugin.tx_pforum.settings.storagePid = 21,45,3234

Settings 

settings.auth 

Default: 1 (no authentication)

Example: plugin.tx_pforum.settings.auth = 2

Define, if creation of new topics and posts needs an authenticated frontend user or not.

  • Value: 1: No authentication. Everyone can create topics and posts. We prefer using it in intranet environments.
  • Value: 2: An authenticated frontend user is needed to create topics and posts.

settings.emailIsMandatory 

Default: 0

Example: plugin.tx_pforum.settings.emailIsMandatory = 1

If activated a further input field will be displayed where the user has to insert a valid email address. Useful in case of auth = 1. The email address will be added to pforum own user record.

settings.usernameIsMandatory 

Default: 0

Example: plugin.tx_pforum.settings.usernameIsMandatory = 1

If activated a further input field will be displayed where the user has to insert a username. Useful in case of auth = 1. The username will be added to pforum own user record.

settings.useImages 

Default: 0

Example: plugin.tx_pforum.settings.useImages = 1

If activated two additional upload fields will be added to the form of new topics and posts.

settings.uidOfAdminGroup 

Default: 0

Example: plugin.tx_pforum.settings.uidOfAdminGroup = 14

By default you, as an administrator, have to modify or delete topics and post record in TYPO3 backend. With this setting you can define a frontend usergroup which should act as an administrator to edit and delete records in frontend view.

settings.uidOfUserGroup 

Default: 0

Example: plugin.tx_pforum.settings.uidOfUserGroup = 26

If authentication is required auth = 2 you have to define a frontend usergroup which is allowed to create new topics and posts.

settings.pidOfDetailPage 

Default: 0

Example: plugin.tx_pforum.settings.pidOfDetailPage = 26

By default all detail view are displayed on the same page of the forum record list. For design reasons it may make sense to define a special detail view page.

settings.topic.hideAtCreation 

Default: 0

Example: plugin.tx_pforum.settings.topic.hideAtCreation = 1

By default every new topic created over frontend is directly visible. If you want to prevent that you can activate that option and an administrator has to review that topic first.

settings.topic.activateByAdmin 

Default: 0

Example: plugin.tx_pforum.settings.topic.activateByAdmin = 1

By default hidden records can only be activated by a backend editor. If you want your frontend administrator to enable hidden topics you should activate this option here.

settings.post.hideAtCreation 

Default: 0

Example: plugin.tx_pforum.settings.post.hideAtCreation = 1

By default every new post created over frontend is directly visible. If you want to prevent that you can activate that option and an administrator has to review that post first.

settings.post.activateByAdmin 

Default: 0

Example: plugin.tx_pforum.settings.post.activateByAdmin = 1

By default hidden records can only be activated by a backend editor. If you want your frontend administrator to enable hidden post you should activate this option here.

settings.new.uploadFolder 

Default: 1:user_upload/tx_pforum/

Example: plugin.tx_pforum.settings.new.uploadFolder = 2:dropbox/pforum/

Only valid, if you have activated useImages. Define the default storage location for uploaded images in frontend context.

settings.image.* 

Default:

settings.image {
  width = 120c
  height = 90c
  minWidth = 120
  maxWidth = 120
  minHeight = 90
  maxHeight = 90
}
Copied!

With these values you can manipulate the topic and post image size.

settings.pageBrowser.itemsPerPage 

Default: 15

Example: plugin.tx_pforum.settings.pageBrowser.itemsPerPage = 10

If there are a lot of records the pagebrowser will help to navigate through all these records. Define the max amount of records to be displayed on a page.

Administrator manual 

Pforum Administration Module 

pforum comes with its own administration module. Here an administrator or an editor with given rights can activate hidden topic and post records.

If settings.topic.hideAtCreation and settings.post.hideAtCreation are deactivated in TypoScript you can deactivate that module for editors as it is useless in that case.

Routes 

Currently, we don't have any route configuration here. There is no slug field in frontend forms for topics and posts. So, there is no valid possibility to create human-readable URLs. Maybe we can add a slug field to the forum records as these kind of records will be created in backend.

Please profile an issue ticket for that, if you're interessted.

Updating 

If you update pforum to a newer version, please read this section carefully!

Upgrade to Version 4.0.0 

We have changed a lot parts in the fluid templates. Please check image and link parts in your overwritten templates and adjust them accordingly.

Known Problems 

Currently, no problems known.

ChangeLog 

Version 6.0.2 

  • [BUGFIX] SiteSet identifier renamed by removing default

Version 6.0.1 

  • [BUGFIX] Fixed Backend Module issues
  • [BUGFIX] Fixed Fluid Formatting Issues
  • [BUGFIX] Fixed TCA type bugs

Version 6.0.0 

  • [TASK] Add support for TYPO3 v13 LTS
  • [TASK] Removed old version support
  • [TASK] Replaced deprecated functions

Version 5.0.0 

  • [TASK] Add support for TYPO3 v12 LTS
  • [TASK] Removed old version support
  • [TASK] Updated Testing framework
  • [TASK] Replaced deprecated functions

Version 4.0.3 

  • [DOCU] Update route section
  • [DOCU] Missing space in Includes.rst.txt

Version 4.0.2 

  • [DOCU] Add documentation
  • [BUGFIX] Allow TYPO3 versions higher than 11.5.16

Version 4.0.1 

  • [BUGFIX] Use PostCheckFileReferenceEvent of pforum

Version 4.0.0 

  • Add TYPO3 11 compatibility
  • Remove TYPO3 9 compatibility