da meine Lösung ziemlich aufwändig ist, und die Anpassung an neue Ansichten immer ein wenig Zeit bedeutet, lässt mich das Thema nicht mehr los.
Also habe ich angefangen zu experimentieren.
Folgendes habe ich rausgefunden:
Die Pseudo- NoteID ist so aufgebaut:
80 000004
80 steht dabei für die "Ebene":
Oberste Ebene = 80
Zweite Ebene = 81
dritte Ebene = 82
u.s.w.
Man kann also die Ebene berechnen aus:
(xx - 80) + 1 (hexadezimal)
so weit so gut.
der hintere Teil ist schlicht und ergreifend eine laufende Nummer, die immer um 4 erhöht wird.
Die Nummerierung erfolgt dabei nach dem auftauchen in der Ansicht.
Erstelle ich als erstes ein Dokument mit der Kategorie "Test", dann hat die Kategorie Test in der Ansicht die Nummer
80000004
Erstelle ich nun ein Dokument in der Kategorie "ABC\123", dann bekommt die Kategorie "ABC" die Nummer
80000008
und die Kategorie "ABC\123" die Nummer
8100000C
"ABC\345" bekommt dann logischerweise
81000010
So... wir wissen jetzt also, dass jede Kategorie genauf 1 ID bekommt.
Kriegen wir es jetzt hin, eine Zuordnungstabelle Kategorie <> ID zu erstellen, dann wissen wir immer, wo der Cursor steht.
(dummerweise nur auf EINER replik auf EINEM Server... wir müssten das Ding also für jeden Server getrennt ablegen)
Problem: Diese Zuordnungstabelle muss ziemlich dynamisch sein. Entfernt man das letzte Dokument aus einer Kategorie und erstellt dann ein neues, dann hat die "neu erzeugte" View- Kategorie auch eine neue Nummer....
Vielleicht hat ja jemand Lust auf ein wenig Brainstorming....
Gruß
Tode