Settings and System Tools

The configuration screens every site has, and the maintenance tools behind System, Languages, Updates and Patches.

In the user guide: the Application Settings, Localization and Updates chapters.

How settings screens work

Every screen under Settings is a section registered in code (no database table defines a screen). A section has one or more pages (the tabs) and each page has fields. The generic view resources/themes/admin/settings/index.blade.php renders any section; Admin\SettingsController validates the section's combined rules and writes each field to the backend named by the field's group:

Field groupStored inRead withSide effect
settings (default)settings tablesetting('key')Response cache flushed
env.env (key given by map), mirrored in settingssetting('name') or config()Runs dotartisan:optimize after save
uploadsFile saved under uploads/; path in settingssetting('name')Optional delete checkbox
themetheme_options setting for the active themetheme_option('key')Recompiles theme CSS when CSS-relevant options changed
staticNothing — headings, alerts, buttons——

Building your own screen is covered in Settings screens.

Core sections

Registered per admin request by App\Helpers\Admin\RegisterSettings; priorities shown in parentheses control the sidebar order.

Section id (/admin/settings/{id})TabsNotes
general (10)General, Login, Users, reCAPTCHA, GDPR, QueueApp name/URL/timezone/date formats (env group), logos and favicon (uploads), Facebook/Google OAuth credentials, activation and default role, cookie consent, queue connection
mail (20)MailDriver (sendmail, SMTP, log, failover), from name/address, SMTP host/port/encryption/credentials — all stored in .env
integration (30)Custom CSS / codeHeader and footer code injected by the layouts (enable_header_code, enable_footer_code)
webmaster (50)WebmasterSearch-engine verification codes, Google Analytics / Tag Manager id
cache (60)CacheCache driver (file, Redis, Memcached), response-cache switch, header and lifetime options, "clear cache" buttons
uploading (70)UploadingDisk selection (local, public, S3, Wasabi) with live connection validation (ValidateS3Connection)
advanced (80)AdvancedDebug mode (APP_DEBUG), ad-block detection
announcements (90)Guests, UsersSite-wide announcement banners, shown according to cookies
maintenance (100)MaintenanceCalls php artisan down --secret=… / up; shows the bypass URL
page-setup (100)One tab per module groupGenerated from the AppPages registry: pick which CMS page acts as Homepage, Blog, Contact, Shop, Cart…
theme-options (80, under Appearance)Generated from theme.jsonSee Appearance
booking, trucommerce, trupayments, stripe-settings, …Module-definedRegistered by each module on AdminBooting

CDN

The CDN settings section is intentionally disabled in RegisterSettings (the underlying package does not support Laravel 13). The admin.system.cdn-push route still exists.

System tools

All gated by application operations (routes/admin.php, Admin\SystemController):

Route nameAction
admin.system.optimizeRuns the safe optimise (dotartisan:optimize)
admin.system.storage(Re)creates the storage link
admin.system.cache, .view, .routeClear application / compiled view / route caches (the response cache is emptied together with cache:clear through a cache:cleared listener)
admin.sitemap.generateCrawls the site with SitemapGenerator and adds published pages, posts, active categories and tags (their Sitemapable tags, one per locale) plus the contact page, writing public/sitemap.xml. Plugin models are not added automatically
admin.system.clean-tempDeletes stale temporary uploads
admin.system.update, .update.runUpdate page and runner (see below)
admin.system.patches, .patches.applyList and apply hot-fix patches
admin.system.language.default, .statusMake a language default; enable or disable it
admin.system.register-itemRegisters the installation's purchase code with the vendor API

Languages and translations

See Localization for the developer workflow.

Updates and patches

App\Services\UpdatesManager talks to the vendor API: check sets update_available; update downloads and extracts the package over the installation, includes resources/cleanup.php if present, then runs the update pipeline: optimize:clear + dotartisan:optimize, migrate --force, Theme::rebuildCache(), writes the new version to .env and settings, and clears the alert. Patches are smaller zips applied per id. The installer package defines hook points (InstallerUpdateService::beforeMigrate(), afterRunUpdate()…) that a distribution can fill in. See Deploy and update.