Planning: bugs

This list is for relatively small or miscellaneous problems which need to be fixed at some point. There are probably many more than I know about. These are in no particular order.

  • There are certain things you can do in terms of changes committed to the content repository which will irrevocably wedge Daizu. Anything in Daizu::Revision which dies might be a problem. It's OK if the problem is serious but can be fixed by committing another revision which corrects the problem, but there should never be a way of committing something that permanently screws your repository. Some of the branch tracking code should also be checked for that sort of problem.

  • In RSS get rid of content:encoded, and just use description, as suggested by the validator. Either that or just remove RSS support altogether. Is there any real reason to keep it? Every time I want to make a change to the blog feeds I find myself wading through records of ancient flame wars trying to figure out how it's meant to work.

  • The validate_date function should be more rigorous about parsing, and should accept the full range of dates and times in the W3C format, or perhaps RFC 3339.

    It might be worth taking another look at the DateTime::Format::W3CDTF module. If the critical bug hasn't been fixed yet, maybe something can be done in the way of a get a non-maintainer upload, or whatever it's called on CPAN.

  • Accept dates and times in timezones other than UTC, but make sure they're output as UTC for feeds and such.

  • The branch tracking may fail if instead of copying or renaming a directory which is already recognized as a branch, you copy or rename an ancestor directory of a branch. For example, if tags/foo/bar exists, but tags/foo was simply created with svn mkdir, then doing svn mv tags/foo tags/baz should create a new branch tags/baz/bar.

  • The PodArticle plugin can't handle POD code with Unicode characters in, not even UTF-8 with a declared encoding.

  • The PictureArticle and DisplayPicture plugins are mostly the same, except that DisplayPicture doesn't produce such nice output. Most of their code and documentation should be factored out. I haven't done this yet because I'm not sure where it should go.

  • In the code which works out what publishing work is required:

    • The special _urls and _article_url flags (which are meant to indicate to the publishing dependency functions whether any URLs have changed) aren't implemented yet.
    • Daizu::Gen doesn't detect changes to the daizu:nav-menu property on directories, which should really cause it to republish pages with navigation menus affected by those changes.