Chris Winters > SPOPS-0.87 > SPOPS::ClassFactory::DBI



Annotate this POD


New  1
Open  0
View/Report Bugs
Module Version: 3.11   Source  


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


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


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.


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.


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.


None known.


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

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


Chris Winters <>

See the SPOPS module for the full author list.

syntax highlighting: