++ed by:

1 PAUSE user
2 non-PAUSE users.

Ricardo SIGNES 😄


Rubric::Config - the configuration data for a Rubric


version 0.155


Rubric::Config provides access to the configuration data for a Rubric. The basic implementation stores its configuration in YAML in a text file in the current working directory. By default, Rubric::Config looks for rubric.yml, but an alternate filename may be passed when using the module:

 use Rubric::Config ".rubric_yml";


These configuration settings can all be retrieved by methods of the same name.

  • dsn

    the DSN to be used by Rubric::DBI to connect to the Rubric's database

  • db_user

    the username to be used by Rubric::DBI to connect to the Rubric's database

  • db_pass

    the password to be used by Rubric::DBI to connect to the Rubric's database

  • dbi_trace_level

    level of debug output for DBI

  • dbi_trace_file

    Where to send DBI debug output if dbi_trace_level

  • session_cipher_key

    The key to use to encrypt sessions, which are stored in user cookies. This must be set.

  • uri_root

    the absolute URI for the root of the Rubric::WebApp install

  • css_href

    the absolute URI for the stylesheet to be used by Rubric::WebApp pages

  • basename

    This is the text to display as the name of this Rubric instance. It defaults to "Rubric".

  • template_path

    the INCLUDE_PATH passed to Template when creating the template renderers

  • email_from

    the email address from which Rubric will send email

  • smtp_server

    the SMTP server used to send email

  • entries_query_class

    This is the class used to process the entries run method. It defaults to Rubric::WebApp::Entries.

  • login_class

    This is the class used to check for logins; it should subclass Rubric::WebApp::Login. If not supplied, the default is Rubric::WebApp::Login::Post.

  • skip_newuser_verification

    If true, users will be created without verification codes, and won't get verification emails.

  • registration_closed

    true if registration new users can't register for accounts via the web

  • private_system

    true value if users must have an account to view entries

  • private_tag

    A tag which, if attached to an entry, makes it private. The default value is @private, and I strongly advise against changing it, since I may change the way these "system tags" work in the future.

  • markup_formatter

    This entry, if given, should be a mapping of markup names to formatter plugins. For example:

        kwid: Rubric::Entry::Formatter::Kwid
        tex:  Rubric::Entry::Formatter::TeX

    (No. Neither of those exist.)

    If it is not specified in the config file, an entry for _default is set to the built-in, extremely simple entry formatter.

  • one_entry_per_link

    if true, each user can have only one entry per link (default: true)

  • allowed_schemes

    If undef, all URI schemes are allowed in entries. If it's an array reference, it's the list of allowed schemes.

  • display_localtime

    If true, the local time (of the server) will be displayed for entry create/modify times. Otherwise, all times will be UTC. (This option is probably temporary, until per-user timezones are implemented.)

  • default_page_size

    The number of entries that are displayed on a page of entries, by default.

  • max_page_size

    The maximum number of entries that will be displayed on a page of entries. If more are requested, this many will be displayed.


These methods are used by the setting accessors, internally:


This method returns the config data, if loaded. If it hasn't already been loaded, it finds and parses the configuration file, then returns the data.


This method returns the default configuration has a hashref.


Rubric::Config isa Class::Accessor, and uses this sub to build its setting accessors. For a given field, it returns the value of that field in the configuration, if it exists. Otherwise, it returns the default for that field.


Ricardo SIGNES <rjbs@cpan.org>


This software is copyright (c) 2004 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.