Developing with Huma Bird

We’ve tried to make developing for the Huma Bird Project as simple as possible.

So you can either make a TOOL, or make a DATA – and basically a data creates some data – say formatted text, and a tool works on this data. They both follow a similar structure but data handlers live in the data folder, and tools, well they live in the tools folder. They are happy neighbours though.

So to make a new tool – make a folder in data or tools (these are both in the huma bird root folder)

In this folder make a PHP file with the same name as the folder, and in that folder make a single PHP file with the same name as the folder

So say you made a folder called character_word_total, then in that is a file called character_word_total.php

In this file make a class with the same name as the file, so in this case

class character_word_total extends tool{

and make sure there is a function called classification – this tells the menu where to place this tool

public function classification(){

$classification = new StdClass();

$classification->type = “Play Analysis”; // Which section of the menu to appear under
$classification->column = “Tools”; // Which side of the menu to appear under
$classification->link = “?tool=character_word_total”; // base link for this
$classification->name = “Character word total”; // the name of the tool itself

return $classification;


There should be this function, but it doesn’t need to do anything

public function head($file_process){


The index function handles the basic menu for the tool, and it triggered when ?tool=character_word_total is clicked on

public function index(){

// if an action is not set show the menu, which effectively lists all the available actions this tool can do



//else do the action

$output = self::$_GET[‘action’]();


return $output;


Then the action just needs to be a function name within the code so an action called print would need

private function print()


Lots more development guides to come

Leave a Reply

Your email address will not be published. Required fields are marked *