327 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			327 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. _glossary:
 | |
| 
 | |
| Glossary
 | |
| ========
 | |
| 
 | |
| .. glossary::
 | |
|    :sorted:
 | |
| 
 | |
|    ad hoc script
 | |
|      Python script (text) file used for ad-hoc automation etc.  See
 | |
|      also :doc:`narr/cli/scripts`.
 | |
| 
 | |
|    app
 | |
|      Depending on context, may refer to the software application
 | |
|      overall, or the :term:`app name`, or the :term:`app handler`.
 | |
| 
 | |
|    app database
 | |
|      The main :term:`database` used by the :term:`app`.  There is
 | |
|      normally just one database (for simple apps) which uses
 | |
|      PostgreSQL for the backend.  The app database contains the
 | |
|      :term:`settings table` as well as :term:`data models <data
 | |
|      model>`.
 | |
| 
 | |
|      For more info see :doc:`narr/db/app`.
 | |
| 
 | |
|    app dir
 | |
|      Folder containing app-specific config files, log files, etc.
 | |
|      Usually this is named ``app`` and is located at the root of the
 | |
|      virtual environment.
 | |
| 
 | |
|      Can be retrieved via
 | |
|      :meth:`~wuttjamaican.app.AppHandler.get_appdir()`.
 | |
| 
 | |
|    app enum
 | |
|       Python module whose namespace contains all the "enum" values
 | |
|       used by the :term:`app`.  Available on the :term:`app handler`
 | |
|       as :attr:`~wuttjamaican.app.AppHandler.enum`.
 | |
| 
 | |
|    app handler
 | |
|      Python object representing the core :term:`handler` for the
 | |
|      :term:`app`.  There is normally just one "global" app handler;
 | |
|      see also :doc:`narr/handlers/app`.
 | |
| 
 | |
|    app model
 | |
|       Python module whose namespace contains all the :term:`data
 | |
|       models<data model>` used by the :term:`app`.
 | |
| 
 | |
|    app name
 | |
|      This refers to the canonical name for the underlying app/config
 | |
|      system.  It does not refer to the overall app; contrast with
 | |
|      :term:`app title`.
 | |
| 
 | |
|      In most cases (i.e. by default) this will simply be ``wutta``.
 | |
|      This value affects the naming conventions for config files as
 | |
|      well as setting names etc.
 | |
| 
 | |
|      The primary reason for this abstraction is so that the Rattail
 | |
|      Project could leverage the Wutta config logic without having to
 | |
|      rewrite all config files in the wild.
 | |
| 
 | |
|      See also :attr:`~wuttjamaican.conf.WuttaConfig.appname`.
 | |
| 
 | |
|    app provider
 | |
|      A :term:`provider` which pertains to the :term:`app handler`.
 | |
|      See :doc:`narr/providers/app`.
 | |
| 
 | |
|    app title
 | |
|      Human-friendly name for the :term:`app` (e.g. "Wutta Poser").
 | |
| 
 | |
|      See also the :term:`app name` which serves a very different
 | |
|      purpose.
 | |
| 
 | |
|    auth handler
 | |
|       A :term:`handler` responsible for user authentication and
 | |
|       authorization (login, permissions) and related things.
 | |
| 
 | |
|       See also :class:`~wuttjamaican.auth.AuthHandler`.
 | |
| 
 | |
|    batch
 | |
|      This refers to a process whereby bulk data operations may be
 | |
|      performed, with preview and other tools to allow the user to
 | |
|      refine as needed before "executing" the batch.
 | |
| 
 | |
|      The term "batch" may refer to such a feature overall, or the
 | |
|      :term:`data model` used, or the specific data for a single batch,
 | |
|      etc.
 | |
| 
 | |
|      See also :term:`batch handler` and :term:`batch row`, and the
 | |
|      :class:`~wuttjamaican.db.model.batch.BatchMixin` base class.
 | |
| 
 | |
|    batch handler
 | |
|      This refers to a :term:`handler` meant to process a given type of
 | |
|      :term:`batch`.
 | |
| 
 | |
|      There may be multiple handlers registered for a given
 | |
|      :term:`batch type`, but (usually) only one will be configured for
 | |
|      use.
 | |
| 
 | |
|    batch row
 | |
|      A row of data within a :term:`batch`.
 | |
| 
 | |
|      May also refer to the :term:`data model` class used for such a row.
 | |
| 
 | |
|      See also the :class:`~wuttjamaican.db.model.batch.BatchRowMixin`
 | |
|      base class.
 | |
| 
 | |
|    batch type
 | |
|      This term is used to distinguish :term:`batches <batch>` according
 | |
|      to which underlying table is used to store their data, essentially.
 | |
| 
 | |
|      For instance a "pricing batch" would use one table, whereas an
 | |
|      "inventory batch" would use another.  And each "type" would be
 | |
|      managed by its own :term:`batch handler`.
 | |
