A good bug tracker

Hello, I was just wondering whether PythonAnywhere could have a or already has a good Bug Tracker, with things like "assigned"=>"resolved" to order the bugs better, because using forums or Feedback is a little bit chaotic, I think. And there I want an option to edit or delete my bug reports when I have changed my mind about the bug. Could that be possible?
Could that be made using ehm... Python?

To be honest, we like the slightly chaotic nature of the forums. All too often, bug trackers are used by companies to separate themselves from their users. We like to talk to you guys about your problems and hear what you have to say. We use Trac internally, but that has all sorts of things that our users shouldn't need to care about.

Perhaps unsurprisingly, there's already a bug tracking framework in Python - it's used by Python's own bug tracker, for example. It's fairly easy to customise (you just modify some Python code to change the tracker schema) and supports most of the basic features you'd expect from a tracker. It might need things like a private diary being added (so developers can add comments visible only to themselves), but it's flexible enough to make that sort of thing fairly straightforward.

However, I'm sure you can appreciate that the PA development team's time is limited, so they have to be quite careful in choosing which features to work on. I suspect that eventually things will get to a point where it's actually going save both the users and developers time to share a public-facing bug tracker, but a broken tracker is worse than none so I can see why the developers might want to put this off until there's a more pressing need.

EDIT: Damn, need to get faster at typing! (^_^) I like the interaction of the forums, but to use those for issue tracking it might be handy to at least have some categorisation of posts, so pending issues can be separated from news and chat. OTOH, I totally see where you're coming from in terms of intimacy - it's really important to stay connected with the user base.

In a sort-of-not-really-related-but-not-important-enough-for-its-own-post aside, if you were considering bolstering the forum functionality in your own time, maybe it's worth looking at Discourse instead? I guess perhaps it's a bit early stage, but it's nice to see someone trying to improve forum software, the design of which has stagnated somewhat over the years. It is written in Ruby, however (which is probably the most Pythonic of the non-Python languages, but still...).

I understand that you love the nature of a forum. Then I only would like to be able to delete forum posts for when I change my mind and think: oops I do not want that post there, now it is always there on the Forums page, this is not a real bug/question. That results into guilty feelings. If you'd fix that, a forum would be good enough, indeed. Thanks for PythonAnywhere, it is working very well for me. I just want to learn Python for academic purposes now by the way...

Personally I prefer people not delete their posts, however as it's currently set up you can edit your own posts. Thus all you'd need to do when you change your mind is click edit and remove the content replacing the text with REMOVED: by user or something. This actually has an advantage over deleting a post entirely, because in the event someone else has responded, then the person who comes along the topic and starts reading can understand there used to be a post that was interacted with...☺

@Cartroo: Discourse does look pretty sweet (from what they say about it themselves). They certainly have lofty goals!!

They certainly have lofty marketing! I'm not yet at all sure it'll live up to the hype, but appreciate services that try to innovate and interfaces are one area which tends to get ignored for innovation (admittedly for quite legitimate reasons). For example, both mouse hardware and the desktop metaphor that goes along with them aren't really significantly different than Engelbart first demoed in 1968.

@rbkkr95: Instead of deleting posts, I suggest editing them and placing a note at the top indicating that the issue is solved, and then adding a response to your own post detailing the solution. This is more or less how things work on Stack Overflow, for example. Even if something feels like a silly question after the fact, there'll be someone else asking that same question and your post can save everyone the time.

I agree with @Cartroo about deleting posts. You never know when a thing you learned could be helpful to someone. Something incidental to the main issue could be exactly what someone needs and you'd be taking that away from them by removing it.

I like the idea of editting a post and adding "I solved it like this", or "Don't worry, it turned out to be this" depending on the situation.

I think general forum convention is to prefix the post title with [SOLVED], which is fairly clear and common. However, I don't think it's possible to edit the titles of posts here currently, so that might be a featurette worth considering in the forums. I guess it could either be a separate text box which only appears when you edit the initial post in a thread, or since the forums use Markdown just an some metadata which is only valid in the first post in the thread. Would probably want to automatically restore the old title if someone should submit an edit which removes the title entirely, though.

Or, we could just try Discourse...☺

This looks like a nice python-based forum software: pyforum

And the same author made a bug-tracker as well: i-track (demo site )

I don't think the PA staff wants to run anything other than this homegrown forum platform. I was trying to jest with them in my comment about using Discourse. Not that I'm opposed if they do decide to try another product.

Yes, I can see a lot of advantages to keeping it in house. I mostly mentioned it to see if there are any nifty features and/or bits of Javascript to ste- er, borrow. It is open source, after all.

ste- er....giggles...☺

We've nothing in principle against using a different forum app, it's just that the ones we found when we were originally looking around looked really hard to integrate with our user management system -- and we really didn't want to have people need to log in separately for the forums... Still, there's probably stuff we could, um, borrow. And perhaps what we need is a separate public-facing bug-/feature-request-tracker. Kind of like the way Dropbox have forums and "Votebox" to allow people to vote on feature requests.

I should say, what features would be the best ones to borrow from Discourse? What's frustrating about the forums are they are right now?

The main features I'd like to see are:

  • Who posted last.
  • Comment on a response like SO in addition to the Post option.
  • Ability to CLOSE a topic.
  • Ability to FLAG/UN-FLAG topics we want to keep track of. (perhaps with multiple different flags of our own choosing. I.E. I could have a flag for a project I'm working on as well as a flag for 'watching' and one for 'etc.'
  • Some method of knowing when we are mentioned in a post or comment.

That's what I have off the top of my head. Let's see what others have to say.

Ack. I forgot to say the ability to fork a topic to a new topic w/o derailing the original conversation.

Well, tonight's deploy (if it happens, which is looking pretty likely [crosses fingers]) will sort out the first of those -- Glenn put that in yesterday in some spare time. I'll add tickets for the others, they all sound good. BTW you can track a specific topic in your RSS reader -- just add the feed from the "This topic's RSS" link at the top of the page. You could even put them in different folders in Google Reader...

Oh, I should add -- one thing Hansel suggested is that we add a simple live chat system to the site. It should be pretty simple to knock something together (see this blog post).

What do you think?

I think keeping things in house is a laudable aim - that's usually my natural inclination to the extent that I have to fight it even when good quality third party apps and libraries are available. You might have noticed I have something of a "throw ideas in and see what sticks" approach.

@a2j: Not quite sure about SO-style comments - that's very much a focussed QA site, and you can see that despite their limitation on comment length and automatic collapsing of comments, threads still sometimes diverge significantly. Forking a topic into a separate thread would seem to be the cleaner solution, and hopefully quite easy to implement - the new thread would presumably acquire the post at the "fork point" as well a "this thread was a fork of...." link.

However, the ability to simply reply to another post would be handy - it would just pre-populate the post box with the quoted version of the original post, and also be tagged somewhere as "in reply to post X". While on the subject of quoting, minor point - could the size of quoted text be cranked down slightly? It always seems a little odd that text you're quoting to reply to is larger than the reply itself. I'd make them the same size, but indent the quote and colour it lighter grey or blue.

Closing a topic to further discussion is useful, but I'm not sure who should have the privilege to do it - it would be frustrating if someone posted some blatant misinformation and then the OP closed the topic before it could be corrected. I suggest that only admins be allowed this, initially.

The generic flags approach seems potentially useful, but just being able to "star" a thread as a favourite with a separate index page listing favourite threads (in the same order of last update as the main index) would probably be sufficient. Perhaps we could implement optional email updates for posts in starred threads (or have a separate set of "watched" threads, but that seems like unnecessary complexity).

Also, potentially a bit fiddly but a per-user "modified since you last viewed this thread" icon on each thread might be useful. Bit debatable this one - if implemented, it needs a manual "mark all as read" option. I'm inclined to say ignore this and use the RSS feed if that's what you want to do, really, but I thought I'd mention it as it's a feature that some forums offer.

On the subject of flags, perhaps we could tag posts for searching purposes, similar to SO. Personally I'm unconvinced of the value unless you curate the set of tags pretty carefully as they tend to be used inconsistently by different people, but I thought I'd throw it in there - some people seem to love tags. Could use these as an alternative to straight categories as the latter may cause people to miss stuff (say a support question is asked in the "general chat" category, people who don't read that category would miss it).

I guess that "favourites" and "mentioned" threads could potentially just become magic tags, so perhaps a tagging system of pre-defined tags is the way to go, if only just under the hood for future expansion. This keeps things somewhat simpler by there only being two classes of index page - the full, unfiltered index; and the same thing but filtered by a single tag. The rest is just deciding on the sugar coating (e.g. whether viewing posts with the "favourite" tag deserves its own special link instead of being presented to the user as "just another tag".

I guess this is fairly similar to the way Gmail works, really. Maybe they were on to something... (^_^)

Oh, and chat sounds like a great idea, if only for new users with support questions or who are deciding whether to use the service. Would be nice if we could make it IRC or something as opposed to web only, because there are already a number of good IRC clients for every platform, but that's probably more effort than knocking up a quick web service, and potentially more open to abuse. I would suggest reserving a room on an established network rather than running your own server if you do decide to go the IRC route, just because it seems to be fiddlier than it first appears (mostly security issues to worry about).

Sorry to blather on, but I'm sure you're used to that from me by now!