Configuration
Introduction
The Streams Platform comes configured in such a way that you likely do not need to modify it in most cases.
Settings Module
Many of these configurations are bound to settings and can be controlled from the Control Panel.
Settings Module{.link}
Preferences Module
Some of these configurations are bound to user specific preferences as well and can also be controlled from the Control Panel.
Preferences Module{.link}
404
Redirect
Define the path/URL to redirect when displaying a 404 page. 404 errors will still be logged.
'redirect' => env('404_REDIRECT')
config(['streams::404.redirect' => $redirect]);
404_REDIRECT=/404
Addons
Types
The types configuration defines the addon types available to the system.
'types' => [
'field_type',
'extension',
'module',
'plugin',
'theme',
],
config(['streams::addons.types' => (array)$types]);
Paths
Specify additional addon paths to load. The path should be relative to your project's root directory.
'paths' => [
//vendor/anomaly/fancy-field_type'
],
config(['streams::addons.paths' => (array)$paths]);
Directories
Specify additional addon directories to scan. The directory should be relative to your project's root directory. Addons will need to be in sub-directories by vendor just as they normally would in core or addons/{application}.
'paths' => [
//app/addons'
],
config(['streams::addons.directories' => (array)$directories]);
Eager
Specify addons by path to load first. The path should be relative to your project's root directory.
'eager' => [
//'core/anomaly/redirects-module'
],
config(['streams::addons.eager' => (array)$paths]);
Deferred
Specify addons by path to load last. The path should be relative to your project's root directory.
'deferred' => [
//'core/anomaly/pages-module'
],
config(['streams::addons.deferred' => (array)$paths]);
Assets
Paths
Specify additional asset prefixes by hint. The path should be relative to your project's root directory or a URL.
'paths' => [
//'example' => 'some/local/path',
//'s3' => 'https://region.amazonaws.com/bucket'
],
config(['streams::assets.paths' => (array)$paths]);
Version
Specify whether to version asset paths or not. When enabled the last modified timestamp will be appended as a query string to asset paths like /app/default/assets/public/theme.js?v=1554498728.
'version' => env('VERSION_ASSETS', true),
config(['streams::assets.version' => false);
VERSION_ASSETS=false
Countries
Available
Specify the available countries for the application.
'available' => [
//
],
Submit Country Configuration{.link}
Common
Specify the common countries for the application. Common countries are often pushed to the top of lists to prevent excessive scrolling.
'common' => explode(',', env('COMMON_COUNTRIES', 'US')),
config(['streams::countries.common' => ['US', 'CA']);
COMMON_COUNTRIES=US,CA
Default
Specify the default country for the application.
'default' => env('DEFAULT_COUNTRY', 'US'),
config(['streams::countries.default' => 'CA');
DEFAULT_COUNTRY=CA
Currencies
Supported
Specify the supported currencies for the application.
'supported' => [
//
],
Submit Currency Configuration{.link}
Enabled
Specify the enabled currencies for the application.
'enabled' => explode(',', env('ENABLED_CURRENCIES', 'USD')),
config(['streams::currencies.enabled' => ['USD']);
COMMON_CURRENCIES=USD,CA
Default
Specify the default currency for the application.
'default' => env('DEFAULT_CURRENCY', 'USD'),
config(['streams::currencies.default' => 'USD');
DEFAULT_CURRENCY=USD
Database
Cache
Enable or disable the database cache system.
Database Query Caching{.link}
'cache' => env('DB_CACHE', false),
config(['streams::database.cache' => true);
DB_CACHE=true
TTL
Specify the default ttl for database cache. The default is 1 hour.
Database Query Caching{.link}
'ttl' => env('DB_TTL', 3600),
config(['streams::database.ttl' => 3600);
DB_TTL=3600
Datetime
Date Format
Specify the default date_format for the application.
PHP Date Format{.link}
'date_format' => env('DATE_FORMAT', 'm/d/Y'),
config(['streams::datetime.date_format' => 'm/d/Y');
DATE_FORMAT="m/d/Y"
Time Format
Specify the default time_format for the application.
PHP Date Format{.link}
'time_format' => env('TIME_FORMAT', 'g:i A'),
config(['streams::datetime.time_format' => 'g:i A');
TIME_FORMAT="g:i A"
Default Timezone
Specify the default_timezone for the application.
'default_timezone' => env('DEFAULT_TIMEZONE', date_default_timezone_get()),
config(['streams::datetime.default_timezone' => 'America/Chicago');
DEFAULT_TIMEZONE=America/Chicago
Database Timezone
Specify the database_timezone for the application's database.
'database_timezone' => env('DATABASE_TIMEZONE', date_default_timezone_get()),
config(['streams::datetime.database_timezone' => 'America/Chicago');
DATABASE_TIMEZONE=America/Chicago
Httpcache
Enabled
Specify if httpcache is enabled for the application.
'enabled' => env('HTTP_CACHE', false),
HTTP cache can not be enabled at runtime.{.warning}
TTL
Specify default ttl for httpcache. The default is 1 hr.
'ttl' => env('HTTP_CACHE_TTL', 3600),
HTTPCACHE_TTL=3600
Excluded
Specify excluded paths for httpcache.
'excluded' => explode(',', env('HTTP_CACHE_EXCLUDED', '')),
HTTP_CACHE_EXCLUDED=/contact,/json/stock-quote
Excluded
Specify excluded paths for httpcache.
'excluded' => explode(',', env('HTTP_CACHE_EXCLUDED', '')),
HTTP_CACHE_EXCLUDED=/contact,/json/stock-quote
Timeout Rules
Specify timeout rules per path for httpcache.
Format rules as {path} {ttl} each on it's own line.
'rules' => explode(',', env('HTTP_CACHE_RULES', '')),
HTTP_CACHE_RULES=/ 600,/posts 86400
Images
Quality
Specify the default quality of the image processor.
Displaying Images{.link}
'quality' => env('IMAGE_QUALITY', 80),
config(['streams::images.quality' => 80);
IMAGE_QUALITY=80
Paths
Specify additional image prefixes by hint. The path should be relative to your project's root directory or a URL.
'paths' => [
//'example' => 'some/local/path',
//'s3' => 'https://region.amazonaws.com/bucket'
],
config(['streams::images.paths' => (array)$paths]);
Macros
Define image macros by name.
Image Macros{.link}
'macros' => [
'mobile_optimized' => [
'resize' => [640],
'quality' => 60,
],
'tablet_optimized' => [
'resize' => [900],
'quality' => 75,
],
],
config(['streams::images.macros' => (array)$macros]);
Auto Alts
Specify whether you want to enable automatic alt tag generation.
'auto_alt' => env('IMAGE_ALTS', true),
config(['streams::images.auto_alt' => true]);
IMAGE_ALTS=true
Version
Specify whether to version image paths or not. When enabled the last modified timestamp will be appended as a query string to image paths like /app/default/assets/public/logo.png?v=1554498728.
'version' => env('VERSION_IMAGES', true),
config(['streams::images.version' => true);
VERSION_IMAGES=true
Interlace
Specify whether to automatically interlace JPG images.
'interlace' => env('IMAGE_INTERLACE', true),
config(['streams::images.interlace' => true);
IMAGE_INTERLACE=true
Locales
Hint
Define where to look for an i18n locale hint to determine desired localization. Valid options are true, false, domain or uri
Example: http://{locale}.domain.com/{locale}/{path}
| Value | Behavior |
|---|---|
true |
Allow for URI and sub-domain hints. |
false |
No hinting. Manual control only. |
domain |
Allow sub-domain hints only. |
domain |
Allow URI hints only. |
'hint' => env('LOCALE_HINTS', true),
config(['streams::locales.hint' => true);
LOCALE_HINTS=true
Enabled
Specify the enabled locales for the application.
'enabled' => explode(',', env('ENABLED_LOCALES', 'en')),
config(['streams::locales.enabled' => ['en', 'fr']);
ENABLED_LOCALES=en,fr
Default
Specify the default locale for the application.
By default this configuration accounts for default Laravel configuration as well.{.info}
'default' => env('DEFAULT_LOCALE', env('LOCALE', 'en')),
config(['streams::locales.default' => 'en');
DEFAULT_LOCALE=en
Supported
Specify the supported locales for the application.
'supported' => [
//
],
Submit Localizations{.link}
Maintenance
Enabled
Specify if maintenance mode is enabled or not.
Our maintenance mode is slightly different than Laravel's. The entire application is not brought down when enabled. Only the front-end.{.warning}
'enabled' => env('MAINTENANCE_MODE', false),
config(['streams::maintenance.enabled' => true);
MAINTENANCE_MODE=true
IP Whitelist
Specify the ip_whitelist for maintenance mode. These IPs will not be blocked when maintenance mode is enabled.
'ip_whitelist' => explode(',', env('IP_WHITELIST')),
config(['streams::maintenance.ip_whitelist' => (array)$ips);
IP_WHITELIST=::1,3604:2d80:803b:8259:102:25b5:ba68:b903
Auth
When enabled, a simple HTTP auth prompt will be presented to users on the front end when not logged in.
'auth' => env('MAINTENANCE_AUTH', false)
config(['streams::maintenance.auth' => false);
MAINTENANCE_AUTH=true
Security
CSRF Exclusions
Specify the URI paths to exclude from CSRF protection.
CSRF Protection{.link}
'csrf' => [
'except' => [
// /api/example
],
],
config(['streams::security.csrf.except' => (array)$paths);
System
Force SSL
Specify whether to force_ssl or not.
This can be helpful for enforcing SSL behind load balancers where it's harder to detect desired SSL state.{.tip}
'force_ssl' => env('FORCE_SSL', false),
config(['streams::system.force_ssl' => false);
FORCE_SSL=false
Domain
Specify the default domain for the application.
This is primarily used during CLI operations where a request is not present to determine appropriate URLs.{.tip}
'domain' => env('APPLICATION_DOMAIN', config('app.url', 'localhost')),
config(['streams::system.domain' => 'domain');
APPLICATION_DOMAIN=example.com
Domain Prefix
Specify the domain_prefix to enforce if any. Valid options are ignore, www, and non-www.
'domain_prefix' => env('DOMAIN_PREFIX', 'ignore'),
config(['streams::system.domain_prefix' => 'non-www');
DOMAIN_PREFIX=non-www
Per Page
Specify the default per_page value to use for pagination.
'per_page' => env('RESULTS_PER_PAGE', 15),
config(['streams::system.per_page' => 15);
RESULTS_PER_PAGE=15
Unit System
Specify the default unit_system to use for the application. Valid options are imperial or metric.
'unit_system' => env('UNIT_SYSTEM', 'imperial'),
config(['streams::system.unit_system' => 'imperial');
UNIT_SYSTEM=imperial
Lazy Translations
Specify whether to enable lazy_translations or not. Lazy translations will make the system try and guess labels and strings where it can instead of displaying raw translation keys where translation information is not available.
This can be helpful during development when fields are often changing.{.tip}
'lazy_translations' => env('LAZY_TRANSLATIONS', false),
config(['streams::system.lazy_translations' => true);
LAZY_TRANSLATIONS=false
Content Locking
Specify whether to enabled content locking or not. When locking_enabled is true then the system will prevent users from editing the same information at the same time.
'locking_enabled' => env('LOCKING_ENABLED', true),
config(['streams::system.locking_enabled' => true);
LOCKING_ENABLED=true
Content Versioning
Specify whether to enabled content versioning or not. When versioning_enabled is true then the system will automatically track changes to versionable models.
Versioning{.link}
'versioning_enabled' => env('VERSIONING_ENABLED', true),
config(['streams::system.versioning_enabled' => true);
LOCKING_ENABLED=true
Themes
Admin
Specify the default admin theme.
'admin' => env('ADMIN_THEME', 'anomaly.theme.anomaly'),
config(['streams::themes.admin' => 'anomaly.theme.anomaly');
ADMIN_THEME=anomaly.theme.anomaly
Standard
Specify the default standard (public facing) theme.
'standard' => env('STANDARD_THEME', 'anomaly.theme.starter'),
config(['streams::themes.standard' => 'anomaly.theme.starter');
STANDARD_THEME=anomaly.theme.starter