The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

SPOPS::Manual - User Guide and Reference Manual for SPOPS

DESCRIPTION

This is the manual for SPOPS, Simple Perl Object Persistence with Security. SPOPS is an object persistence framework that allows you to serialize your objects in Perl to different datastores. It also allows you to protect individual objects with a flexible security scheme and flexibly register pre- and post- serialization handlers.

And all this can be done without writing any code -- common serialization usage can be implemented with a configuration file that's processed by SPOPS to create a fully functional class at run-time.

This manual provides an overview of the framework along with examples, directions, etc. If you need implementation-specific information, please see the documentation for the appropriate module. (All modules are listed below.)

The manual is broken down into:

SPOPS::Manual::Intro

Introduction to SPOPS and a discussion of how all the pieces fit together.

SPOPS::Manual::Object

Shows how you interact with SPOPS objects.

SPOPS::Manual::Configuration

Describes how the configuration process works and what common configuration values are for the different implementations (e.g., SPOPS::DBI, SPOPS::LDAP, SPOPS::GDBM). Also contains information about security-specific configuration items.

SPOPS::Manual::CodeGeneration

Shows how the SPOPS classes are created from configuration and how you can modify the process for your own (hopefully benevolent) ends.

SPOPS::Manual::Serialization

Describes how objects are saved, fetched and removed. Illustrates how SPOPS generates keys (if you ask nicely) and caches objects. Also describes how to create your own serialization class.

SPOPS::Manual::ObjectRules

Lists the general behaviors that every SPOPS object has, and shows how you can use other pre- and post- serialization handlers as well as create your own.

SPOPS::Manual::Datasource

Information about how SPOPS uses datasources and how you can make one or more datasources available to a number of objects at once.

SPOPS::Manual::Security

Detail about the SPOPS security system.

SPOPS::Manual::Exceptions

Error handling in the SPOPS framework.

SPOPS::Manual::ImportExport

Getting data in and out of datasources using SPOPS.

SPOPS::Manual::Cookbook

Recipes for SPOPS usage.

MODULE LISTING

General object behavior

SPOPS

Initializing objects

SPOPS::Initialize

Class Factory

SPOPS::ClassFactory
SPOPS::ClassFactory::DefaultBehavior

Error handling

SPOPS::Error

Security

SPOPS::Security
SPOPS::Security::Hierarchy

DBI items

SPOPS::ClassFactory::DBI
SPOPS::DBI
SPOPS::SQLInterface
SPOPS::DBI::MySQL
SPOPS::DBI::Sybase
SPOPS::DBI::Pg
SPOPS::Iterator::DBI
SPOPS::Key::DBI::HandleField
SPOPS::Key::DBI::Identity
SPOPS::Key::DBI::Pool
SPOPS::Key::DBI::Sequence

LDAP items

SPOPS::ClassFactory::LDAP
SPOPS::Iterator::LDAP
SPOPS::LDAP
SPOPS::LDAP::MultiDatasource

Iterators (general)

SPOPS::Iterator
SPOPS::Iterator::WrapList

Utilities that might be useful:

SPOPS::Key::Random
SPOPS::Utility

More information about how data are stored in an object

SPOPS::Tie
SPOPS::Tie::StrictField

COPYRIGHT

Copyright (c) 2001-2002 Chris Winters. All rights reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the file titled "COPYING-DOCS".

AUTHORS

Chris Winters <chris@cwinters.com>

The following people have offered patches, advice, development funds, etc. to SPOPS:

  • intes.net (http://www.intes.net/) has funded and supported SPOPS development from its inception.

  • Ray Zimmerman <rz10@cornell.edu> -- had offered tons of great design ideas and general help, pushing SPOPS into new domains. Too much to list here.

  • Christian Lemburg <lemburg@aixonix.de> -- contributed excellent documentation, too many good ideas to implement as well as design help with SPOPS::Secure::Hierarchy and the impetus for moving methods from the main SPOPS subclass to SPOPS::Utility.

  • MSN Marketing Service Nordwest, GmbH -- funded development of LDAP functionality, including SPOPS::LDAP, SPOPS::LDAP::MultiDatasource, and SPOPS::Iterator::LDAP, and SPOPS::Iterator::LDAP.

  • Rusty Foster <rusty@kuro5hin.org> -- was influential in the early (!) days of this library and offered up an implementation for 'limit' functionality in SPOPS::DBI

  • Rick Myers <rik@sumthin.nu> -- got rid of lots of warnings when running under -w and helped out with permission issues with SPOPS::GDBM.

  • Harry Danilevsky <hdanilevsky@DeerfieldCapital.com> -- helped out with Sybase-specific issues, including inspiring SPOPS::Key::DBI::Identity.

  • Leon Brocard <acme@astray.com> -- prodded better docs of SPOPS::Configure (now deprecated, but folded into SPOPS::ClassFactory), specifically the linking semantics.

  • David Boone <dave@bis.bc.ca> -- prodded the creation of SPOPS::Initialize.