| 
 | |
|      The batch type is set on the model class but is also available on
 | |
|      the handler:
 | |
| 
 | |
|      * :attr:`wuttjamaican.db.model.batch.BatchMixin.batch_type`
 | |
|      * :attr:`wuttjamaican.batch.BatchHandler.batch_type`
 | |
| 
 | |
|    command
 | |
|      A top-level command line interface for the app.  Note that
 | |
|      top-level commands don't usually "do" anything per se, and are
 | |
|      mostly a way to group :term:`subcommands<subcommand>`.  See also
 | |
|      :doc:`narr/cli/index`.
 | |
| 
 | |
|    config
 | |
|      Depending on context, may refer to any of: :term:`config file`,
 | |
|      :term:`config object`, :term:`config setting`.  See also
 | |
|      :doc:`narr/config/index`.
 | |
| 
 | |
|    config extension
 | |
|       A registered extension for the :term:`config object`.  What
 | |
|       happens is, a config object is created and then extended by each
 | |
|       of the registered config extensions.
 | |
| 
 | |
|       The intention is that all config extensions will have been
 | |
|       applied before the :term:`app handler` is created.
 | |
| 
 | |
|       See also :ref:`config-extensions`.
 | |
| 
 | |
|    config file
 | |
|      A file which contains :term:`config settings<config setting>`.
 | |
|      See also :doc:`narr/config/files`.
 | |
| 
 | |
|    config object
 | |
|      Python object representing the full set of :term:`config
 | |
|      settings<config setting>` for the :term:`app`.  Usually it gets
 | |
|      some of the settings from :term:`config files<config file>`, but
 | |
|      it may also get some from the :term:`settings table`.  See also
 | |
|      :doc:`narr/config/object`.
 | |
| 
 | |
|    config setting
 | |
|      The value of a setting as obtained from a :term:`config object`.
 | |
|      Depending on context, sometimes this refers specifically to
 | |
|      values obtained from the :term:`settings table` as opposed to
 | |
|      :term:`config file`.  See also :doc:`narr/config/settings`.
 | |
| 
 | |
|    data model
 | |
|      Usually, a Python class which maps to a :term:`database` table.
 | |
| 
 | |
|      The :term:`app` (assuming it has an :term:`app database`) will
 | |
|      have an "official" set of data models, represented as the
 | |
|      :term:`app model`.
 | |
| 
 | |
|    database
 | |
|      Generally refers to a relational database which may be queried
 | |
|      using SQL.  More specifically, one supported by `SQLAlchemy`_.
 | |
| 
 | |
|      .. _SQLAlchemy: https://www.sqlalchemy.org
 | |
| 
 | |
|      Most :term:`apps<app>` will have at least one :term:`app
 | |
|      database`.  See also :doc:`narr/db/index`.
 | |
| 
 | |
|    db handler
 | |
|      The :term:`handler` responsible for various operations involving
 | |
|      the :term:`app database` (and possibly other :term:`databases
 | |
|      <database>`).
 | |
| 
 | |
|      See also the :class:`~wuttjamaican.db.handler.DatabaseHandler`
 | |
|      base class.
 | |
| 
 | |
|    db session
 | |
|      The "session" is a SQLAlchemy abstraction for an open database
 | |
|      connection, essentially.
 | |
| 
 | |
|      For the :term:`app database`, the class used is
 | |
|      :class:`~wuttjamaican.db.sess.Session`; other databases may use
 | |
|      different classes.
 | |
| 
 | |
|    email handler
 | |
|       The :term:`handler` responsible for sending email on behalf of
 | |
|       the :term:`app`.
 | |
| 
 | |
|       Default is :class:`~wuttjamaican.email.EmailHandler`.
 | |
| 
 | |
|    email key
 | |
|      String idenfier for a certain :term:`email type`.  Each email key
 | |
|      must be unique across the app, so the correct template files and
 | |
|      other settings are used when sending etc.
 | |
| 
 | |
|    email module
 | |
|      This refers to a Python module which contains :term:`email
 | |
|      setting` definitions.
 | |
| 
 | |
|    email setting
 | |
|      This refers to the settings for a particular :term:`email type`,
 | |
|      i.e. its sender and recipients, subject etc.  So each email type
 | |
|      has a "collection" of settings, and that collection is referred
 | |
|      to simply as an "email setting" in the singular.
 | |
| 
 | |
|    email template
 | |
|       Usually this refers to the HTML or TXT template file, used to
 | |
|       render the message body when sending an email.
 | |
| 
 | |
|    email type
 | |
|      The :term:`app` is capable of sending many types of emails,
 | |
|      e.g. daily reports, alerts of various kinds etc.  Each "type" of
 | |
|      email then will have its own template(s) and sender/recipient
 | |
|      settings etc.  See also :term:`email key`.
 | |
| 
 | |
|    entry point
 | |
|      This refers to a "setuptools-style" entry point specifically,
 | |
