# configuration file for default testing environment

# Your application's name
appname: "Articulate"

# The default layout to use for your application (located in
# views/layouts/main.tt)
layout: "main"

# when the charset is set to UTF-8 Dancer will handle for you
# all the magic of encoding and decoding. You should not care
# about unicode within your app when this setting is set (recommended).
charset: "UTF-8"

template: "template_toolkit"
engines:
  template_toolkit:
    start_tag: '[%'
    end_tag:   '%]'


# the logger engine to use
# console: log messages to STDOUT (your console where you started the
#          application server)
# file:    log message to a file in log/
logger: "console"

# the log level for this environment
# core is the lowest, it shows Dancer's core log messages as well as yours
# (debug, info, warning and error)
log: "core"

# should Dancer consider warnings as critical errors?
warnings: 1

# should Dancer show a stacktrace when an error is caught?
show_errors: 1

# auto_reload is a development and experimental feature
# you should enable it by yourself if you want it
# Module::Refresh is needed
#
# Be aware it's unstable and may cause a memory leak.
# DO NOT EVER USE THIS FEATURE IN PRODUCTION
# OR TINY KITTENS SHALL DIE WITH LOTS OF SUFFERING
auto_reload: 0

content_location: t/content

session: "YAML"

plugins:
  Articulate:
    routes:
      - Articulate::Routes::Transparent
      - Articulate::Routes::TransparentForms
      - Articulate::Routes::TransparentPreviews
      - Articulate::Routes::Login
    components:
      construction:
        Articulate::Construction:
          constructors:
            - class: Articulate::Construction::LocationBased
              args:
                types:
                  article: Articulate::Item::Article
      navigation:
        Articulate::Navigation:
          locations:
            - zone/*
            - zone/*/article/*
            - user/*
            - []
      service:
        Articulate::Service:
          providers:
            - Articulate::Service::Error
            - Articulate::Service::Simple
            - Articulate::Service::SimpleForms
            - Articulate::Service::SimplePreviews
            - Articulate::Service::Login
      authentication:
        Articulate::Authentication:
          providers:
            - Articulate::Authentication::Internal
      authorisation:
        Articulate::Authorisation:
          rules:
            - Articulate::Authorisation::OwnerOverride
            - Articulate::Authorisation::AlwaysAllow
      augmentation: 'Articulate::Augmentation'
      enrichment:
        Articulate::Enrichment:
          enrichments:
            - Articulate::Enrichment::DateCreated
            - Articulate::Enrichment::DateUpdated
      storage:
        Articulate::Storage:
#          storage_class: Articulate::Storage::Local
          storage_class: Articulate::Storage::DBIC::Simple
      validation:
        Articulate::Validation:
          validators: []
      #      - Articulate::Validation::NoScript
      serialisation:
        Articulate::Serialisation:
          serialisers:
            - Articulate::Serialisation::StatusSetter
            - Articulate::Serialisation::TemplateToolkit
      caching:
        Articulate::Caching:
          providers:
            - Articulate::Caching::Native