SPOPS logo

NAME

SPOPS::ClassFactory::DBI - Define additional configuration methods

SYNOPSIS

 # Put SPOPS::DBI in your isa
 my $config = {
       class => 'My::SPOPS',
       isa   => [ 'SPOPS::DBI::Pg', 'SPOPS::DBI' ],
 };

DESCRIPTION

This class implements a behavior for the 'links_to' slot as described in SPOPS::ClassFactory.

It is possible -- and perhaps desirable for the sake of clarity -- to create a method within SPOPS::DBI that does all the work that this behavior does, then we would only need to create a subroutine that calls that subroutine.

However, creating routines with the values embedded directly in them should be quicker and more efficient. So we will try it this way.

METHODS

Note: Even though the first parameter for all behaviors is $class, they are not class methods. The parameter refers to the class into which the behaviors will be installed.

conf_relate_links_to( $class )

Slot: links_to

Get the config for $class and find the 'links_to' configuration information. If defined, we auto-generate subroutines to implement the linking functionality.

Please see SPOPS::Manual::Relationships for how to configure this and examples of usage.

TO DO

Make 'links_to' more flexible

We need to account for different types of linking; this may require an additional field beyond 'links_to' that has a similar effect but works differently.

For instance, Table-B might have a 'has_a' relationship with Table-A, but Table-A might have a 'links_to' relationship with Table-B. (Themes in OpenInteract work like this.) We need to be able to specify that when Table-A severs its relationship with one or more objects from Table-B, the actual object is removed rather than just a link between them.

BUGS

None known.

COPYRIGHT

Copyright (c) 2001-2004 intes.net, inc.. All rights reserved.

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

AUTHORS

Chris Winters <chris@cwinters.com>

See the SPOPS module for the full author list.

Generated from the SPOPS 0.87 source.

SourceForge Logo