Updates from Barry Carlyon Toggle Comment Threads | Keyboard Shortcuts

  • Barry Carlyon 11:50 am on July 22, 2010 Permalink | Reply  

    Week 9 PostMidterm 

    This week has been a bit of a idler really, some personal things needed taking care of.

    However in other news I just discovered, after requesting a copy of the trac DB, still waiting on a response about that, I checked GMail to discover midterm results are ending up in Spam Boxes (don’t check my gmail account often enough these days), so checked spam only to discover I have failed mid term.

    So waiting to hear back from the powers that be about why I have failed!

    Confusion reigns!

  • Barry Carlyon 7:25 pm on July 13, 2010 Permalink | Reply
    Tags: graduation,   

    Week 8 – Missed a week and Midterm 

    Midterm is upon us! Hurrah.

    So I missed posting last week, reason: I picked up two weeks of extra work running tech for a conference, which should cover a month and a half of rent, or an iPhone 4, so could not turn it down.

    In the meantime it has meant less time working on GSoC, but now just finishing off all the queries for generating all the different groups of reports that Trac currently does.

    Then post midterm its on to the nitty gritty management stuff.

    Bit of a short post as there is little to report really, yes I know I fail…but I did graduate from University yesterday and am now a “real” person as it were…..

  • Barry Carlyon 1:28 pm on June 30, 2010 Permalink | Reply  

    Week 6 – A Day Late Again! 

    Week 6, its a day late again…

    Essentially I’m working on duplicating the reports trac does! Which is just a matter of working out the right query to run.

    Doing this has led me to discover the need for another extra taxonomy, in order to trac the ticket ID, as relying on the post ID means the value gets horribly inflated, and numbers skipped, thru WordPress auto saving and revision tracking.

    So thats last week and this week in a nutshell, working on front end stuff.

    Tho I don’t quite think this is right, it works but is probably not the best way to do this:

    add_action('template_redirect', 'bp_output_tickets');
    function bp_output_tickets() {
    	global $wp;
    	if (substr($wp->request, 0, 7) != 'tickets') {
    	global $bp_taxonomies, $bp_post_type, $bp_reports;
    	// need to configure to get from slug?!
    	$loadreport = $_REQUEST['report'] ? $_REQUEST['report'] : 'all';
    	add_action('wp_head', 'bp_style_hack');

    For a start it relies on the permalinks not being set to ?p=ID

    Update: Heres a quick screenshot….

    • Stas Sușcov 1:52 pm on June 30, 2010 Permalink | Reply

      Hey, all great except I would suggest you to use another namespace for functions and css entities. Going `bp` may create confusion or even problems with BuddyPress since BP uses `bp` namespace.

      • Barry Carlyon 2:53 pm on June 30, 2010 Permalink | Reply

        Okdaoky 🙂

      • Matt Harzewski 9:10 pm on July 2, 2010 Permalink | Reply

        It’s also British Petroleum’s namespace, and I hear they have a bit of a mess over there at the moment. 🙂

        • Stas Sușcov 10:52 am on July 4, 2010 Permalink

          Good one 🙂

        • Justin Shreve 1:18 am on July 6, 2010 Permalink

          I’m glad I’m not the only one that thinks of that every time I see BuddyPress called BP/ using bp :).

    • Dion Hulse 11:25 am on July 1, 2010 Permalink | Reply

      You’d also do good to enable WP_DEBUG on your testbed.

      Using code such as:
      $loadreport = $_REQUEST['report'] ? $_REQUEST['report'] : 'all';
      will emit a PHP Notice.

      You should use something such as :
      $loadreport = !empty($_REQUEST['report']) ? $_REQUEST['report'] : 'all';

      • Barry Carlyon 11:57 am on July 1, 2010 Permalink | Reply

        Will do….

        I hadn’t thought about empty, since I only seem to use empty when I want to know if its empty tho I do usually wack an empty or isset around the first bit of the quaterneron.

        Must of forgot 😛

        Thanks for the debug suggestion 🙂

  • Barry Carlyon 10:23 pm on June 23, 2010 Permalink | Reply  

    Week 5 – Um ya BUGS, as HUGE as my feet!? 

    So a day late….whoops

    Didn’t get quite as much done last week as intended…ended up driving a boat for the better part of 97 miles.

    On the upside I’m now onto front end displaying having fixed a long running bug with displaying taxonomy values…tho for some reason WordPress keeps dumping the contents of the taxonomy table, the table that stores post_id with taxonomy_id, but I’ve given up fixing it for now.

    I found and solved a bug in my plugin regarding globals in the activation routine, thats what you get for not reading the docs fully. (Was throwing a extra characters on activation of the plugin error, which indicated bad globalisation of variables eventually took a fair bit of tracking down tho).

    Hit another bug (front end), since one of my global vars were overwriting a WordPress Core bug…. fixed that.

    So now onwards and upwards with front end displaying…. Much to do…back to it now

    I was going to add something else but I have forgotten what….

  • Barry Carlyon 1:53 pm on June 15, 2010 Permalink | Reply
    Tags: holiday,   

    Week 4: Work on holiday and taxonomy 

    So as per bonus post of 3 weeks 2 days I have finished my taxonomy editor. You can add, edit, delete, change the order of, change the default of each taxonomy type, (that uses a drop down menu selector).

    I’m currently using my iPhone to write this post whilst sat on the side of a narrowboat somewhere in the middle of the uk countryside. Tho I am still working. Between driving the boat and enjoying some sunshine.

    So next is the updating of bug status for example from open to closed and the review pages which should be straight forward.

    So expect a mid week post. But no Internet/offline codex makes work fun in terms of grabbing docs! (‘cept the iPhone (no tethering it’s pay and go))

    So no checkins this week….. Perhaps a post later this week…

    Catch you next week 🙂

    • Andrew Nacin 5:51 am on June 21, 2010 Permalink | Reply

      I see you’re using options which store “taxonomies”. Any reason why you haven’t opted for actual custom taxonomies?

      • Barry Carlyon 3:05 pm on June 21, 2010 Permalink | Reply

        Not quite.

        I’m using options to store the taxonomy choices.
        My custom taxonomy you pick a element from a select html element so using a option to store the options…

        • Andrew Nacin 8:57 am on June 22, 2010 Permalink

          I would use custom taxonomies then; this is a perfect use case for them.

          For administration of the choices (terms), you can then simply utilize the edit-tags.php screen created for you and added to the menu (you’ll need show_ui => true).

          I would even just roll with the existing hierarchical meta box, as of course only administrative actions will go through wp-admin anyway, and you can include select boxes in your front end interface.

        • Barry Carlyon 9:24 am on June 22, 2010 Permalink

          I am using Custom taxonomies!

          show_ui => true would use the existing box.

          Which would mean I would have to build an entire new front end interface, as you suggest.

          But why bother when I have already built the interface (additional meta box), and users registered as a Auther gives sufficient permissions with the current admin interface.

          Since this is for wordpress, why break what already works, since most wordpress users who will report a bug will have a wordpress login (for askimet keys), they can request to join the bug tracker and just be granted author level….

          Like trac already (iirc I didn’t have to sign up for trac as it uses my wordpress login anyway…..)

          So no need to build another interface as the use of a custom post type is sufficient…

        • Andrew Nacin 9:35 am on June 22, 2010 Permalink

          Okay, I didn’t see the register_taxonomy() call when I glanced at the code, only bugpress_setup_options() which loops through your array — nice idea there — and adds options — which is what I was confused about.

          For defaults, you’d probably just want to load them on activation (if no terms exist in the taxonomy, to guard against re-creation on re-activation).

    • Barry Carlyon 8:30 pm on June 24, 2010 Permalink | Reply

      Thanks 🙂

  • Barry Carlyon 12:45 am on June 10, 2010 Permalink | Reply
    Tags: bonus post, , update   

    Week 3 and 2 Days: Bonus Post 

    No one posted here on the 9th! So thought I would score a bonus Blog Post.

    I’ll just leave this here, which I just finished hacking…. You should see the number of different Codex posts I have open in my Google Chrome (its at least 20) Function Reference for the win…..

  • Barry Carlyon 8:03 pm on June 8, 2010 Permalink | Reply  

    Week 3: Finally a Start 

    So I am finally clear of all my university stuff (forever), twas the Summer Ball last Friday, an epic day of work followed by some partying, saw Florence and the Machine which was quite good.

    But back to GSoC, me and my mentor today, ironed out some taxonomy stuff, and he pointed out we should be borrowing from Trac, which gives us a good starting point, especially when you take into consideration the fact that you need to import all the old bugs….. That is to say I had not initially considered this project a Trac replacement, but more of a straight bug tracker, which only makes this more fun 🙂

    So we got that ironed out today as well as my SVN problem, was getting a MKOL error iirc, but did re-checkout and now we’re rolling, (I’m a Git user myself…..). Also getting my head around the bits of WordPress I didn’t know, things like starting a Plugin from Scratch, I’ve only ever modified others plugins to work on some WordPress sites I’ve helped out on, most notably one for the Lead singer of Hadouken, but thats another story.

    So now we have the basics of the plugin and how it works with WordPress 3 and the custom post types. I also post early in the week (a Tuesday), so not really a whole lot to report coding wise. Gonna write a lot this week now that I am clear of stuff 🙂 But I am learning a lot about the bits I didn’t know about WordPress, that being the point of GSoC itself…

    Catch you next week…. I’ll leave you with a quick screenshot:

    • Andrew Nacin 8:06 pm on June 8, 2010 Permalink | Reply

      Don’t copy Trac *too* much 🙂

      Also, looks like you’re using post types for each type of bug. I’d probably use a taxonomy for that.

      • Barry Carlyon 8:11 pm on June 8, 2010 Permalink | Reply

        Obviously, but you need a basis, and some elements need to be copied for Compatibility…..

        And only 4 types of post types….
        Unless I mis your meaning….
        Taxonomy can be confusing sometimes….

        • Justin Shreve 2:53 am on June 9, 2010 Permalink

          I think he means that you are using post types for the different states of a bug when you should probably have just one type (a bug post type) and a status taxonomy so you can tag the bug post type as “defect, enhancement”, etc.

          In short: So instead of four post types you have one, and they can be tagged as a type.

        • Andrew Nacin 5:23 am on June 9, 2010 Permalink

          Yup, that’s what I’m referring to. Really, you have one post type called a “ticket”, and then a taxonomy called “ticket_type” that then tracks different type of ticket types (and allows the administrator to easily customize the types of tickets, like Trac).

          Likewise you’d probably have a taxonomy for priorities, one for severities, one for reported versions, one for special keywords, probably a post type for milestones (with the ticket having a parent of the milestone it is assigned to), a post type for attachments (with the parent being the ticket it is attached to), etc. A component taxonomy as well.

          You’d need to store two different authors, one the reporter, and one the owner, which means the reporter would be post_author and the owner would get stored in post meta. (I would consider splitting the owner field into owner and committer.) Personally, and this is just me (it’s not in Trac), I’d love to see the ability to assign a status to an attachment, which would simply be another taxonomy attached to that post type. Likewise, another Trac improvement would be to allow a ticket to be spun off from another, and thus be a child (again controlled by the parent field, by making it a hierarchical post type).

          Trac allows for some serious customization. If you haven’t installed it yet to play with the administration aspects, I definitely would.

        • Andrew Nacin 5:25 am on June 9, 2010 Permalink

          Also, a good way to think about it is this: post types are your content, while taxonomies describe your content.

        • Dion Hulse 9:49 am on June 9, 2010 Permalink

          Following on from Andrew’s comment there, A Milestone should also be a taxonomy, not a post type.

          One thing which you might want to leave the post_parent field free for, is future modifications which might include subtickets (For example, A Task Ticket will have no comments, but has sub tickets which complete the “task”) – But thats just one use case, something i’ll certainly implement and use once this project becomes stable.

          Attachment being able to have status or keywords would be awesome, ie. mark patch as stale, outdated, commited, etc.

          But for compatibility, You shouldnt have to worry too much, For example, Priority|Severity fields are useless to many, but its just another field, you shouldnt have to hard code the field names, just loop through any taxonomy types linked to the ticket type and call their display handers (that you’d assign somehow yourself).

          But, best of luck, I’ll be running and playing around with this every step of the way 🙂

    • Barry Carlyon 4:40 pm on June 9, 2010 Permalink | Reply

      Thanks for the feedback…..

      Lots like one post type called tickets, is the way to go and route everything else thru taxonomy…

      Time to read more about the taxonomy API functions then 😛

  • Barry Carlyon 1:55 pm on June 2, 2010 Permalink | Reply  

    Week 2: Research 

    First of all, apologies I’m a day late!

    This week I have been thinking about the system flow, and the different states bugs can be in. Made a UML to help.

    This will lead to another UML which will help sort out what elements need to be built.

    Apart from that I’ve been looking at how bugpress will work in terms of talking to wordpress core, and its gonna need to run as a plugin, so I have been looking at the relevant documentation for plugins, wordpress 3 post types, and a little research and hacking in other bug tracking software.

    So more to come next week, since I am all clear of the rubbish that was getting in the way of me working properly 🙂

    Check out my UML here: http://www.gliffy.com/publish/2126458/ and offer me feedback!

    • Jane Wells 1:58 pm on June 2, 2010 Permalink | Reply

      Hi Barry. You should have been doing your research doing the warming up period; May 24 was the first day of coding, and you should be two weeks in by now. Please work with your mentor to catch up.

      • Barry Carlyon 2:06 pm on June 2, 2010 Permalink | Reply

        Did I mention that the end of term overlaps with start of Summer of Code, so I’ve been finishing term too. I’ve always been a late starter on GSoC…

      • Barry Carlyon 2:10 pm on June 2, 2010 Permalink | Reply

        Also did you get my email?

  • Barry Carlyon 3:41 pm on May 27, 2010 Permalink | Reply  


  • Barry Carlyon 1:46 pm on May 25, 2010 Permalink | Reply
    Tags: , coding, gsoc, moving out, setup, svn, work, Xbox360   

    Week 1: The Beginning 

    So its Day two of week one!

    What have I done this week?

    Well I finished off the end of the Michael Jackson show I mentioned last week, in total we have raised £4000 for charity!

    Did some lighting for a Chiddy Bang gig.

    And yesterday, since I’m starting to get clear of the end of uni now, I started setting up my local development environment.

    So I’ve got my SVN access sorted for storing my Code on wordpress.org, details on that when there is something worth looking at, and grabbed a copy of WordPress 3, since Bugtracking requires different post types the inclusion of this in WordPress 3, means we don’t have to reinvent the wheel, as my mentor (Thorsten Ott) has put it.

    So the remainder of this week, involves poking around WordPress 3, some preliminary coding, more packing up my student radio desk and my girlfriends houseparty, the day after she goes home for the some.

    Tho tonight holds me playing Red Dead Redemption, on the 360, since that arrived in the post.

    Right back to poking 🙂 See you in a week!

    • Barry Carlyon 1:47 pm on May 25, 2010 Permalink | Reply

      I’ll prob add an out of sync post when I update https://gsoc2010.wordpress.com/barry-carlyon-bug-tracker/

    • Jonathan Brinley 12:20 pm on May 27, 2010 Permalink | Reply

      Hi, Barry,

      I just started working on essentially the same project about a week ago. At the time, I didn’t realize anyone else had the same idea, and I couldn’t find any existing WP plugins for bug tracking, so I set off to make my own. You can see the initial version at http://wordpress.org/extend/plugins/buggypress/. It’s not feature-complete, but it is, at least, minimally usable.

      Are you interested in working together on this? I’d be happy to share ideas and code.

      Have a nice day,

      • Jane Wells 3:21 pm on May 27, 2010 Permalink | Reply

        Hi Jonathan. Unfortunately, GSoC students are not allowed to work with others on their projects, as they are graded and paid based on individual work. Discussion and feedback on their own work is the main collaboration path.

      • Barry Carlyon 3:36 pm on May 27, 2010 Permalink | Reply

        This is going to be more than just a plugin, we’re going for a fully featured and working BugPress (came up with that before I saw your reply)

        But like Jane said its a solo project
        But feedback would be appreciated. 🙂

        Update: Forgot to mention that this is to replace Trac that wordpress currently uses…

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc