Personenliste sollte FullName als sekundäres Sortierkriterium nehmen wenn SortLastName identisch

SirPounce hinzugefügt 2 Jahren her
beantwortet

Liebes Citavi-Team,


das ist einerseits die Kategorie "extrem detailorientierter Vorschlag statt allgemeine Anforderung", andererseits hatte ich das Problem auch schon anderer Stelle, nur nicht so akut wie jetzt: jedenfalls kann es passieren, dass man mehrere verschiedene Personen mit gleichem "Sortieren nach"-Feld hat.

Das Handbuch legt das auch stark nahe, dass das passieren kann, da dort nur steht "Tragen Sie in das Feld Sortieren nach den Namensbestandteil ein, der für die automatische Sortierung genutzt werden" nicht "gehen Sie aber sicher, dass der Eintrag dort eindeutig wird" (beim Recherchieren des Handbuchs ist mir als beinharter Republikaner noch was anderes aufgefallen: "Otto Fürst von Bismarck" – "Fürst von Bismarck" war ein Nachname, so wie es ihn seit der Weimarer Reichsverfassung gibt (wobei in dem Fall mit wenig Namensträgern, da ein ehemaliger Primogeniturtitel und somit nicht vererbbar). Der etwas bekanntere und wahrscheinlich gemeinte Namensträger, der Großvater des CDU-Politikers "Otto Fürst von Bismarck", war "Fürst Otto von Bismarck" und in dem Fall ist der "Fürst" in der Tat ein Titel und stünde bei voller Namensnennung vor dem Vornamen, und nur bei Nennung nur des Nachnamens vor dem Nachnamen. Das Beispiel ist daher etwas unglücklich, es sei denn, es soll suggeriert werden, dass auch für den CDU-Politker der "Fürst" weggelassen werden soll, was m.E. falsch ist, da "Fürst von Bismarck" nach 1918 schlicht der Nachname des Mannes war, egal wie man das jetzt sortiert oder ob man das von abkürzt oder nicht.)

Wenn man nun mehrere Personen gleichen Sortiernamens hat, wird die Personenliste zwischen diesen Personen gleichen Sortiernamens komisch sortiert. Mir ist die Sortierreihenfolge nicht klar. Ich glaube, es wäre gut, in dem Fall den vollen Namen, nach dem ja sonst auch sortiert wird, noch als sekundäres Sortierkriterium heranzuziehen.

Beste Grüße

Jan Jakob

Beste Antwort
Foto

Guten Tag

Die nächste Beta-Version enthält eine Ergänzung beim Vergleich der Personennamen, die das "Bismarck" Problem löst. Citavi vergleicht nun abschließend nochmals die "Vollnamen" - aber diesmal basierend auf den echten Nachnamen und nicht den Sortiernamen - falls alle vorangehenden Vergleiche kein von 0 verschiedenes Resultat geliefert haben.

32a6fe49a0aa6add7bb848a5035e1a2d

Nur teilweise gelöst ist dadurch aber das beschriebene Problem mit der Zweckentfremdung des LastNameForSorting für die Jurisdiktion. Denn hier war auch schon zuvor der Vergleich keineswegs stets ohne Resultat (also von 0 verschieden geblieben). Die Kombination aus LastNameForSorting und Abbreviation liefert i.d.R. eine genau definierte Sortierabfolge. Nur in einzelnen Fällen, wo auch die Abkürzungen identisch sind, liefert nun der auf LastName basierende Vergleich ein von 0 verschiedenes Resultat.

Mehr können wir leider nicht tun, denn es erscheint nicht zweckmäßig, die bestehende Sortierlogik auf den gewählten Lösungsansatz hin auszurichten. Wir diskutieren aber, ob wir in C7 die Felddefinition für "Person/Organisation" erweitern und/oder im Dialog der Personenliste eine Option "Sortieren nach" einführen, wo die Sortierfelder ähnlich wie bei den Titeln frei wählbar wären.

b108aa814e4011e174de0c824e0f0932

Freundliche Grüsse

Peter

Kommentare (5)

Foto
1

Lustig übrigens, dass meine Nebenbeibemerkung in Klammern länger ist, als die eigentliche Idee, und da ich es nicht schaffe, den Link nachträglich wieder zu löschen, so dass nur "Handbuch" unterstrichen wird, auch visuell wesentlich prominenter.

Foto
1

