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