To test this concept, I actually created multiple test cases here are the details
1) created roleA, roleB
2) created iviewA with quicklink qlink and assigned it to roleA
3) created iviewB with quicklink qlink and assigned it to roleB
4) Didn't touch any sort or merge priority of anything.
5) when accessed /qlink it went to iviewB
---------------------------
Changed the sort Priority of roles.
6) changed the sort Priority of roleB to 90
7) It appeared first in TLN(made sure)
8) when accessed /qlink it went to iviewB
----------------
9) changed the sort Priority of roleA to 70
10) It appeared first in TLN(made sure)
11) when accessed /qlink it went to iviewB
Changed the sort Priority of iviews.
- changed the sort Priority of iviewA to 90
- when accessed /qlink it went to iviewB . Even though iview A has Better sort Priority
Changed the Merge Priority of iviews.
- changed the merge Priority of iviewA to 90
- when accessed /qlink it went to iviewB . Even though both iview A & role A has Better sort & Merge Priority.
Removed roleB from User.
when accessed /qlink it went to iviewA. This is the only case it went to iviewA
readded roleB to user
when accessed /qlink it went to iviewB. again.
Removed iviewB from role.
when accessed /qlink it went to iviewA. This is the another case it went to iviewA
readded iviewB to role
when accessed /qlink it went to iviewB. again.
renamed iviewA and roleA to iviewC and roleC. Still it goes to iviewB.
I cleared navigation cache almost every time. There seems to be something else deciding this rather than the sort and merge priorities.
Let us know guys if you have any inputs.