SPOPS::Manual - User Guide and Reference Manual for SPOPS
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:
Introduction to SPOPS and a discussion of how all the pieces fit together.
Shows how you interact with SPOPS objects.
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.
Shows how to declaratively define different types of relationships between SPOPS objects.
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.
Shows how the SPOPS classes are created from configuration and how you can modify the process for your own (hopefully benevolent) ends.
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.
Information about how SPOPS uses datasources and how you can make one or more datasources available to a number of objects at once.
Details about the SPOPS security system.
Error handling in the SPOPS framework.
Getting data in and out of datasources using SPOPS.
Recipes for SPOPS usage.
General object behavior
This is the most common gateway to SPOPS, so be sure to see how to use
Utilities that might be useful:
More information about how data are stored in an object
This handles the code generation for objects at initialization. It's useful for hacking SPOPS.
Find out more about SPOPS -- current versions, updates, rants, ideas -- at:
CVS access and mailing lists (SPOPS is currently supported by the openinteract-dev list) are at:
Also see the 'Changes' file in the source distribution for comments about how the module has evolved.
Copyright (c) 2001-2004 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".
Chris Winters <firstname.lastname@example.org>
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 <email@example.com> -- had offered tons of great design ideas and general help, pushing SPOPS into new domains. Too much to list here.
Simon Ilyushchenko <firstname.lastname@example.org> -- real-world usage advice, work on improving the object linking semantics, lots of little items.
Christian Lemburg <email@example.com> -- 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.
Rusty Foster <firstname.lastname@example.org> -- was influential in the early (!) days of this library and offered up an implementation for 'limit' functionality in SPOPS::DBI
Rick Myers <email@example.com> -- got rid of lots of warnings when running under
-wand 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 <firstname.lastname@example.org> -- prodded better docs of
SPOPS::Configure(now deprecated, but folded into SPOPS::ClassFactory), specifically the linking semantics.
Gert Thiel <email@example.com> -- prodded better docs for multifield primary keys in SPOPS::DBI and for defining and using relationships.
David Boone <firstname.lastname@example.org> -- prodded the creation of SPOPS::Initialize.
Generated from the SPOPS 0.87 source.