Seit zwei Jahren kämpfe ich mehrmals täglich mit diesem Problem. Per

using System;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

using SwissAcademic.Citavi;
using SwissAcademic.Citavi.Metadata;
using SwissAcademic.Citavi.Shell;
using SwissAcademic.Collections;

// Implementation of macro editor is preliminary and experimental.
// The Citavi object model is subject to change in future version.

public static class CitaviMacro
{
	public static void Main()
	{
		//Get the active project
		Project project = Program.ActiveProjectShell.Project;
		
		//Get the active ("primary") MainForm
		MainForm mainForm = Program.ActiveProjectShell.PrimaryMainForm;
		
		ProjectPersonCollection persons = project.Persons;
		
		persons.Sort(new PersonComparer());
	}
	
}
public class PersonComparer : Comparer<Person>
{
	public override int Compare(Person x, Person y)
    {
		if (x.LastNameForSorting.CompareTo(y.LastNameForSorting) != 0)
        {
            return x.LastNameForSorting.CompareTo(y.LastNameForSorting);
        }
		else if (x.LastName.CompareTo(y.LastName) != 0)
        {
            return x.LastName.CompareTo(y.LastName);
        }
		else if (x.FirstName.CompareTo(y.FirstName) != 0)
        {
            return x.FirstName.CompareTo(y.FirstName);
        }
		return 0;
	}
}bringt man Citavi bei, nach dem LastNameForSorting den eigentlichen Nachnamen, danach den Vornamen als Sortierkriterium zu nehmen.

Das Makro wird im Einzelfall Änderungsbedarf hervorrufen, aber für mich klappt es.

Foto
1

Hallo SirPounce

Mein Kollege Jörg schreibt mir zu Ihrer Anfrage:

Ich sehe im konkreten Fall keinen Änderungsbedarf, denn wir machen dies im Prinzip heute schon so wie es das Makro des Kunden aufzeigt. Woran es nun im konkreten Fall bei seiner Sortierung scheitert, wäre anhand von Beispieldaten und einer Ist/Soll Beschreibung zu prüfen.

Der beigefügte Screenshot zeigt, dass Citavi schon lange standardmässig Personen 1.) nach Nachname 2.) nach Vorname und 3.) nach vollem Namen sortiert. Dabei berücksichtigen aber sowohl die Methoden zu 1.) als auch 3.) ggf. den Sortiernamen ("LastNameForSorting") an Stelle des Nachnamens.


/19217812d23400bdcb577710e6337eef

Freundliche Grüsse

Peter

Foto
1

Das Datenmodell von Citavi kracht und biegt ja an allen Ecken und Enden. Da die Notizfelder nicht im Word-AddIn ankommen, musste ich irgendein Datenfeld nehmen, welches im Word-AddIn ankommt, und es mir erlaubt, die Jurisdiktion eines Gerichts einzutragen. Dafür habe ich das Feld "LastNameForSorting" genommen.

Die Jörg’sche Logik scheitert in dem Moment, in dem mehrere Titel vorhanden sind, bei denen der LastNameForSorting und der Vorname jeweils in beiden Titeln identisch, die eigentlichen Nachnamen aber verschieden sind.

Da kommt dan nämlich raus

"1. Null (es wird nämlich statt der verschiedenen LastName der identische LastNameForSorting bei beiden Titeln verglichen.

2. Null (haben ja beide den selben Vornamen).

3. Null (FullName = LastNameForSorting+FirstName ist bei beiden identisch.)"

Theoretisch könnte der Fall auch bei Personen auftauchen, nicht nur Gerichten. Mein Beispiel (welches ja im Citavi-Handbuch falsch ist) ist Otto von Bismarck. Es gibt zwei Personen. Fürst Otto von Bismarck war ein Politiker des 19. Jahrhunderts. Otto Fürst von Bismarck war ein Politiker der NSDAP und CDU im 20. Da viele Zitierstile das mit der Republik und der Aufhebung des Adels nicht so ganz verstanden haben, müsste ich die Beiden etwa wie folgt erfassen:

Zuerst der des 19. Jh., bei dem Fürst ein Titel, kein Name ist.

Last Name: von Bismarck

First Name: Otto

LastNameForSorting: Bismarck

Dann der des 20. Jh., bei dem seit der Revolution 1918 der "Fürst von Bismarck" Nachname war, Zitationsstile aber darauf beharren, den "Fürst von" wie einen Titel zu behandeln.

