Bric::SOAP::Category(3)

NAME
Bric::SOAP::Category - SOAP interface to Bricolage categories.

VERSION
$LastChangedRevision$

DATE
$LastChangedDate: 2006-08-03 00:48:04 +0200 (Thu, 03 Aug 2006) $

SYNOPSIS
  use SOAP::Lite;
  import SOAP::Data 'name';

  # setup soap object to login with
  my $soap = new SOAP::Lite
    uri      => 'http://bricolage.sourceforge.net/Bric/SOAP/Auth',
    readable => DEBUG;
  $soap->proxy('http://localhost/soap',
               cookie_jar => HTTP::Cookies->new(ignore_discard => 1));
  # login
  $soap->login(name(username => USER),
               name(password => PASSWORD));

  # set uri for Category module
  $soap->uri('http://bricolage.sourceforge.net/Bric/SOAP/Category');

  # get a list of all categories
  my $category_ids = $soap->list_ids()->result;

DESCRIPTION
This module provides a SOAP interface to manipulating Bricolage categories.

INTERFACE

  Public Class Methods

list_ids
    This method queries the database for matching categories and returns a list of ids. If no categories are found an empty list will be returned.

    This method can accept the following named parameters to specify the search. Some fields support matching and are marked with an (M). The value for these fields will be interpreted as an SQL match expression and will be matched case-insensitively. Other fields must specify an exact string to match. Match fields combine to narrow the search results (via ANDs in an SQL WHERE clause).

    name (M)
        The category's name.

    directory (M)
        The category's directory, the last element in the path.

    uri (M)
        The URI path of the category.

    path
        The category's complete path from the root.

    parent
        The category's parent, complete path from the root.

    active
        Set false to return deleted categories.

    Throws:

    Exception::AP

    Side Effects: NONE

    Notes: Neither parent searches nor path searches may be combined with other searches. This is because the underlying list() method does not support them directly. Instead they are emulated at the SOAP level and as such do not benefit from SQL's OR of search parameters. This should be fixed by adding them to the underlying list().

export
    The export method retrieves a set of categories from the database, serializes them and returns them as a single XML document. See Bric::SOAP for the schema of the returned document.

    Accepted paramters are:

    category_id
        Specifies a single category_id to be retrieved.

    category_ids
        Specifies a list of category_ids. The value for this option should be an array of integer "category_id" categories.

    Throws:

    Exception::AP

    Side Effects: NONE

    Notes: NONE

create
    The create method creates new objects using the data contained in an XML document of the format created by export().

    Returns a list of new ids created in the order of the assets in the document.

    Available options:

    document (required)
        The XML document containing objects to be created. The document must contain at least one category object.

    Throws:

    Exception::AP

    Side Effects: NONE

    Notes: NONE

update
    The update method updates category using the data in an XML document of the format created by export(). A common use of update() is to export() a selected category object, make changes to one or more fields and then submit the changes with update().

    Returns a list of new ids created in the order of the assets in the document.

    Takes the following options:

    document (required)
        The XML document where the objects to be updated can be found. The document must contain at least one category and may contain any number of related category objects.

    update_ids (required)
        A list of "category_id" integers for the assets to be updated. These must match id attributes on category elements in the document. If you include objects in the document that are not listed in update_ids then they will be treated as in create(). For that reason an update() with an empty update_ids list is equivalent to a create().

    Throws:

    Exception::AP

    Side Effects: NONE

    Notes: NONE

delete
    The delete() method deletes categories. It takes the following options:

    category_id
        Specifies a single category_id to be deleted.

    category_ids
        Specifies a list of category_ids to delete.

    Throws:

    Exception::AP

    Side Effects: NONE

    Notes: NONE

$self->module
    Returns the module name, that is the first argument passed to bric_soap.

is_allowed_param
$pkg->is_allowed_param($param, $method)
    Returns true if $param is an allowed parameter to the $method method.

  Private Class Methods

$pkg->load_asset($args)
    This method provides the meat of both create() and update(). The only difference between the two methods is that update_ids will be empty on create().

$pkg->serialize_category( writer => $writer, category_id => $category_id, args => $args)
    Serializes a single category object into a <category> category using the given writer and args.

AUTHOR
Sam Tregar <stregar@about-inc.com>

SEE ALSO
Bric::SOAP