NAME
Konstrukt::Plugin::tags::DBI - Tagging DBI backend
SYNOPSIS
#TODO
DESCRIPTION
Tagging DBI Backend driver.
CONFIGURATION
Note that you have to create the table tag
. You may turn on the install
setting (see "CONFIGURATION" in Konstrukt::Handler) or use the KonstruktBackendInitialization.pl
script to accomplish this task.
You may define the source of this backend:
#backend
blog/backend/DBI/source dbi:mysql:database:host
blog/backend/DBI/user user
blog/backend/DBI/pass pass
If no database settings are set the defaults from "CONFIGURATION" in Konstrukt::DBI will be used.
LIMITATIONS
The current data model has a max length for the tag title of 255 chars, for the plugin name of 64 chars and for the entry identifier of 128 chars. The identifier is a string, not a number (but of course can also contain numbers).
METHODS
init
Initialization of this class
install
Installs the backend (e.g. create tables).
Parameters:
none
set
Sets the tags for a specified entry.
Parameters:
$plugin - The plugin the entry belongs to
$entry - The identifier of the entry
@tags - List of all (not only new ones) tags for this entry.
get
Implementation of the get method of the plugin.
get_entries
Returns the entries, that match a specified tag query string and optionally belong to a specified plugin.
If a plugin is specified the identifiers (strings or numbers) of the entries will be returned in an arrayref:
[ 'someentry', 'someother', 23, 42, ... ]
Otherwise the entries will be returned as a reference to an array containing hash references with the identifier and the plugin for each entry:
[
{ entry => 'someentry', plugin => 'someplugin' },
...
]
Parameters:
$tagquery - Reference to an array containing the tags that each entry must have to match.
["sometag", "some other tag", "foo", "bar"] -> WHERE title = "sometag" AND title = "some other tag" AND title = "foo" AND title = "bar"
There may also be additional arrayref entries inside the list which represent an OR-combined set of tags.
["sometag", [qw/one of these seven tags is enough/], "baz"] -> WHERE title = "sometag" AND title IN ("one", "of", "these", "seven", "tags", "is", "enough") AND title = "baz"
$plugin - Optional: Only return entries of this plugin.
delete
Implementation of "delete" in Konstrukt::Plugin::tags.
AUTHOR
Copyright 2006 Thomas Wittek (mail at gedankenkonstrukt dot de). All rights reserved.
This document is free software. It is distributed under the same terms as Perl itself.