Project Tasks

This WordPress plugin is a complete flexible Projekt Task Management System. It’s a very easy to use, but yet a powerful plugin. It helps you take control of all tasks when developing a WordPress Theme in a team or with a client.

Apart from common task management system features, Project Tasks have unique functions to link each task to a specific object in WordPress. And when you’re editing a page, it knows what objects and elements that page is made of.

Let’s say you have a page that uses the a certain page template, contains three different shortcodes and two different post types. When you create a project task on that page, these templates, shortcodes and posttypes comes up as suggestions to link your task to.

Project Tasks are accessable from the WordPress Adminbar when browsing your WordPress site where you can see how many and which tasks are linked to that particular page.

Project Tasks are also available from the the WordPress Admin that gives you an overview of all tasks and where you can manage them properly.

Download

You can download the latest version from the WordPress repository.

Installation

  1. Upload the full directory into your wp-content/plugins directory
  2. Activate the plugin at the plugin administration page

How to use

Once you’ve activated the plugin in your WordPress server you can access the Project Tasks from:

  • The Project Tasks Menu in WordPress Admin
  • Project Tasks in WordPress Adminbar

The Project Tasks Menu in WordPress Admin

The Project Tasks menu in WordPress admin

On this Project Tasks overview you have access to all tasks in the system. You can add a new Task and filter what Tasks you want to see, for instance only tasks of a certain type, that are assigned to you as a logged in user, or that are currently open.

Project Tasks in WordPress Adminbar

As you can see on the far right in the picture above, there is an entry for Project Tasks in the Adminbar. The number next to the header is telling how many tasks currently are asigned to this page, or to objects on this page. When clicking on the Project Tasks button, a dropdown list with these project tasks are shown.

Editing a Project Task

When you want to edit a project task you just click on the entry in either WordPress Adminbar Project Task Dropdown list, or in the Project Tasks Menu in WordPress Admin.

On the second tab you connect the project task to a “Target”. A target is an object in WordPress that the project task aims to do something about. Like, editing the content on a page, coding a shortcode, editing a page template, and so on. When creating or editing a task from Project Task Overview, you can access all possible targets on this tab. When getting here from the Adminbar on a specific page, you only see the targets that are available on that specific page. If the page uses Template A, Template A is shown as a target and not Template B. If someone has uses a shortcode on that page, that shortcode is listed as a target too.

On the third tab you can write notes. Whatever notes you want to.

On the fourth tab there is a complete log of what have been done to this task since it was created. Every change is logged here.

The program is very powerful yet flexible. There are a number of adjustments that can be done with wordpress hooks.

WordPress hooks

This is just one example: The following code adds a custom project task type called “Design task”, puts in a custom task target of that type called “Stylesheet Correction” and makes that custom project task target appear on every page that uses the page template called “page-template-2.php”

// Add a custom project task type called Design task
function custom_projekt_tasks_task_type ( $task_types ) {
	array_push ( $task_types, array ( 
		'id' 		=> 'my_design_tasks', 
		'name'		=> 'Design task', 
		'plural'	=> 'Design tasks'
	));
	return $task_types;
}
add_filter ( 'projekt_tasks_task_types', 'custom_projekt_tasks_task_type' );


// Create a task target called Stylesheet Correction as a "global" projekt task target 
// and put it under Design Tasks
function custom_project_task_target ( $task_targets ) {
	array_push ( $task_targets, array ( 
		'target_type' 		=> 'my_design_tasks', 
		'target_id' 		=> 'my_target_id', 
		'target_category' 	=> 'Design task', 
		'name' 			=> 'Stylesheet Correction', 
		'item_name' 		=> 'On all pages',
		'shortening' 		=> 'C', 
		'order' 		=> 1, 
		'description' 		=> 'Connect this task to the page stylesheet design.' 
	));
	return $task_targets;
}
add_filter ( 'projekt_tasks_targets', 'custom_project_task_target' );



// Make the custom project task target appear on every page that uses the page template 
// called "page-template-2.php"
function custom_project_task_target_on_page ( $active_targets, $post ) {
	$page_template_name = get_post_meta( $post->ID, '_wp_klasehnemark_page_template' ,true );
	if ( $page_template_name == 'page-template-2.php' ) {
		array_push ( $active_targets, array ( 
			'target_type' 	=> 'my_design_tasks', 
			'target_id' 	=> 'my_target_id',  
			'item_name' 	=> 'The Stylesheet for the Page Template 2',
			'description' 	=> 'Connect this task to the page stylesheet design 
						on Page Template 2.' 
		));
	} 
	return $active_targets;
}
add_filter ( 'projekt_tasks_active_targets_on_post', 'custom_project_task_target_on_page', 10, 2 );  

License

This plugin is released under the GPL, you can use it free of charge on your personal or commercial site. But every small donation for the time I’ve spent writing and supporting this plugin is very appreciated.

Support

Unfortunately I can’t give any support on this plugin except what can be found at the WordPress forums for this plugin. Please don’t comment below for support questions.

5 Responses to “Project Tasks”

Frank

Hi Klas,
thanks for the work on this plugin, but an problem.
If you will use the plugin on Multisite or an defined other folder for the plugins, it is not usable. The plugin cant load the js and css files.
I have change this on my test; maybe you will change this on the file /files/project-tasks-general.php

public static function load_scripts_and_styles () {
wp_klasehnemark_enqueue_script ( ‘thickbox’ );
wp_klasehnemark_register_script ( ‘project_tasks’, wp_klasehnemark_PLUGIN_URL . ‘/’ . dirname( plugin_basename(__FILE__) ) . ‘/project-tasks.js’ );
//wp_klasehnemark_register_script ( ‘project_tasks’, ‘/wp-content/plugins/’ . str_replace( ‘project-tasks-general.php’, ‘project-tasks.js’, plugin_basename(__FILE__)));
wp_klasehnemark_enqueue_script ( ‘project_tasks’ );
wp_klasehnemark_enqueue_style ( ‘thickbox’ );

wp_klasehnemark_register_style ( ‘project_tasks’, wp_klasehnemark_PLUGIN_URL . ‘/’ . dirname( plugin_basename(__FILE__) ) . ‘/project-tasks.css’ );
//wp_klasehnemark_register_style ( ‘project_tasks’, ‘/wp-content/plugins/’ . str_replace( ‘project-tasks-general.php’, ‘project-tasks.css’, plugin_basename(__FILE__)));
wp_klasehnemark_enqueue_style ( ‘project_tasks’ );
}

    Klas Ehnemark

    Hi Frank! Thank you, a wonderful idea. I’ll do that! Klas

Jon Knight

Hi Klas, this is a really great plug-in. I have a feature request or possibly very stupid question.. would it be possible to make ProjectTask accessible from roles other than administrator in the WordPress Admin site? I have a number of editors and contributors on my site, for whom Project Tasks would be really useful.
Thanks!

    user

    Ho Jon! I guess the only way would be to change the user-level set in line 63 in the file files/project-tasks-admin.php from ‘administrator’ to null. Please tell me that doesn’t work and I can look into it some more. Klas

L Like it plugin!

Leave a Reply

Klas Ehnemark | Hong Kong | Stockholm | Öland | click for Email | Rendered by Wordpress in 0.301 seconds