Net::Hiveminder(3) Perl interface to hiveminder.com

SYNOPSIS


use Net::Hiveminder;
my $hm = Net::Hiveminder->new(use_config => 1);
print $hm->todo;
$hm->create_task("Boy these pretzels are making me thirsty [due tomorrow]");

DESCRIPTION

Hiveminder is a collaborate todo list organizer, built with Jifty.

This module uses Hiveminder's REST API to let you manage your tasks any way you want to.

This module is built on top of Net::Jifty. Consult that module's documentation for the lower-level interface.

display_tasks [ARGS], TASKS

This will take a list of hash references, "TASKS", and convert each to a human-readable form.

In scalar context it will return the readable forms of these tasks joined by newlines.

Passing options into this is somewhat tricky, because tasks are currently regular hashes. You may pass arguments to this method as such:

    $hm->display_tasks([arg1 => 'val1', arg2 => 'val2'], @tasks)

The arguments currently respected are:

linkify_locator
Make the record locator ("#foo") into an HTML link, pointing to the task on "site".

get_tasks ARGS

Runs a search with "ARGS" for tasks. There are no defaults here, so this can be used for anything.

Returns a list of hash references, each one being a task. Use "display_tasks" if necessary.

todo_tasks [ARGS]

Returns a list of hash references, each one a task. This uses the same query that the home page of Hiveminder uses. The optional "ARGS" will be passed as well so you can narrow down your todo list.

todo [ARGS]

Returns a list of tasks in human-readable form. The optional "ARGS" will be passed as well so you can narrow down your todo list.

In scalar context it will return the concatenation of the tasks.

If the first argument is an array reference, it will be passed to ``display_tasks'' as options.

For example, to display tasks due today (with color):

    print scalar $hm->todo([color => 1], due => "today");

create_task SUMMARY, ARGS

Creates a new task with "SUMMARY". You may also specify arguments such as what tags the task will have.

read_task LOCATOR

Load task "LOCATOR".

update_task LOCATOR, ARGS

Update task "LOCATOR" with "ARGS".

delete_task LOCATOR

Delete task "LOCATOR".

bulk_update ARGS

Bulk-updates the given tasks. You can pass tasks in with one or more of the following:
tasks
An array reference of task hashes or locators, or a space-delimited string of locators.
ids
An array reference or space-delimited string of task IDs.

complete_tasks TASKS

Marks the list of tasks or locators as complete.

braindump TEXT[, ARGS]

Braindumps "TEXT".

Optional arguments:

tokens => string | arrayref
tokens may be used to provide default attributes to all the braindumped tasks (this is part of what the filter feature of Hiveminder's IM bot does).
returns => 'ids' | 'tasks'
Return the affected task IDs, or the tasks themselves, instead of a summary of the changes made.

upload_text TEXT

Uploads "TEXT" to BTDT::Action::UploadTasks.

upload_file FILENAME

Uploads "FILENAME" to BTDT::Action::UploadTasks.

download_text

Downloads your tasks. This also gets the metadata so that you can edit the text and upload it, and it'll make the same changes to your task list.

This does not currently accept query arguments, because Hiveminder expects a ``/not/owner/me/group/personal'' type argument string, when all we can produce is ``owner_not => 'me', group => 'personal'''

download_file FILENAME

Downloads your tasks and puts them into "FILENAME".

This does not currently accept query arguments, because Hiveminder expects a ``/not/owner/me/group/personal'' type argument string, when all we can produce is ``owner_not => 'me', group => 'personal'''

priority (NUMBER | TASK) -> Maybe String

Returns the ``word'' of a priority. One of: lowest, low, normal, high, highest. If the priority is out of range, "undef" will be returned.

done LOCATORS

Marks the given tasks as complete.

loc2id (LOCATOR|TASK)s -> IDs

Transforms the given record locators (or tasks) to regular IDs.

id2loc IDs -> LOCATORs

Transform the given IDs into record locators.

tasks2ids

Deprecated

comments_on TASK -> (String)s

Returns a list of the comments on the given task.

comment_on TASK, MESSAGE

Add a comment to TASK.

This method requires Email::Simple::Creator, which is an optional dependency of Net::Hiveminder. If Creator is unavailable, then this will throw an error.

send_feedback TEXT

Sends the given TEXT as feedback to the Hiveminder team.

get_task_history LOCATOR

Load the transaction history for task LOCATOR.

Returns an array of transactions looking like:

$VAR1 = {
    'modified_at' => '2008-07-24 15:38:06',
    'type' => 'update',
    'id' => '1745040',
    'task_id' => '433397',
    'created_by' => '463' };

AUTHOR

Shawn M Moore, "<sartak at bestpractical.com>"

BUGS

Please report any bugs or feature requests to "bug-net-hiveminder at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Hiveminder>.

COPYRIGHT & LICENSE

Copyright 2007-2009 Best Practical Solutions.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.