Release 0.03001
[dbsrgits/DBIx-Class-Tree.git] / lib / DBIx / Class / Tree.pm
index 86bc7ce..ea0514e 100644 (file)
@@ -4,28 +4,44 @@ package DBIx::Class::Tree;
 use strict;
 use warnings;
 
-use vars qw( $VERSION );
 use base qw( DBIx::Class );
 
-$VERSION = '0.01000';
+our $VERSION = '0.03001';
 
 1;
 __END__
 
 =head1 NAME
 
-DBIx::Class::Tree - Manipulate and anaylze tree structured data.  (EXPERIMENTAL)
+DBIx::Class::Tree - Manipulate and anaylze tree structured data.
 
 =head1 DESCRIPTION
 
-The tree modules provide the tools to represent, modify, and analyze 
+The tree modules provide the tools to represent, modify, and analyze
 trees of data with DBIx::Class.
 
 =head1 COMPONENTS
 
-L<DBIx::Class::Tree::AdjacencyList> - Manage a tree of data using the common adjacency list model. (EXPERIMENTAL)
+L<DBIx::Class::Tree::AdjacencyList> - Manage a tree of data using the
+common adjacency list model.
 
-L<DBIx::Class::Tree::AdjacencyList::Ordered> - Glue DBIx::Class::Ordered and DBIx::Class::Tree::AdjacencyList together. (EXPERIMENTAL)
+L<DBIx::Class::Tree::AdjacencyList::Ordered> - Glue DBIx::Class::Ordered
+and DBIx::Class::Tree::AdjacencyList together.
+
+=head1 DAG
+
+All tree related modules must conform to have and use the basic traversal
+methods of a DAG.  For the most part this just means that Tree modules
+must provide the appearance of having multiple parents per node (via a
+parents() method) but may very well never return more than one parent.
+All utility modules, such as a Visitor module, should do its best to
+never assume that a node only has one parent.  There are situations
+where this is not possible - in those cases the module's documentation
+should clearly state that it is not compatible with DAGs.
+
+So far there is no Tree::DAG module, but there will be.  These requirements
+are vague, and the requirements of Tree modules to be DAG compatible will
+become more defined in due course.
 
 =head1 AUTHOR