Workflow::Persister::DBI::ExtraData(3) man page

Man Page or Keyword Search Man Apropos

man page | Documentation Library | Writing UNIX manpages
Workflow::Persister::DBI::ExtraData(3)     User Contributed Perl Documentation

NAME
       Workflow::Persister::DBI::ExtraData - Fetch extra data with each
       workflow and put it into the context

VERSION
       This documentation describes version 1.05 of this package

SYNOPSIS
        <persister name="MyPersister"
                   class="Workflow::Persister::DBI::ExtraData"
                   dsn="DBI:mysql:database=workflows"
                   user="wf"
                   password="mypass"
                   extra_table="workflow_ticket"
                   extra_data_field="ticket_id"
                   extra_context_key="ticket_id"/>

DESCRIPTION
   Overview
       Simple subclass of Workflow::Persister::DBI to allow you to declare an
       extra table and data field(s) from which to fetch data whenever you
       fetch a workflow. There is a simple restriction: the table must have a
       field 'workflow_id' of the same datatype as the 'workflow_id' field in
       the 'workflow' table.

   Examples
        # Specify a single field 'ticket_id' from the table 'workflow_ticket'
        # and store it in the context using the same key:

        <persister
            ...
            extra_table="workflow_ticket"
            extra_data_field="ticket_id"
            ...

        # How you would use this:
        my $wf = FACTORY->fetch_workflow( 'Ticket', 55 );
        print "Workflow is associated with ticket: ",
              $wf->context->param( 'ticket_id' );

        # Specify a single field 'ticket_id' from the table 'workflow_ticket'
        # and store it in the context using a different key

        <persister
            ...
            extra_table="workflow_ticket"
            extra_data_field="ticket_id"
            extra_context_key="THE_TICKET_ID"
            ...

        # How you would use this:
        my $wf = FACTORY->fetch_workflow( 'Ticket', 55 );
        print "Workflow is associated with ticket: ",
              $wf->context->param( 'THE_TICKET_ID' );

        # Specify multiple fields ('ticket_id', 'last_viewer',
        # 'last_view_date') to pull from the 'workflow_ticket' table:

        <persister
            ...
            extra_table="workflow_ticket"
            extra_data_field="ticket_id,last_viewer,last_view_date"
            ...

        # How you would use this:
        my $wf = FACTORY->fetch_workflow( 'Ticket', 55 );
        print "Workflow is associated with ticket: ",
              $wf->context->param( 'ticket_id' ), " ",
              "which was last viewed by ",
              $wf->context->param( 'last_viewer' ), " on ",
              $wf->context->param( 'last_view_date' );

   Configuration
       extra_table (required)

       Table where the extra data are kept.

       extra_data_field (required)

       Can be a single field or a comma-separated list of fields, all in the
       same table. If a single field specified you have the option of
       declaring a different "extra_context_key" under which the value should
       be stored in the workflow context. Otherwise the values are stored by
       the field names in the workflow context.

       extra_context_key (optional)

       Key under which to save the data from "extra_data_field" in the
       workflow context.

       Note: this is ignored when you specify multiple fields in
       "extra_data_field"; we just use the fieldnames for the context keys in
       that case. And if you specify a single data field and do not specify a
       context key we also use the data field name.

   METHODS
       init ( \%params )

       Initializes persister for extra workflow data.

       Throws Workflow::Exception if initialization is not successful.

       fetch_extra_workflow_data ( $wf )

       Fetches extra data from database and feeds this to context of given
       workflow.

       Takes a single parameter, a workflow object to which extra data are
       feed if retrieved successfully.

       Throws Workflow::Exception if retrieval is not successful.

COPYRIGHT
       Copyright (c) 2003-2007 Chris Winters. All rights reserved.

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

AUTHORS
       Jonas B. Nielsen (jonasbn) <jonasbn@cpan.org> is the current
       maintainer.

       Chris Winters <chris@cwinters.com>, original author.

perl v5.24.1                      2017-07-02
                                        Workflow::Persister::DBI::ExtraData(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | COPYRIGHT | AUTHORS

permalink to the Workflow::Persister::DBI::ExtraData command: https://manpage.me/?Workflow::Persister::DBI::ExtraData
link by Name, Section, and OS version of this man page: /?q=Workflow::Persister::DBI::ExtraData&sektion=3&manpath=FreeBSD+11.1-RELEASE+and+Ports

man pages | documentation library | Writing UNIX manpages
Privacy PolicyCookie Policymanpages@manpage.me — 2025-10-6