Closed lukruh closed 1 year ago
Aus 66 kopiert: Der Konsistenz wegen sollte der Inhalt von Freien Fertigkeiten in der Datenbank in einem Attribut "name" stehen.
Charakterdateien würde ich definitiv nicht inkompatibel mit neuen Versionen machen. Das lässt sich aber auch ohne major version upgrade mit einer einfachen migration lösen (siehe Charakter.py::charakterMigrieren).
Ingesamt handelt es sich aber um ein non-functional, daher zumindest bei mir ziemlich weit unten auf der Prio. Falls sich jemand anderes drum kümmern möchte gerne, aber wie gesagt nur mit ausgiebig getestetem migration code.
JSON finde ich grundsätzlich angenehmer als XML, aber dafür möchte ich keine migration schreiben und die Datenbank ist ja auch in XML - zu wenig Mehrwert imho.
Für die Anbindung von externen Tools lautet meine Empfehlung nach wie vor das über ein Plugin zu machen, ich sehe die Datenbank und Charakterdateien als implementation details an, auf die man sich nicht verlassen sollte. Man könnte hier evtl. noch ein commandline interface anbinden um solchen export-plugin code auf diese Art triggern zu können.
Charakter.py: übernatürlicheFertigkeiten
vs EP_Uebernatuerlich_Talente
suellte alles mit ue und selbe schreibweise zB:
charakter.uebernatuerliche_fertigkeiten
und charakter.ep_uebernatuerliche_talente
(beides für fert+talente) als beispiel, es gibt noch viele mehr ;)
Beim Überfliegen eines gespeicherten Charakters fällt auf, dass einige Daten als Attribute andere als Text gegeben sind (nicht nur #66 ). Die Benennungen der Tags(?) sind ausserdem inkonsistent: Groß-/Kleinschreibung, Bindestriche, Umlaute, Abkürzungen, Sprache usw.. Hier ein paar Beispiele:
Sich auf konsistente Standards zu einigen würde es unter Anderem vereinfachen die XMLs automatisch zu konvertieren allerdings auch nicht wirklich abwärtskompatibel bleiben. Falls es da irgendwann eine Komplettüberarbeitung geben sollte, dann warscheinlich mit einer neuen Versions (edit: alte dateien können durch migrations automatisch upgedated werden). Die Daten sollen im xml-Format bleiben (nehme ich an) oder wäre ggf. JSON oder ähnliches auch eine Option?