Perl interface to hiveminder.com
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]");
Hiveminder is a collaborate todo list organizer, built with Jifty.
This module uses Hiveminder's \s-1REST\s0 \s-1API\s0 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.
This will take a list of hash references, \*(C`TASKS\*(C', 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:
Make the record locator (\*(C`#foo\*(C') into an \s-1HTML\s0 link, pointing to the task on \*(C`site\*(C'.
Runs a search with \*(C`ARGS\*(C' 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 \*(C`display_tasks\*(C' if necessary.
Returns a list of hash references, each one a task. This uses the same query that the home page of Hiveminder uses. The optional \*(C`ARGS\*(C' will be passed as well so you can narrow down your todo list.
Returns a list of tasks in human-readable form. The optional \*(C`ARGS\*(C' 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 \*(L"display_tasks\*(R" as options.
For example, to display tasks due today (with color):
print scalar $hm->todo([color => 1], due => "today");
Creates a new task with \*(C`SUMMARY\*(C'. You may also specify arguments such as what tags the task will have.
Load task \*(C`LOCATOR\*(C'.
Update task \*(C`LOCATOR\*(C' with \*(C`ARGS\*(C'.
Delete task \*(C`LOCATOR\*(C'.
Bulk-updates the given tasks. You can pass tasks in with one or more of the following:
An array reference of task hashes or locators, or a space-delimited string of locators.
An array reference or space-delimited string of task IDs.
Marks the list of tasks or locators as complete.
Braindumps \*(C`TEXT\*(C'.
Optional arguments:
tokens may be used to provide default attributes to all the braindumped tasks (this is part of what the filter feature of Hiveminder's \s-1IM\s0 bot does).
Return the affected task IDs, or the tasks themselves, instead of a summary of the changes made.
Uploads \*(C`TEXT\*(C' to BTDT::Action::UploadTasks.
Uploads \*(C`FILENAME\*(C' to BTDT::Action::UploadTasks.
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 \*(L"/not/owner/me/group/personal\*(R" type argument string, when all we can produce is \*(L"owner_not => 'me', group => 'personal'\*(R"
Downloads your tasks and puts them into \*(C`FILENAME\*(C'.
This does not currently accept query arguments, because Hiveminder expects a \*(L"/not/owner/me/group/personal\*(R" type argument string, when all we can produce is \*(L"owner_not => 'me', group => 'personal'\*(R"
Returns the \*(L"word\*(R" of a priority. One of: lowest, low, normal, high, highest. If the priority is out of range, \*(C`undef\*(C' will be returned.
Marks the given tasks as complete.
Transforms the given record locators (or tasks) to regular IDs.
Transform the given IDs into record locators.
Deprecated
Returns a list of the comments on the given task.
Add a comment to \s-1TASK\s0.
This method requires Email::Simple::Creator, which is an optional dependency of Net::Hiveminder. If Creator is unavailable, then this will throw an error.
Sends the given \s-1TEXT\s0 as feedback to the Hiveminder team.
Load the transaction history for task \s-1LOCATOR\s0.
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'
};
App::Todo, Jifty, Net::Jifty
Shawn M Moore, \*(C`<sartak at bestpractical.com>\*(C'
Please report any bugs or feature requests to \*(C`bug-net-hiveminder at rt.cpan.org\*(C', or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Hiveminder>.
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.