Last Name: Fürst von Bismarck

First Name: Otto

LastNameForSorting: Bismarck

Citavis eingebauter Test würde bei 1,2,und 3 0 ergeben, weil eben offenbar nicht noch sekundär danach geguckt wird, ob der LastName verschieden ist, wenn der LastNameForSorting identisch ist.

Foto
1

Ich ärgere mich über Formulierungen wie "Das Datenmodell von Citavi kracht und biegt ja an allen Ecken und Enden." Solche Pauschalurteile passen von mir aus in beliebige Social Media Kanäle; in einem Forum wie diesem hier bitte ich um sachliche Kritik.

Foto
1

Hier übrigens mal ein Beispiel des Chaos aus der Personenliste. Was man sieht, ist jeweils der Nachname. LastNameForSorting ist bei allen "Eng. and W." Vorname ist überall leer (ich kann nicht, was eigentlich logischer wäre, Jurisdiktion als Nachname und Gerichtsname als Vorname erfassen, sonst wird es nicht als Organisation erkannt) Ich muss das Datum "Eng. and W." ja irgendwo erfassen, wo es im AddIn ankommt, denn der Zitationsstil verlangt, dass es ausgegeben wird.

/7ed9115b5c446f11070930d8ddd6834a

Foto
1

„Kracht und biegt“ meint, das Datenmodell von Citavi ist nicht ausreichend, um alle für die Erfassung von gerichtlichen Entscheidungen notwendigen Daten in einer nutzerfreundlichen, intuitiv auffindbar und einfach sichtbaren, Art und Weise erfassen, Wenn das pauschalisierend klingt, tut es mir leid. Ich habe das Problem allerdings schon vor etwas längerer Zeit etwas differenzierter beschrieben.

Das „Chaos“ ist ebenfalls nicht wertend gemeint, das ist halt einfach logische Konsequenz einer Sortierlogik, welche für manche Fälle Identität ausspuckt. Ich hätte auch „zufällige Ordnung“ schreiben können.

Foto
Foto
1

Guten Tag

Die nächste Beta-Version enthält eine Ergänzung beim Vergleich der Personennamen, die das "Bismarck" Problem löst. Citavi vergleicht nun abschließend nochmals die "Vollnamen" - aber diesmal basierend auf den echten Nachnamen und nicht den Sortiernamen - falls alle vorangehenden Vergleiche kein von 0 verschiedenes Resultat geliefert haben.

32a6fe49a0aa6add7bb848a5035e1a2d

Nur teilweise gelöst ist dadurch aber das beschriebene Problem mit der Zweckentfremdung des LastNameForSorting für die Jurisdiktion. Denn hier war auch schon zuvor der Vergleich keineswegs stets ohne Resultat (also von 0 verschieden geblieben). Die Kombination aus LastNameForSorting und Abbreviation liefert i.d.R. eine genau definierte Sortierabfolge. Nur in einzelnen Fällen, wo auch die Abkürzungen identisch sind, liefert nun der auf LastName basierende Vergleich ein von 0 verschiedenes Resultat.

Mehr können wir leider nicht tun, denn es erscheint nicht zweckmäßig, die bestehende Sortierlogik auf den gewählten Lösungsansatz hin auszurichten. Wir diskutieren aber, ob wir in C7 die Felddefinition für "Person/Organisation" erweitern und/oder im Dialog der Personenliste eine Option "Sortieren nach" einführen, wo die Sortierfelder ähnlich wie bei den Titeln frei wählbar wären.

b108aa814e4011e174de0c824e0f0932

Freundliche Grüsse

Peter

Foto
2

Das erscheint mir sinnvoll. Das Bismarck-Problem ist ja das allgemeine Problem (das stellt sich übrigens auch bei Leuten, die bei gleichbleibendem Namen den Titel im Laufe ihres Lebens gewechselt haben, was vor allem bei englischen Richtern vorkommt, die aber stets unter dem Namen+Titel zum Zeitpunkt der Veröffentlichung zitiert werden sollen), das andere ein Spezialproblem, welches sich mit der manuellen Sortierung per Makro lösen läßt. Felddefinition erweitern wäre natürlich mein Favorit (wenn damit gemeint ist ein Feld Jurisdiktion einzuführen). M.E. ist das hier damit gelöst, und kann geschlossen werden. Mein flappsiges "biegen und brechen" lässt mich allerdings immer noch zerknirscht zurück.