I'm really not sure why this is the case but it needs fixing. Some of these boards I'm about to mention are not public visible.
Board index lists Public Area category as:
- The Pub
FAQs
Features
Bug reports
Plugins
Off-topic
SMF
- Dev Blog
- Salvaged Topics
- Salvaged Board
Going to The Pub itself also shows its sub-boards correctly, as does the view in Boards & Categories. But if I view the Public Area category as a whole[1] I get a very different order.
- Salvaged Topics
- Salvaged Board
- The Pub
FAQs
Off-topic
Features
SMF
Plugins
Bug reports
- Dev Blog
Now, I'm not 100% sure but for each level of hierarchy, that would be consistent with MyISAM ordering rather than correct ordering (i.e. order of creation).
I'm not sure how best to fix this. Part of me says we could just fix it by using ORDER BY board_order but I have a feeling we might be better served using Mark Rose's suggestion and applying the board order to the primary key (so that we end up with id_board as a UNIQUE, but board_order, id_board as physical primary key, so that when it's reordered, regardless of whether that's MyISAM[2] or InnoDB[3] it works properly)
Board index lists Public Area category as:
- The Pub
FAQs
Features
Bug reports
Plugins
Off-topic
SMF
- Dev Blog
- Salvaged Topics
- Salvaged Board
Going to The Pub itself also shows its sub-boards correctly, as does the view in Boards & Categories. But if I view the Public Area category as a whole[1] I get a very different order.
- Salvaged Topics
- Salvaged Board
- The Pub
FAQs
Off-topic
Features
SMF
Plugins
Bug reports
- Dev Blog
Now, I'm not 100% sure but for each level of hierarchy, that would be consistent with MyISAM ordering rather than correct ordering (i.e. order of creation).
I'm not sure how best to fix this. Part of me says we could just fix it by using ORDER BY board_order but I have a feeling we might be better served using Mark Rose's suggestion and applying the board order to the primary key (so that we end up with id_board as a UNIQUE, but board_order, id_board as physical primary key, so that when it's reordered, regardless of whether that's MyISAM[2] or InnoDB[3] it works properly)
1. | Also, why doesn't the header on the board index link to the category itself? I think it really should. |
2. | MyISAM orders by creation, but there's a physical ALTER TABLE to reorder it in the manage boards code. |
3. | InnoDB orders by primary key, so making the board_order the first half of the primary key, it will automatically be sorted into order. |