Installation
Install with Composer
composer require vkemeter/opinion
Install from the TER
Without Composer, install the extension from the TYPO3 Extension Repository in Admin Tools > Extensions. Activating it creates the table and the screenshot storage, the next section is not needed then.
Warning
Without Composer, the TYPO3 var/ directory is typo3temp/
inside the web root, and the screenshots are stored in
typo3temp/. The .htaccess shipped with TYPO3 denies
access to typo3temp/ on Apache; on other web servers such as
nginx, deny it in the server configuration.
Set up the extension
vendor/bin/typo3 extension:setup
This creates
- the table
tx_for the feedback records,opinion_ feedback - the file storage "Opinion screenshots" with the base path
var/.opinion/
Afterwards configure at least the email recipients, see Extension configuration.
Screenshot storage
Screenshots are stored in a local, non-public file storage below
var/ in the project root, outside the web root. The storage is
configured relative to the public path (../), so it stays valid
when a deployment switches the release directory. As the path is inside the
project root, no entry in $GLOBALS
is needed.
Deployment
var/ must survive deployments. Configure it as a shared and
writable directory of your deployment tool, for example with Deployer:
add('shared_dirs', ['var/opinion']);
add('writable_dirs', ['var/opinion']);
Frontend: enable the admin panel
The frontend entry point lives in the admin panel, which has to be shown for the user:
-
The site set Opinion: editor feedback (
vkemeter/) setsopinion config.. Add it to the site, in the site configuration or inadm Panel = 1 config/:sites/<site>/ config. yaml config/sites/<site>/config.yamldependencies: - vkemeter/opinionCopied!The site setting Show the admin panel (
opinion., default on) switches it off again for a single site. Without the set, addadmin Panel. enable config.to the TypoScript of the site yourself.adm Panel = 1 -
User TSconfig with at least one enabled admin panel module. Administrators get
admfrom the core, other users need for example:Panel. enable. all = 1 admPanel.enable.opinion = 1Copied!Site sets cannot provide user TSconfig, so this and options.opinion.enable stay in the user or group records.