Bric::Biz::Site(3p)   User Contributed Perl Documentation  Bric::Biz::Site(3p)



NAME
       Bric::Biz::Site - Interface to Bricolage Site Objects

VITALS
       Version
           $LastChangedRevision$

       Date
           $LastChangedDate: 2006-06-17 00:51:26 +0200 (Sat, 17 Jun 2006) $

       Subversion ID
           $Id: Site.pm 7538 2006-06-16 22:51:26Z theory $

SYNOPSIS
         use Bric::Biz::Site;

         # Constructors.
         my $site = Bric::Biz::Site->new($init);
         $site = Bric::Biz::Site->lookup({ id => $id });
         my @sites = Bric::Biz::Site->list($params);

         # Class Methods.
         my @site_ids = Bric::Biz::Site->list_ids($params);
         my $meths = Bric::Biz::Site->my_meths;

         # Instance methods.
         $id = $site->get_id;
         my $name = $site->get_name;
         $site = $site->set_name($name)
         my $desc = $site->get_description;
         $site = $site->set_description($desc);
         my $domain_name = $site->get_domain_name;
         $site = $site->set_domain_name($domain_name);

         $site = $site->activate;
         $site = $site->deactivate;
         $site = $site->is_active;

         # Save the changes to the database
         $site = $site->save;

DESCRIPTION
       Sites are first-class Bricolage objects designed to manage different
       sites from within a single Bricolage instance.

INTERFACE
   Constructors
       new

         my $site = Bric::Biz::Site->new;
         $site = Bric::Biz::Site->new($init);

       Constructs a new site object and returns it. An anonymous hash of
       initial values may be passed. The supported keys for that hash
       references are:

       name
       description
       domain_name

       The "name" and "domain_name" attributes must be globally unique or an
       exception will be thrown.

       Throws:

       Exception::DA
       Error::Undef
       Error::NotUnique

       lookup

         my $site = Bric::Biz::Site->lookup({ id => $id });
         $site = Bric::Biz::Site->lookup({ name => $name });
         $site = Bric::Biz::Site->lookup({ domain_name => $domain_name });

       Looks up and constructs an existing site object in the database and
       returns it. A Site ID, name, or domain name can be used as the site
       object unique identifier to look up. If no site object is found in the
       database, then "lookup()" will return "undef".

       Throws:

       Exception::DA

       list

         my @sites = Bric::Biz::Site->list($params);
         my $sites_aref = Bric::Biz::Site->list($params);

       Returns a list or anonymous array of site objects based on the search
       parameters passed via an anonymous hash. The supported lookup keys that
       may use valid SQL wild card characters are:

       name
       description
       domain_name

       The "ANY()" operator may be used to specify a list of values for any of
       these parameters.

       The supported lookup keys that must be an exact value are:

       id  Site ID. May use "ANY" for a list of possible values.

       active
           A boolean value indicating if the site is active.

       grp_id
           A Bric::Util::Grp::Site object ID. May use "ANY" for a list of
           possible values.

       element_type_id
       element_id
           A Bric::Biz::ElementType (element type) ID. May use "ANY" for a
           list of possible values.

       output_channel_id
           A Bric::Biz:OutputChannel ID. Pass in "undef" to check for when
           it's "NULL", and "not null" to check for when it's "NOT NULL". May
           use "ANY" for a list of possible values.

       Throws:

       Exception::DA

       href

         my $sites_href = Bric::Biz::Site->href($params);

       Returns an anonymous hash of site objects based on the search
       parameters passed via an anonymous hash. The hash keys will be the site
       IDs, and the values will be the corresponding sites. The supported
       lookup keys are the same as those for "list()".

       Throws:

       Exception::DA

   Class Methods
       list_ids

         my @site_ids = Bric::Biz::Site->list_ids($params);
         my $site_ids_aref = Bric::Biz::Site->list_ids($params);

       Returns a list or anonymous array of site object IDs based on the
       search parameters passed via an anonymous hash. The supported lookup
       keys are the same as for the "list()" method.

       Throws:

       Exception::DA

       my_meths

         my $meths = Bric::Biz::Site->my_meths
         my @meths = Bric::Biz::Site->my_meths(1);
         my $meths_aref = Bric::Biz::Site->my_meths(1);
         @meths = Bric::Biz::Site->my_meths(0, 1);
         $meths_aref = Bric::Biz::Site->my_meths(0, 1);

       Returns Bric::Biz::Site attribute accessor introspection data. See Bric
       for complete documtation of the format of that data. Returns accessor
       introspection data for the following attributes:

       name
           The site name. A unique identifier attribute.

       domain_name
           The site domain name. A unique identifier attribute.

       description
           A description of the site.

       active
           The site's active status boolean.

   Accessors
       id

         my $id = $site->get_id;

       Returns the site object's unique database ID.

       name

         my $name = $site->get_name;
         $site = $site->set_name($name);

       Get and set the site object's unique name. The value of this attribute
       must be case-insensitively globally unique. If a non-unique value is
       passed to "set_name()", an exception will be thrown.

       Throws:

       Error::Undef
       Error::NotUnique

       description

         my $description = $site->get_description;
         $site = $site->set_description($description);

       Get and set the site object's description.

       domain_name

         my $domain_name = $site->get_domain_name;
         $site = $site->set_domain_name($domain_name);

       Get and set the site object's unique domain name. The value of this
       attribute must be case-insensitively globally unique. If a non-unique
       value is passed to "set_domain_name()", an exception will be thrown.

       Throws:

       Error::Undef
       Error::NotUnique

       active

         $site = $site->activate;
         $site = $site->deactivate;
         $site = $site->is_active;

       Get and set the site object's active status. "activate()" and
       "deactivate()" each return the site object. "is_active()" returns the
       site object when the site is active, and "undef" when it is not.

   Instance Methods
       save

         $site = $site->save;

       Saves any changes to the site object to the database. Returns the site
       object on success and throws an exception on failure.

       Side Effects: Creates five internal permanent groups. One is a
       Bric::Util::Grp::Asset group. Its ID is used for the site ID, so that
       it can easily be used by Bric::Biz::Asset to add the ID to its
       "grp_ids" attribute because every asset is related to a site. The other
       four are Bric::Util::Grp::User groups, and one is created for each
       permission, READ, EDIT, CREATE, and DENY. Furthermore, a
       Bric::Util::Priv object is created for each of these user groups in
       turn, to grant their users the appropriate permissions to any assets
       associated with the site.

       Thows:

       Error::Undef
       Exception::DA

AUTHOR
       David Wheeler <david@kineticode.com>

SEE ALSO
       Bric::Biz::Category
           Each category object is associated with a site.

       Bric::Biz::OutputChannel
           Each output channel object is associated with a site.

       Bric::Biz::ElementType
           Each top-level element object is associated with one or more site.

       Bric::Biz::Workflow
           Each workflow object is associated with a site.

       Bric::Biz::Asset
           Each asseet object is associated with a site.

       Bric::Dist::ServerType
           Each destination object is associated with a site.

COPYRIGHT AND LICENSE
       Copyright (c) 2003 Kineticode, Inc. See Bric::License for complete
       license terms and conditions.



perl v5.12.2                      2006-06-16               Bric::Biz::Site(3p)
