Che cos'è un caso ufologico?
In UFO@home, un caso riunisce tutto ciò che si sa di un fatto: che cosa è stato visto, da chi, come può essere spiegato, che cosa hanno detto i testimoni quando sono stati interrogati. Un caso è ciò di cui parla un'indagine: una notte, un luogo, un titolo. Non descrive il fatto in sé. Elenca ciò che è accaduto attorno ad esso, come eventi, ciascuno un documento a parte. Nessuno deve scriverli tutti: un caso può essere una sola osservazione, e crescere.
Gli eventi di un caso#
Un caso contiene tre tipi di evento.
- Osservazioni. Di solito almeno una: il resoconto di un testimone, che UFO@home riproduce. Un caso può contenerne altre, di altri testimoni dello stesso fatto, ciascuna con il proprio resoconto, che possono divergere.
- Interpretazioni. Una spiegazione alternativa di ciò che è stato visto: un aquilone, un pianeta, un aereo, una burla. È a sua volta un'osservazione, riprodotta accanto a quella del testimone, perché le due si possano confrontare.
- Interviste. Una conversazione condotta con un testimone, che fissa ciò che ha detto quando è stato interrogato. Non viene riprodotta.
Gli eventi di un caso possono essere collegati#
Un evento è raramente solo: un'interpretazione è un'interpretazione di qualcosa, un'intervista si tiene con qualcuno. Questi rimandi sono ciò che il lettore segue dall'uno all'altro.
| Da → A | Come |
|---|---|
| Un'interpretazione → un'osservazione | Un'interpretazione nomina l'osservazione primaria che spiega: il resoconto del testimone di cui è un'altra interpretazione. Non si capisce senza di essa. |
| Un'intervista → un'osservazione | Un'intervista nomina l'osservazione del testimone con cui si è tenuta, o quella di ciascun testimone quando erano più d'uno. |
| Un'osservazione → un'intervista | Nell'altro senso: un passaggio di un'intervista può dire di quale momento dell'osservazione parla. L'osservazione elenca allora, in quel momento, i passaggi che la raccontano, ciascuno un link di ritorno all'intervista. |
Un evento è designato da un id che gli è proprio nel caso e in nessun altro luogo. Solo un evento a cui si rimanda ne ha bisogno.
Nell'editor di casi#