|      which is a mechanism used to register "plugins" and the like.
 | |
|      This lets the app / config discover features dynamically.  Most
 | |
|      notably used to register :term:`commands<command>` and
 | |
|      :term:`subcommands<subcommand>`.
 | |
| 
 | |
|      For more info see the `Python Packaging User Guide`_.
 | |
| 
 | |
|      .. _Python Packaging User Guide: https://packaging.python.org/en/latest/specifications/entry-points/
 | |
| 
 | |
|    handler
 | |
|      Similar to a "plugin" concept but only *one* handler may be used
 | |
|      for a given purpose.  See also :doc:`narr/handlers/index`.
 | |
| 
 | |
|    install handler
 | |
|       The :term:`handler` responsible for installing a new instance of
 | |
|       the :term:`app`.
 | |
| 
 | |
|       Default is :class:`~wuttjamaican.install.InstallHandler`.
 | |
| 
 | |
|    package
 | |
|      Generally refers to a proper Python package, i.e. a collection of
 | |
|      modules etc. which is installed via ``pip``.  See also
 | |
|      :doc:`narr/install/pkg`.
 | |
| 
 | |
|    problem check
 | |
|       This refers to a special "report" which runs (usually) on a
 | |
|       nighty basis.  Such a report is only looking for "problems"
 | |
|       and if any are found, an email notification is sent.
 | |
| 
 | |
|       Apps can define custom problem checks (based on
 | |
|       :class:`~wuttjamaican.problems.ProblemCheck`), which can then be
 | |
|       ran via the :term:`problem handler`.
 | |
| 
 | |
|    problem handler
 | |
|       The :term:`handler` responsible for finding and reporting on
 | |
|       "problems" with the data or system.  Most typically this runs
 | |
|       nightly :term:`checks <problem check>` and will send email if
 | |
|       problems are found.
 | |
| 
 | |
|       Default handler is
 | |
|       :class:`~wuttjamaican.problems.ProblemHandler`.
 | |
| 
 | |
|    provider
 | |
|      Python object which "provides" extra functionality to some
 | |
|      portion of the :term:`app`.  Similar to a "plugin" concept; see
 | |
|      :doc:`narr/providers/index`.
 | |
| 
 | |
|    report
 | |
|      The concept of a report is intentionally vague, in the context of
 | |
|      WuttJamaican.  Basically it is something which can be "ran"
 | |
|      (usually with :term:`report params`) to generate a data set.  The
 | |
|      output can be viewed in the app UI, or it can be saved to file.
 | |
| 
 | |
|      The base class is :class:`~wuttjamaican.reports.Report`.  See
 | |
|      also :term:`report handler`.
 | |
| 
 | |
|    report handler
 | |
|      The :term:`handler` responsible for running :term:`reports
 | |
|      <report>`, for display in app UI or saved to file etc.
 | |
| 
 | |
|      Base class is :class:`~wuttjamaican.reports.ReportHandler`.
 | |
| 
 | |
|    report key
 | |
|      Unique key which identifies a particular :term:`report`.
 | |
| 
 | |
|    report module
 | |
|      This refers to a Python module which contains :term:`report`
 | |
|      definitions.
 | |
| 
 | |
|    report params
 | |
|      This refers to the input parameters used when running a
 | |
|      :term:`report`.  It is usually a simple mapping of key/value
 | |
|      pairs.
 | |
| 
 | |
|    settings table
 | |
|      Table in the :term:`app database` which is used to store
 | |
|      :term:`config settings<config setting>`.  See also
 | |
|      :doc:`narr/config/table`.
 | |
| 
 | |
|    spec
 | |
|      As the term is used in Wutta Project context, this refers to a
 | |
|      string designating the import path to a particular object (class,
 | |
|      function etc.).
 | |
| 
 | |
|      Also the term implies a certain format, namely a dotted module
 | |
|      path followed by colon (``:``), then object name.
 | |
| 
 | |
|      For instance, ``wuttjamaican.app:AppHandler`` is the spec string
 | |
|      for the :class:`wuttjamaican.app.AppHandler` class (and note, the
 | |
|      hyperlink does not use colon, but our "spec" always does).
 | |
| 
 | |
|      See also :meth:`~wuttjamaican.app.AppHandler.load_object()` (on
 | |
|      the :term:`app handler`) which can return any object from spec.
 | |
| 
 | |
|    subcommand
 | |
|      A top-level :term:`command` may expose one or more subcommands,
 | |
|      for the overall command line interface.  Subcommands are usually
 | |
|      the real workhorse; each can perform a different function with a
 | |
|      custom arg set.  See also :doc:`narr/cli/index`.
 | |
| 
 | |
|    virtual environment
 | |
|      This term comes from the broader Python world and refers to an
 | |
|      isolated way to install :term:`packages<package>`.  See also
 | |
|      :doc:`narr/install/venv`.
 | 
