Bric::Biz::Workflow - Controls the progress of an asset through a series of desks.
$Revision: 1.7.2.1 $
$Date: 2002/02/12 16:52:04 $
my $flow = new Bric::Biz::Workflow($param);
$id = $flow->get_id;
$name = $flow->get_name;
$flow = $flow->set_name($name);
$desc = $flow->get_description;
$flow = $flow->set_description($desc);
$flow = $flow->add_desk($param);
# Returns a list of allowed desks.
@desks = $flow->allowed_desks();
# Lists the required desks
@desks = $flow->required_desks();
# Returns true if the asset object has been through all required desks.
$bool = $flow->required_satisfied($asset_obj);
A workflow is something that guides an asset through a set of desks, where an asset is any kind of creative content (a story, an image, a sound file, etc) and a desk performs and kind of validation or transformation upon an asset needed before it can be published. Example desks might be a 'legal' desk where users can verify any legal issue for a particular asset, or an 'edit' desk where users can check consistancy and presentation for an asset.
A workflow might be as simple as a linear path through a set of desks or as complex as requiring certain desks be visited with other desks optional and a route through the desks that can be arbitrarily complex.
Keys for $param are:
name
The name for this workflow
description
A description for this workflow
start_desk
The starting desk for this workflow
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Takes a workflow ID and returns a workflow object.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Return a list of all known workflow types. Keys of $param are:
name
Return all workflows matching a certain name
description
Return all workflows with a matching description.
active
Boolean; Return all in/active workflows
All searches except 'active' are done using the LIKE operator, so '%' can be used for substring searching.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Return a list of IDs for all known workflow types.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Dummy method to prevent wasting time trying to AUTOLOAD DESTROY.
Returns an anonymous hash of instrospection data for this object. If called with a true argument, it will return an ordered list or anonymous array of intrspection data. The format for each introspection item introspection is as follows:
Each hash key is the name of a property or attribute of the object. The value for a hash key is another anonymous hash containing the following keys:
name - The name of the property or attribute. Is the same as the hash key when an anonymous hash is returned.
disp - The display name of the property or attribute.
get_meth - A reference to the method that will retrieve the value of the property or attribute.
get_args - An anonymous array of arguments to pass to a call to get_meth in order to retrieve the value of the property or attribute.
set_meth - A reference to the method that will set the value of the property or attribute.
set_args - An anonymous array of arguments to pass to a call to set_meth in order to set the value of the property or attribute.
type - The type of value the property or attribute contains. There are only three types:
len - If the value is a 'short' value, this hash key contains the length of the field.
search - The property is searchable via the list() and list_ids() methods.
req - The property or attribute is required.
props - An anonymous hash of properties used to display the property or attribute. Possible keys include:
type - The display field type. Possible values are
text
textarea
password
hidden
radio
checkbox
select
length - The Length, in letters, to display a text or password field.
maxlength - The maximum length of the property or value - usually defined by the SQL DDL.
rows - The number of rows to format in a textarea field.
cols - The number of columns to format in a textarea field.
vals - An anonymous hash of key/value pairs reprsenting the values and display names to use in a select list.
Throws: NONE.
Side Effects: NONE.
Notes: NONE.
Add a desk to this workflow. Keys to param are:
allowed
Add a list of desks as part of the allowed desks.
required
Add a list of desks as required desks.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Delete a desk from this workflow.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Returns a list of allowed desks.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Returns true if desk is in the list of allowed desks.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Lists the required desks
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Returns true if the deskref given is in the required list
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Returns true if a assetref has been through all required desks.
Throws:
NONE
Side Effects:
NONE
Notes:
Get/Set the start desk.
Throws:
NONE
Side Effects:
NONE
Notes:
Get/Set the active flag.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Get/Set the active flag.
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Save this workflow
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
Remove this workflow
Throws:
NONE
Side Effects:
NONE
Notes:
NONE
NONE
"Garth Webb" <garth@perijove.com>
Creative Engines Engineering
Bric, Bric::Biz::Workflow::Parts::Desk, perl
Hey! The above document had some coding errors, which are explained below:
'=item' outside of any '=over'
You forgot a '=back' before '=head2'
'=item' outside of any '=over'
You forgot a '=back' before '=head2'
'=item' outside of any '=over'
Expected '=item *'
Expected '=item *'
Expected '=item *'
Expected '=item *'
Expected '=item *'
Expected '=item *'
Expected '=item *'
You forgot a '=back' before '=head2'
'=item' outside of any '=over'
You forgot a '=back' before '=head1'
'=item' outside of any '=over'
You forgot a '=back' before '=head2'
=back without =over