Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Cms Install Laravel Package

typo3/cms-install

TYPO3 CMS Install tool and installation framework package. Provides the installer, upgrade wizards, environment checks, and setup utilities used to bootstrap and maintain a TYPO3 instance, including configuration, database setup, and system status diagnostics.

View on GitHub
Deep Wiki
Context7

Getting Started

Minimal Steps

  1. Locate the Install Tool Access via /typo3/install.php in your TYPO3 CMS project. No additional installation required—it’s bundled with TYPO3.

  2. First Use Case: Initial Setup

    • Navigate to /typo3/install.php in a browser.
    • Follow the guided workflow: database configuration, admin credentials, and basic system setup.
    • For Laravel-like workflows, use the CLI mode (if available) or automate via TYPO3’s typo3/sysext/install API.
  3. Where to Look First

    • Documentation: TYPO3 Install Tool Manual.
    • Source Code: Focus on typo3/sysext/install/Classes/ for core logic (e.g., InstallController, DatabaseAnalyzer).
    • CLI Integration: Use vendor/bin/typo3 install:analyze for automated checks (if extended).

Implementation Patterns

Workflows

  1. Automated Setup (Laravel-like)

    • Use TYPO3’s InstallService to programmatically trigger tasks:
      $installService = GeneralUtility::makeInstance(InstallService::class);
      $installService->analyzeDatabase(); // Example: Run DB checks
      
    • Hooks: Extend via ext_localconf.php:
      $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['install']['analyzeDatabase']['yourExtension'] =
          \Vendor\YourExtension\Install\Analyzer::class;
      
  2. Upgrade Paths

    • Leverage UpgradeWizard classes (e.g., typo3/sysext/install/Classes/UpgradeWizard/).
    • Example: Create a custom wizard:
      class CustomUpgradeWizard extends AbstractUpgradeWizard {
          public function execute() {
              // Migration logic here
              return ['success' => true];
          }
      }
      
  3. System Administration

    • Use the Install Tool API for runtime checks:
      $installTool = GeneralUtility::makeInstance(InstallTool::class);
      $installTool->checkDatabase(); // Returns array of issues
      

Integration Tips

  • Laravel Compatibility:

    • Treat TYPO3’s Install Tool as a service layer. Call it from Laravel via:
      $typo3Install = new \TYPO3\CMS\Install\Service\InstallService();
      $result = $typo3Install->analyzeSystem();
      
    • Use Symfony’s Process Component to run CLI commands (e.g., typo3 install:analyze).
  • Configuration Management:

    • Store Install Tool settings in LocalConfiguration.php (auto-generated by the tool).
    • Override defaults via AdditionalConfiguration.php:
      $GLOBALS['TYPO3_CONF_VARS']['BE']['installToolPassword'] = 'secure_hash';
      

Gotchas and Tips

Pitfalls

  1. Password Hashing

    • The Install Tool password is hashed in LocalConfiguration.php. Use:
      $hashedPassword = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
          \TYPO3\CMS\Core\Crypto\PasswordHashing\PasswordHashFactory::class
      )->getDefaultHashInstance()->getHash('plaintext');
      
  2. Database Locks

    • Avoid running analyzeDatabase() during high-traffic periods—it locks tables.
  3. Extension Conflicts

    • Custom analyzers/wizards may clash with core TYPO3 versions. Test in a staging environment first.

Debugging

  • Enable Debug Mode:
    $GLOBALS['TYPO3_CONF_VARS']['LOG']['TYPO3.CMS.Install']['writerConfiguration'] = [
        \TYPO3\CMS\Core\Log\LogLevel::DEBUG => [
            \TYPO3\CMS\Core\Log\Writer\FileWriter::class => ['logFile' => 'typo3temp/var/log/install_debug.log']
        ]
    ];
    
  • Log Analysis: Check typo3temp/var/log/install_tool.log for errors during automated runs.

Extension Points

  1. Custom Analyzers

    • Extend DatabaseAnalyzer or SystemAnalyzer for domain-specific checks:
      class CustomAnalyzer implements \TYPO3\CMS\Install\Analyzer\AnalyzerInterface {
          public function analyze() {
              return ['custom_check' => $this->checkSomething()];
          }
      }
      
  2. Post-Install Hooks

    • Use TYPO3_CONF_VARS['SC_OPTIONS']['install']['postProcessing'] to run logic after setup:
      $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['install']['postProcessing']['yourExtension'] =
          \Vendor\YourExtension\Install\PostProcessor::class;
      
  3. CLI Automation

    • Wrap Install Tool commands in Laravel Artisan commands:
      // app/Console/Commands/RunTypo3Install.php
      public function handle() {
          $process = new \Symfony\Component\Process\Process(['typo3', 'install:analyze']);
          $process->run();
          $this->info($process->getOutput());
      }
      
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor