I’ve been trying to get my head wrapped around how the new comments framework is supposed to work in Django. Turns out, there are a number of interesting issues.
Errors are displayed on another page
It’d be much nicer to show errors inline on the form rather than on a different page. Forcing you to a different page means you lose context about where you’re at, and what you may have been responding to. The same is true for previewing. Currently, previews also place you on a different page, and if you decide to edit the content, you’ve lost the required context.
There is an undocumented feature that allows you to embed a redirect into the form
The problem here isn’t that it allows you to do the redirect, it’s that this feature is undocumented. That said, it’s not very useful. The reason being that when you post a new comment, parameter data is added to the URL. That information is carried over on the redirect, so you end up with cruft in your url. It doesn’t even buy you anything, like positioning the page to the comment you just added. :-( Seems like there should be a better way to do this, but I think I’m going to have to resort to writing my own view.
Isn’t documented nearly as well as it needs to be
For all the hype I’ve been hearing about how the new comments framework has so much better documentation, I’m a bit disappointed with what I saw. Actually, Django has done an awesome job with documentation–it does set them apart from the rest of the open source community in my mind. I don’t know what happened here, but the ball got dropped somehow. And yes, I’ll submit patches to help correct the problem, once I figure out some of the details.
I haven’t even gotten to the moderation junk yet. I have no idea how that works, because there is no documentation for it. :-) I was hoping to be a lot closer to having comments in-place by now. I hope that I’m just missing something and it all falls into place soon.