.. include:: /Includes.rst.txt .. _configuration: ============= Configuration ============= DashBash works out-of-the-box with sensible defaults, but offers several configuration options for advanced usage. Extension Configuration ======================= Basic Configuration ------------------- The extension can be configured through the TYPO3 Extension Configuration interface: 1. Go to **Admin Tools** > **Settings** > **Extension Configuration** 2. Find "dashbash" in the list 3. Click the configure icon Available Settings ------------------ .. confval:: enableTsConfigFiltering :name: enableTsConfigFiltering :type: boolean :default: false Enables advanced TSConfig filtering functionality in the CTypes Widget. When enabled, you can: * Filter content elements by page-specific TSConfig rules * Enable/disable content element types directly from the dashboard * View different TSConfig configurations across your page tree **Example configuration:** .. code-block:: php $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['dashbash']['enableTsConfigFiltering'] = 1; Programmatic Configuration -------------------------- You can also configure the extension programmatically in your site's configuration files: **In LocalConfiguration.php or AdditionalConfiguration.php:** .. code-block:: php \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::class, 'backend' => \TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend::class, 'options' => [ 'defaultLifetime' => 365 * 24 * 3600, // 1 year 'compression' => false ] ]; Cache Management ---------------- **Clear Sudoku Cache:** .. code-block:: bash # Clear specific cache vendor/bin/typo3 cache:flush --group=dashbash # Or via backend: Admin Tools > Maintenance > Flush TYPO3 and PHP Cache **Reset Individual Game:** Users can reset their Sudoku game using the "NEW" button in the widget. Development Configuration ========================= Debug and Logging ------------------ For development environments, DashBash provides enhanced logging: **Automatic Development Setup:** In ``Development/ddev`` context, logging is automatically configured: .. code-block:: php // Automatic in Development/ddev context $GLOBALS['TYPO3_CONF_VARS']['LOG']['MRG']['Dashbash']['Widgets']['writerConfiguration'] = [ \TYPO3\CMS\Core\Log\LogLevel::DEBUG => [ \TYPO3\CMS\Core\Log\Writer\FileWriter::class => [ 'logFile' => Environment::getPublicPath() . '/fileadmin/logs/dashbash.txt', ], ], ]; **Manual Development Logging:** .. code-block:: php isDevelopment()) { $GLOBALS['TYPO3_CONF_VARS']['LOG']['MRG']['Dashbash']['Widgets']['writerConfiguration'] = [ \TYPO3\CMS\Core\Log\LogLevel::DEBUG => [ \TYPO3\CMS\Core\Log\Writer\FileWriter::class => [ 'logFile' => 'path/to/your/dashbash-debug.log', ], ], ]; } Performance Optimization ------------------------ **Database Query Optimization:** The extension automatically optimizes database queries, but you can monitor performance: .. code-block:: sql -- Monitor tt_content queries in slow query log -- Look for queries with 'dashbash' context comments **Memory Usage:** For sites with large amounts of content, consider: * Implementing pagination in CTypes Widget * Adjusting PHP memory limits if needed * Using database query optimization Security Configuration ====================== AJAX Route Security ------------------- All AJAX routes are automatically secured with TYPO3's built-in CSRF protection: * ``dashbash_sudoku_update``: Sudoku game state updates * ``dashbash_sudoku_reset``: Game reset functionality * ``dashbash_ctype_csv_export``: CSV export functionality * ``dashbash_toggle_ctype``: TSConfig content element toggling * ``dashbash_session_data``: Session data management Backend User Permissions ------------------------- DashBash respects TYPO3's backend user permissions: * **Dashboard Access**: Users need dashboard module access * **TSConfig Management**: Requires appropriate page permissions * **CSV Export**: Respects content access permissions Multi-Language Configuration ============================ Language Support ----------------- DashBash automatically detects and supports all configured site languages: 1. **Site Configuration**: Languages are read from your site configuration 2. **Flag Display**: Language flags are automatically displayed if configured 3. **Content Analysis**: Statistics are calculated per language **Example site configuration:** .. code-block:: yaml # config/sites/mysite/config.yaml languages: - title: English enabled: true languageId: 0 base: / locale: en_US.UTF-8 flag: us - title: Deutsch enabled: true languageId: 1 base: /de/ locale: de_DE.UTF-8 flag: de Translation Management ---------------------- The extension supports TYPO3's translation workflow: * **Backend Labels**: All interface elements are translatable * **Multi-language Content**: Analyzes content in all configured languages * **Export Localization**: CSV exports include language-specific data Advanced Configuration Examples =============================== Complete Configuration Example ------------------------------- .. code-block:: php isDevelopment()) { $GLOBALS['TYPO3_CONF_VARS']['LOG']['MRG']['Dashbash']['Widgets']['writerConfiguration'] = [ \TYPO3\CMS\Core\Log\LogLevel::DEBUG => [ \TYPO3\CMS\Core\Log\Writer\FileWriter::class => [ 'logFile' => \TYPO3\CMS\Core\Core\Environment::getPublicPath() . '/fileadmin/logs/dashbash.txt', ], ], ]; } // Custom cache configuration (optional - defaults are usually sufficient) $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['dashbash_sudoku']['options']['defaultLifetime'] = 7 * 24 * 3600; // 1 week Site Package Integration ------------------------ For site packages, you can include DashBash configuration: .. code-block:: php ` * :ref:`Explore advanced features ` * :ref:`Review troubleshooting guide `