The idea is that community name is actually suppose to be treated as a semi-permanent nickname. In order, it'd be account (permanent), community name (semi-permanent), nickname (mutable).
So, in my opinion (just thinking about this right now really), things should behave something like this:
- All data should be stored by account name, because you have the guarantee that it will never change.
- Important references to the player should be by community name (or the hybrids introduced in the last two posts), because you have the guarantee that it is unique at that specific point in time. e.g., "xyz said: whatever", or "xyz joined the CTF game".
- Any colloquial references to the player can be by nickname. e.g., "Congrats Big Fat Joe you just earned 30g for smashing the pumpkin head!"
Overall, community name was a bit stupid and probably should have not been introduced.