The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SPOPS::Tool::LDAP::Datasource -- Embed the parameters for a LDAP handle in object configuration

SYNOPSIS

 # Connect to a server running on localhost:389 using an anonymous
 # bind (no username/password)

 my $spops = {
   myobject => {
     class      => 'My::Object',
     rules_from => [ 'SPOPS::Tool::LDAP::Datasource' ]
     field      => [ qw/ cn sn givenname displayname mail
                         telephonenumber objectclass uid ou / ],
     id_field   => 'uid',
     ldap_base_dn => 'ou=People,dc=MyCompany,dc=com',
     ...
   },
 };
 SPOPS::Initialize->process({ config => $spops });
 my $ldap_filter = '&(objectclass=inetOrgPerson)(mail=*cwinters.com)';
 my $list = My::Object->fetch_group({ where => $ldap_filter });
 foreach my $object ( @{ $list } ) {
     print "Name: $object->{givenname} at $object->{mail}\n";
 }

DESCRIPTION

This rule allows you to embed the LDAP connection information in your object rather than using the strategies described elsewhere. This is very handy for creating simple, one-off scripts, but you should still use the subclassing strategy from SPOPS::Manual::Cookbook if you will have multiple objects using the same datasource.

METHODS

behavior_factory( $class )

Generates a behavior to generate the datasource retrieval code during the 'manipulate_configuration' phase.

datasource_access( $class )

Generates the 'global_datasource_handle()' method that retrieves an opened database handle if it exists or creates one otherwise.

BUGS

None known.

TO DO

Nothing known.

SEE ALSO

SPOPS::Manual::CodeGeneration

SPOPS::LDAP

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>

Thanks to jeffa on PerlMonks (http://www.perlmonks.org/index.pl?node_id=18800) for suggesting this!