Wow. Just when I thought it couldn’t get any cooler. (Not to toot my own horn).
The next version of Quality Control (currently awaiting review) takes things to the next level. In reality there are very few new “features” for the average user. However, things have been cleaned up, and made ridiculously easy to use.
I’ve set it up now so each “module” of Quality Control is loaded through add_theme_support. This way, child themes can effortlessly remove built in features like milestones, categories, tags, assignment, and notifications. Not only is it easy to remove features, but it’s almost just as easy to add them. A new class has been introduced that handles creating new taxonomies automatically. It will automatically add it to the navigation, ticket meta, admin backend, ticket listing columns, save the information when publishing tickets, and add the fields to the form. It’s awesome. Here is how it is used:
In functions.php of your child theme add:
add_action( 'after_setup_theme', 'quality_child_test', 11 );
function quality_child_test() {
add_theme_support( 'ticket-priority' );
require_if_theme_supports( 'ticket-priority', locate_core_file( 'inc/modules/priorities.php' ) );
}
Then create a file in /inc/moddules/ called priorities.php (this is in the child theme directory)
<?php
/**
* @package Quality_Control
* @subpackage Ticket Taxonomies
* @since Quality Control 0.2
*/
if ( ! class_exists( 'quality_ticket_priority' ) ) :
/**
* Create the status taxonomy. Nothing custom here.
*
* @since Quality Control 0.2
*/
class quality_ticket_priority extends quality_create_taxonomy
{
/**
* Just create the name, slug, and labels. The rest is
* done automagically.
*
* @since Quality Control 0.2
*/
function quality_ticket_priority() {
parent::quality_create_taxonomy(
'ticket_priority',
'priority',
array(
'name' => __( 'Priorities', 'quality' ),
'singular_name' => __( 'Priority', 'quality' ),
'search_items' => __( 'Search Priorities', 'quality' ),
'popular_items' => __( 'Popular Priorities', 'quality' ),
'all_items' => __( 'All Priorities', 'quality' ),
'update_item' => __( 'Update Priority', 'quality' ),
'add_new_item' => __( 'Add New Priority', 'quality' ),
'new_item_name' => __( 'New Priority Name', 'quality' ),
'edit_item' => __( 'Edit Priority', 'quality' )
)
);
$this->actions();
}
}
endif;
$ticket_priority = new quality_ticket_priority;
This will automatically add a new taxonomy called “Priority”. Amazing.
Can’t wait to try it out!
B*gg*r, just after I’d added priority to mine…!
When tinkering, made the mistake of not using child themes so have slapped myself on the wrist.
Set QC up last week – really good and client loves it, no major issues apart from everyone gets emails but me??? Dunno if it’s my hacking but users (set up as WP authors) can only add tickets if the QC settings are on read/write…
Will use the new version for the next 2 clients.
Wishlist:
Some way of tracking the time spent resolving issues (for subsequent billing – always important) without client seeing.
Multi-client?…
Brilliant job. Thanks.
The new version has better notification support, but still not great. The admin of the blog will automatically get an email when a ticket is created, and anyone assigned to the ticket will be emailed when a ticket is created/updated.
Initially only people who have the ability to publish posts can create tickets. Then you can set permissions for viewing/editing if you use user assignment. Otherwise it just defaults back to the people who can publish posts.
As for the time tracking system: that probably won’t ever be built directly in, but I could see it being a cool plugin or child theme.
I’ve done multi-client by creating a WordPress multi-site install, with each site within the network for a different client. Seems to be good this way as clients don’t see each others tickets in any way.
As each site is separate there’s also the option of having different child themes of QC for each client, though I currently share the same custom child theme for all clients.
+1 for QC is a brilliant theme
I’m so happy to have found this template. It’s great. I’m hoping the next release will allow me to assign tickets to an individual.
Version 0.2 does allow that Mike.
THanks Spencer, but i do have one question:
How can i easy rewrite url? lets say not http://www.domain.com/ticket/blablabl but change ticket to anything i want :)
Cause not everybody will use it as a ticket/support script :)
If you want to be good about it, filter
quality_register_ticket_post_typeand adjust the $rewrite variable. See https://github.com/spencerfinnell/Quality-Control/blob/master/inc/tickets.php line 52.I really should have filtered each variable as opposed to the one array. I’ll make that update for the next version…
If that’s too much, just edit the $rewrite array in the parent theme. You’ll have to make the change again once it’s updated though.
Hey, nice work!
I’d like to know if there is a way to keep your tickets private. I mean that even visitors can’t see what’s happening on your site.
Future feature or i have to code it myself?
If you want it all private, then there are plenty of existing plugins that you can use to protect your site.
Ok thx i’ll try this way :)
Hello Spencer
Really nice theme you have done. This is the way QC and issue management should look like. I hope you will continue finetune the theme but leave the simple clean userinterface as is. Perhaps build in more configuration possabilities. Perhaps finetune also languages. Perhaps easy translation for things like milestones, dashboard etc.
Me like
//lars
Hi there,
I really like your work! I use it at http://bugtracker.aequator.goedgehost.nl/ for tracking bugs/feature requests for aequator.goedgehost.nl.
Just two questions:
1) The tags don’t seem to be separated from each other when filling in a new ticket. So now there’s a tag that says ‘http://bugtracker.aequator.goedgehost.nl/?tag=ook-interessant-related-posts-yarpp'. How can I fix this? I use 0.2.
2) I translated the theme to Dutch with the CodeStyle Localisation Plugin. I’ve put the nl_NL.po and nl_NL.mo in the folder Quality control\inc\languages. Nothing has changed. Any suggestions?
renaming it to quality-control-nl_NL.po didn’t work either
Looks and sounds great Spencer, good job.
My only problem is can not seem to find a way to get my hands on the theme so I can take it for a spin. Not listed at WordPress.org yet and no link to download on here!
Any pointers?
Zulf
Spencer,
I tried to follow your directions closely, but was not able to add “ticket-priority.”
A couple of items:
In your first, direction, about adding the line to the functions.php, everyone knows they need to add a
<?phpto the top, and?>to the bottom of that file, right? I missed that…Second, you write:
I believe that should be /inc/modules/ rather than /inc/moddules/…
And finally, I applied this to an existing install, now calling the child theme with the new ticket-priority module, and Ticket Priority did not automagically appear for me under Taxonomies – any direction on debugging?
Thanks,
Mike
This is a child theme that i have written, thanx to Spencer, using the “priority system”.
You can download it there : http://www.tcp-univers.com/dldl/quality-control-child.zip
I hope that it will help you.
Hi,
I installed the theme (version 0.1, because I can’t seem to find a newer version) on Wordpres 3.0.4 Dutch. Almost everhting works fine except the creation of a State and the creation of a Milsestone is not visible in the admin (I have a clean install and full admin-rights). Any idea what to do?
Thanks in advance, ‘theme’ looks great ofcourse!
G.
Have installed QC 0.1.0. How do I get the latest & greatest? I see no DL link here:
http://getqualitycontrol.com/faq/
Thanks,
DD
Have a look at this: http://spencerfinnell.com/2011/02/01/on-quality-control/#comments :)
What tools :) ? That ‘s is just a theme