Thank you for your comments, Mike, Jason and Ben. I am OK will all of them except for the NULL of the sort value.
I understand the visceral appeal of having a two-level approach where a human-part-order takes precedence over the natural-part-order. My issue is that the human factors would be a bit awkward for the users of the facility. By default, the nulls will be sorted last, after the explicit values.
If one wanted to put a part named "Index" at the end of all the volumes (v. 1, v. 2, etc.), then one would need to give explicit numbers to all volumes, and give the index a higher number. So this use case devolves into my original implementation, after a bit more work by the user.
Another use case. Say I want to put "Introduction to the Collection" before the numbered volumes. This one is easier: I'd only have to give the Introduction a number -- any number -- and it will display before the (null) volumes. This is equivalent to the work required in my original implementation, where the user would put, say, -1 as the sort number, which would be displayed before the default 0's.
So while the null design has aesthetic appeal, I think it would be harder to use.
Thank you for your comments, Mike, Jason and Ben. I am OK will all of them except for the NULL of the sort value.
I understand the visceral appeal of having a two-level approach where a human-part-order takes precedence over the natural-part-order. My issue is that the human factors would be a bit awkward for the users of the facility. By default, the nulls will be sorted last, after the explicit values.
If one wanted to put a part named "Index" at the end of all the volumes (v. 1, v. 2, etc.), then one would need to give explicit numbers to all volumes, and give the index a higher number. So this use case devolves into my original implementation, after a bit more work by the user.
Another use case. Say I want to put "Introduction to the Collection" before the numbered volumes. This one is easier: I'd only have to give the Introduction a number -- any number -- and it will display before the (null) volumes. This is equivalent to the work required in my original implementation, where the user would put, say, -1 as the sort number, which would be displayed before the default 0's.
So while the null design has aesthetic appeal, I think it would be harder to use.