Det är en månad sedan senaste versionsuppdateringen och jag har hunnit med både stora och små fixar.

GEDCOM

Jag gick igenom gedcom-kompatibiliteten på nytt eftersom jag vill att det ska vara sömlöst att importera eller exportera släktforskningsinformation. GEDCOM-export följer nu standarden mer korrekt på flera punkter: yrke, utbildning och bosättning skriver nu själva beskrivningen på rätt plats i filen (tidigare skrevs de utan text); smeknamn och alternativa namn tas nu med; mediefilers beskrivning tas nu med; kön utanför man/kvinna bevaras som anteckning istället för att tystas bort helt vid export. Det ledde till att jag fick skapa en ny händelsetyp: "Troendedop", skild från vanligt dop (barndop) eftersom en person kan ha genomgått båda — stöds fullt ut i formulär, GEDCOM-export och GEDCOM-import.

Militärtjänst exporterades tidigare med en icke-standardtagg (_MILI) som PastPaths egen import inte kände igen — export och reimport av samma data gick alltså inte ihop. Exporteras nu som en generisk händelse med tydlig klassificering, enligt vedertagen praxis för händelsetyper utan egen GEDCOM-tagg.

Händelsetyper utan egen GEDCOM-tagg (militärtjänst, besök, annat) skrev sin klassificering med gemener i exportfilen (t.ex. "military"). Skrivs nu med inledande versal ("Military"), enligt engelsk GEDCOM-konvention. Och en plats med bara namn ifyllt exporterades tidigare som en trasig rad ("PLAC None") — rättat.

Personer

Personers profilbild kan nu kopplas från redan uppladdad media i biblioteket, inte bara laddas upp direkt — samma "koppla befintlig"-flöde som redan fanns för händelser.

  • Att redigera en person kunde tidigare visa en felaktig/ofullständig post i personlistan tills sidan laddades om, på grund av en felaktig datatyp i frontend-koden.
  • Att ladda upp en ny bild direkt via profilbildsfältet när man redigerade en person sparade bilden i mediabiblioteket, men satte den aldrig som profilbild — bara "Koppla befintlig" satte faktiskt profilbilden. Fungerar nu även vid uppladdning.
  • Profilbilder som inte var kvadratiska sträcktes tidigare ut till fel proportioner istället för att beskäras, på flera ställen (redigera person, personlistan, släktträdet, listan över personer utan kopplingar). Rättat.

Platser

Platsstatistik med detaljer och kortet "Migrationsmönster" på platssidan kunde krascha med ett internt fel på grund av en trasig kodreferens i backend. Rättat.

Media

Profilbilder är nu vanlig media: de syns i mediabiblioteket och kan återanvändas till annat, de hanteras enhetligt vid person-sammanslagning och GEDCOM-export/import — istället för ett separat, dolt bildsystem bara profilbilder använde. Radering av media blockeras nu om den fortfarande är kopplad till en person, plats, källa, händelse eller citering — kopplingarna måste tas bort aktivt först. Skyddar mot att gamla, svåråtkomliga bilder försvinner av misstag. Kopplingstabellerna för media har också fått tidsstämpel för senaste ändring, i linje med hur personkopplingar redan fungerade — en förberedelse för framtida käll- och forskningsspårning.

  • Att ta bort en bild från en person raderade tidigare hela mediaposten permanent (och ur hela biblioteket) istället för att bara koppla loss den från personen — kopplas nu bara loss, precis som för platser, händelser och källor. Mediafliken uppdaterar sig nu också direkt utan att sidan behöver laddas om.
  • Radering av media kunde i vissa fall lämna kvar en trasig post om raderingen misslyckades efter att filen redan hunnit tas bort. Filen rörs nu aldrig förrän databasposten faktiskt är borttagen.
  • Bildadresser byggdes på flera ställen med en hårdkodad webbadress istället för appens faktiska bas-adress, vilket kunde ge trasiga bildlänkar beroende på hur appen kördes. Rättat konsekvent på alla ställen.
  • Miniatyrbilder visades som trasiga länkar i mediagalleriet och personlistan — en route i backend hade fått fel webbadress kopplad till sig av misstag.

Underhåll

En ny sektion i Underhåll: "Oanvänd media" — hittar mediaposter som inte längre är kopplade till någon person, plats, källa, händelse eller citering så de medvetet kan raderas när man vill.

En ny flik "Ignorerade" i dubblettvyerna (person, plats, händelse, media) — det går nu att bläddra bland och ångra tidigare "ej dubblett"-markeringar när som helst, istället för att bara ha 5 sekunder på sig direkt efter markeringen.

Källor

Källhänvisningar kan nu läggas till på blogginlägg, platser och händelser (tidigare bara personer) — samma gränssnitt på alla fyra. Källhänvisningar kan också kopieras och återanvändas på en annan person, händelse eller plats, utan att fylla i allt på nytt.

  • Att skapa en ny källa direkt inifrån källhänvisningsdialogen valde tidigare inte automatiskt den nya källan — man var tvungen att själv leta upp den i listan. Källan väljs nu automatiskt.
  • Källhänvisningar kopplade till platser visades inte på platssidan, trots att de sparades korrekt — platsens API-svar byggdes via ett separat, föråldrat serialiseringsschema som saknade källfältet. Rättat.

Taggar och kategorier

  • Att skapa en helt ny tagg direkt när man kopplade taggar till en händelse gav ett serverfel utan tydligt meddelande, och sparades aldrig. Fungerar nu.
  • Databasfel vid koppling eller borttagning av taggar och kategorier gav tidigare en trasig, oformaterad sida. Rättat.
  • Att skapa en ny tagg i Admin → Taxonomi visades inte i listan förrän man bytte flik eller laddade om sidan. Fungerar nu direkt.

Blogg

Bloggens listvy visar nu en "redigerad"-markering på inlägg som ändrats efter att de skapades. Det går att radera en blogserie — inlägg i serien kopplas bort (raderas inte). Listan över blogginlägg kan nu också filtreras på serie.

  • WordPress-import sparade tidigare publiceringsdatum i fel tidszon om bloggens exportkälla inte angav UTC-tid — kunde ge upp till två timmars fel. Importen använder nu WordPress-exportens UTC-fält istället.
  • Att spara ett blogginlägg med en webbadress som redan användes av ett annat inlägg gav tidigare ett serverfel. Väljer nu automatiskt ett unikt namn.

Navigering

Huvudmenyn försvann om man scrollade ner på en sida vars innehåll var längre än fönstret. Menyn ligger nu kvar synlig oavsett hur långt ner man scrollar. En ogiltig eller felstavad flik-parameter i webbadressen kunde tidigare ändå sätta en flik som inte finns på Admin-sidan. Rättat.

Sök

Global sök har fått ett typfilter — välj vilka kategorier (personer, platser, händelser, källor, blogginlägg) som ska sökas i.

Språkstöd

Fel- och bekräftelsemeddelanden i hela appen respekterar nu faktiskt valt gränssnittsspråk, istället för att falla tillbaka på svenska eller teknisk engelsk feltext. Automatiskt genererade händelsetitlar och datumtexter ("Okänt datum", "Cirka...") visas nu också korrekt översatta. Redan sparade händelser med gammal svensk text rättas inte retroaktivt, men allt nytt gör det rätt — det berör personer, platser, händelser, media, källor, taggar och blogg.