L'editor apre un caso come un selettore dei suoi eventi («Osservazione di Q. B.», «Intervista a Q. B.»), e quello scelto si apre sotto. Il + aggiunge un evento del tipo scelto, e il gruppo File mostra il caso come testo.
- Aprire un caso. Carica un
case.jsonda un file o da un indirizzo, oppure parti da una registrazione e scegli «Aggiungi a un caso». - Il selettore elenca gli eventi («Osservazione di Q. B.», un'interpretazione, «Intervista a Q. B.»). Quello che scegli si apre sotto, nel suo editor: quello di osservazione per un'osservazione o un'interpretazione, quello d'intervista per un'intervista. Ciò che hai modificato negli altri viene conservato.
- L'identificatore accanto al selettore è l'
iddell'evento, con cui gli altri eventi lo designano. Dallo a un evento a cui vuoi rimandare; l'editor ne propone uno e lo dà all'osservazione con cui si tiene un'intervista. - + aggiunge un evento: un'osservazione (vuota, da un file o da un indirizzo), un'interpretazione di un'osservazione o un'intervista (con chi si è tenuta, un titolo, chi l'ha condotta, con quale mezzo). Il cestino rimuove l'evento mostrato.
- I due gruppi del caso: gli Eventi, il selettore e l'evento mostrato, e il File, il
case.jsoncome testo, completato secondo il suo schema, da modificare, caricare e salvare. I due dicono la stessa cosa: ciò che cambia nell'uno cambia nell'altro. - Salvare scarica il caso con i suoi file (uno zip quando sono più d'uno). Fino ad allora il caso è modificato solo nella pagina, e l'editor avvisa prima di ciò che andrebbe perso.
Parte tecnica: il file del caso#
Un caso è un case.json, il cui schema è case.schema.json: un titolo, una data e i suoi events. Ogni evento ha un eventType (sighting, interpretation o interview) e un url quando ha un file proprio, relativo al caso. I rimandi sono interpretationOf e interviewOf, ciascuno un id o un elenco.
Ogni estratto qui sotto è in sola lettura, e ognuno conosce il formato: metti il cursore dentro un oggetto e premi Ctrl+Spazio (⌥+I su Mac) per elencare tutte le chiavi che potrebbero andarci, con ciò che il modello dice di ciascuna.
Un esempio#
{
"id": "SaintLo2026",
"title": "Saint-Lô",
"time": "2026-08-11 02:30",
"events": [
{ "type": "event", "eventType": "sighting", "id": "qb", "time": "2026-08-11 02:30", "title": "Q. B.", "url": "observer-saint-lo.json" },
{ "type": "event", "eventType": "sighting", "id": "kite", "interpretationOf": "qb", "title": "A kite", "url": "interpretation-kite.json" },
{ "type": "event", "eventType": "interview", "id": "interview-qb-1", "interviewOf": "qb", "time": "2026-10-13 21:27",
"medium": "video", "by": [{ "people": "BeauJerome" }], "url": "interview-qb-1.json" }
]
}
Il caso#
| Campo | Significato |
|---|---|
id | L'identificatore del caso. Su rr0.org è il nome della directory del fascicolo |
title | Come si chiama il caso |
summary | Una frase o due, in quante lingue si vuole: ciò che dice di un caso un link che vi conduce quando è condiviso |
image | Un'immagine che rappresenta il caso dove è solo linkato |
time | Quando è accaduto, come RR0 scrive una data ("1948-07-24 02:45", "1954") |
events | Ciò che è accaduto attorno, in ordine (vedi sotto) |
Gli eventi#
| Campo | Significato |
|---|---|
type, eventType | "event", e il genere: sighting (un'osservazione o un'interpretazione), interview. Un caso può avere generi propri (article, image, book…), che UFO@home lascia da parte |
id | Con cui gli altri eventi lo designano, unico tra gli eventi del caso. Solo un evento a cui si rimanda ne ha bisogno |
url | Il file proprio dell'evento (la registrazione di un'osservazione, la trascrizione di un'intervista), relativo al caso |
time, place, title, summary, by | Quando, dove, come si chiama, ciò che ha stabilito, chi l'ha fatto ({ "people": "…" } o { "org": "…" }) |
interpretationOf | Di un'interpretazione: l'id, o gli id, delle osservazioni primarie di cui è un'interpretazione |
interviewOf | Di un'intervista: l'id, o gli id, delle osservazioni dei testimoni con cui si è tenuta |
medium | Di un'intervista: in-person, phone, video, chat, email, letter oppure other |
Tutto il resto di un caso (la sua classificazione, il suo luogo, le sue fonti) è RR0 a definirlo e attraversa UFO@home senza essere letto. Ciò che UFO@home riproduce di un caso sono le sue osservazioni; mostra le sue interpretazioni accanto e conserva le sue interviste.
<rr0-case-editor>
L'editor di casi: il selettore dei suoi eventi, ciascuno aperto nell'editor del suo tipo, e il file del caso come testo.
<script type="module" src="https://ufoathome.org/lib/rr0-sighting-editor.mjs"></script>
<rr0-case-editor src="/cases/saint-lo/case.json"></rr0-case-editor>
Il modulo dell'editor di registrazioni lo registra, con il <rr0-sighting-editor> che contiene. L'editor di interviste viene scaricato la prima volta che si mostra un'intervista.
| Membro | Tipo | Cosa fa |
|---|---|---|
src | attributo | L'indirizzo di un caso (case.json), o di una sola registrazione, che allora propone di aggiungere a un caso. |
track | attributo | L'indirizzo della registrazione da aprire per prima, relativo al caso; per impostazione predefinita quella del primo osservatore. |
sightingData | proprietà | La registrazione mostrata, come oggetto semplice. |
sightingEditor | proprietà | Il <rr0-sighting-editor> che lo contiene, per chi ha bisogno di più di ciò che questo elemento offre. |
caseSession | proprietà | Il caso in modifica, quando ce n'è uno aperto. |
dirty | proprietà | Vero quando il caso, o una sua registrazione, ha modifiche non salvate. |