Release 1.5.12

This minor release fixes two bugs: (a) the texts of edited stories did not appear correctly in the “Show story texts for copying” popup on the “Explore Patterns” page, and (b) annotation import and bulk change might not work correctly for edited stories. Thanks to a helpful user for finding this bug!

If you want a longer explanation, keep reading.

A subtle bug has been creeping into NF (without my noticing it) over the past few years. What happened was, I was supposed to be accessing story data through methods that check for updates to the story. This was to handle situations in which story data were edited (on the “Review incoming stories” page) after they were first entered (via survey, data entry, or import). I did once know about and use these checking-for-updates methods, but I seem to have forgotten about them as the years went by. So I had been poking my fingers directly into the story data, bypassing the checking-for-updates methods. That was a bad thing.

Fortunately, most of the direct access was into things the user cannot change (like story and participant IDs, which are generated by the system). But three direct accesses created problems.

  • On the “Explore Patterns” page, showing story texts in a separate window for copying would show the original story texts, not your edited versions. (This is the bug the helpful user found and reported.)
  • When you were bulk-changing annotation data, any edited story data would not match up correctly, because only the original versions were being compared.
  • When you were importing annotation data, NF was looking for the original story texts in the CSV file, not the edited versions.

These mistakes are all fixed now.

But finding bugs should not be how you remember how you used to do things.

This is just the sort of incident that makes me think software development support systems could do a better job of capturing, managing, and making accessible the stories of software development. Years ago, we told ourselves a story about how we access data that may have been altered, but eventually I forgot the story. The question is, how could I have been helped to remember it?

Probably the best answer is to work the story into the code, which is how we fixed the problem. We made the fields I was poking my fingers into private, so I will get an error if I try to access them directly again. Plus, we strongly typed all references to the data structures involved, so I will see warnings if I try to use them in ways they were not meant to be used again. We should have done all of this long ago, but we didn’t – probably because it didn’t occur to us back then that we would be developing NF in fits and starts with months and years between. I am now thinking that I should probably go over all of the code and clean up any place in which any variable has an undeclared type (of “any”), to better flag future departures from forgotten practices.

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.11

This minor release improves error handling for empty (no-name) questions. NF was choking on them during export. Thanks to a helpful NF user for finding and telling us about this bug!

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.10

This minor release fixes a small bug in which write-in survey answers were being left out of the “this is what you said” copy-and-paste display users can see (if you want them to) after they submit their story(ies). That’s it!

 

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.9

This “clarity” release improves various usability aspects of NarraFirma.

Most importantly, I added page descriptions to each section page (Planning, Collection, etc). These descriptions used to be in popup “tooltips” that appeared when you hovered over page links. However, it did not seem like people were doing that. So I moved them to texts that always appear after each link. If you find these new explanatory texts annoying, you can turn them off using a new project option in the Project administration / Project options page. I also went through and improved all of the page descriptions, so that they explain more clearly why you would want to use each page.

Other improvements in this release mainly have to do with colors (some of the more annoyingly bright colors have been toned down) and links (which now show hover-over, or focused, boxes to make it more clear what you are about to do). Oh yes, and the section pages now have images that match the home-page diagram, rather than just the boring old name of the section.


narrafirma changes


I think this will be a more grounded way to look at each section and make the whole experience feel more coherent.

And as usual I found and fixed a few small bugs.

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.8

This minor (but again critical!) release does two things: adds the ability to import annotations from a CSV file, and fixes a bug in which the buttons that add questions to a story form didn’t work when the story form was brand new. It was an oversight in testing and is now fixed.

NF really needs a tester who is not the same person as the developer. Developer testers always miss things.

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.7

This minor (but critical!) release fixes a longstanding bug in the WordPress version of NarraFirma that nobody noticed until today, when a user discovered and posted the issue. On the NarraFirma WordPress options page, if you entered a WordPress user id or role in the “read access” field of a project, and then deleted that id or role, NarraFirma granted anonymous read access to the project. This bug is now fixed.

We never thought to test this use case. More importantly, it never occurred to us that the HTML form on the NF settings page would return a blank string (instead of a null or other non-data result) when the user deleted the contents of a field. Because the user id of an anonymous WordPress user is not “anonymous” (or, again, null) but a blank string, the two fields matched up. Now NF specifically checks for an empty read-access permission string. We apologize for this mistake and hope that it has not affected any other WP-NF installations to date.

Note that this problem has never existed in the Node.js version of NF, in which an anonymous user is called “anonymous” and an empty permission string cannot be stored.

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.6

This minor (but critical!) release fixes a nasty bug I discovered while improving the help system. A few releases back, when I added an option to set the width of text input fields, I accidentally disconnected the story-name field from its on-change method. This could cause the survey to refuse to save a story (because it thought the story had no name). I am surprised, and sorry, that I made this mistake, and I’m also very surprised that I didn’t catch it in my testing. It’s fixed now, but the whole thing does make me think that automated regression testing ought to move up in the NF priority list for next year.

There are a few other, smaller bug fixes in this release, plus improvements to the help system, which was what led me to find the nasty bug in the first place. All of this was prompted by some excellent feedback from a NarraFirma user, who suggested clarifications in the help system and found one of the smaller bugs. Thank you, user :)

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.5

This minor (but critical!) release fixes a bug I recently introduced into NarraFirma’s WordPress PHP code. When you installed NarraFirma and clicked on the “NarraFirma” line on your WordPress dashboard, you might have seen a blank screen, and you might have seen the error “Call to undefined function.” This bug is now fixed. I extend my apologies to anyone who got stuck on it and my thanks to the NF user who reported it.

As always, if you find any bugs, please report them on the GitHub issues page.

Release 1.5.4

This minor release fixes a small bug I noticed while looking back over the blog post from version 1.5.0.

Did you notice it? Go back and look. In the unlumped graph, the two bar counts are 7 and 8. In the lumped graph, the combined count is 17. It should be 15. I can’t believe I didn’t notice that before.

When a person clicks on an answer, creating a dictionary entry, and then clicks the checkbox off again, the dictionary entry is not removed; it’s just set to false. In my new lumping code I accidentally tested whether the dictionary entry existed for the answer, not whether the value both existed and was true. The result was some slightly-off lumped counts, like in the 15-17 example. Sorry. It’s fixed now.

As always, if you find any bugs, please report them on the GitHub issues page.