Documentation/it

From Osiris

Jump to: navigation, search

Documentazione in italiano di Osiris

Contents

Installazione

E' necessario installare Osiris dato che i portali creati con esso sono accessibili solamente se il software è installato sul proprio sistema.

Per l'installazione, consultare la guida alla prima installazione.Una volta installato ed eseguito, Osiris agisce come un server web in locale, in modo da rendere disponibile l'interfaccia utente attraverso i comuni browser web.

Al primo avvio, comparirà un Wizard che vi seguirà nella prima impostazione generale del sistema.Al termine, Osiris sui sistemi Windows comparirà come icona nella traybar. Con un click sull'icona è possibile mostrare la finestra di gestione dell'applicazione, e con un doppio-click sull'icona, è possibile lanciare il browser predefinito per accedere al sistema e ai portali installati.

Distribuzioni supportate e versioni

Per la lista dei sistemi operativi con cui è possibile eseguire Osiris basta consultare la pagina di download.

In generale sono disponibili due versioni per l'installazione: Installer e Portable/No Install. Le due versioni sono funzionalmente identiche, le uniche differenze sono le seguenti.

  • Con la versione Installer il protocollo osiris:// viene registrato nel sistema durante l'installazione e tutti i dati vengono salvati nelle directory dell'utente, in particolare

in Windows XP: C:\Documents and Settings\<utente>\Dati applicazioni\osiris

in Windows Vista: C:\Users\<utente>\AppData\osiris.

  • Con la versione No Install il protocollo verrà registrato al primo avvio dell'applicazione e tutti i dati vengono salvati in una directory chiamata "data" direttamente nella directory principale ove è presente il software Osiris.

La versione No-Install è consigliata nel caso in cui si voglia utilizzare Osiris da un disco rimovibile (come ad esempio una chiavetta USB), oppure all'interno di volumi criptati (ad esempio volumi creati con Truecrypt).

Principio di funzionamento

Per approfondire, consulta la voce principi di funzionamento.

In un sistema moderato/amministrato, il moderatore si occupa di analizzare le discussioni e gli utenti, eliminando i contributi off-topic (OT) e lo spam. In tale sistema vi è una persona che decide per tutti come filtrare i contenuti, e potrebbe non filtrarli come vorresti o come vorrebbe la maggior parte, oppure potrebbe filtrare contenuti che tu ritieni siano accettabili. Inoltre, i moderatori sono scelti da chi gestisce il sito, e gli utenti che lo frequentano sono tassativamente obbligati ad accettare le regole imposte dai moderatori, accettare cosa i moderatori ritengono fuori o dentro le regole che impongono, e non hanno voce in capitolo all'elezione di un utente come moderatore.

In un sistema distribuito come Osiris, l'approccio è radicalmente diverso, in quanto nessuno è il vero proprietario di un portale, ma semplicemente esprime il suo punto di vista, all'interno della comunità del portale, di come quel portale dovrebbe essere gestito. In Osiris non esistono amministratori o moderatori nel portale, dato che tutti gli utenti hanno gli stessi "diritti" e gli stessi poteri. Ognuno è libero di contribuire al portale ed esprimere il proprio pensiero, e persino di modificare il contributo al portale.

Portali

Per approfondire, consulta la voce portali.

Un portale, nell'ambito di Osiris, è un sistema di informazioni condivise che costituisce un punto di partenza per l'accesso ad un gruppo consistente di risorse di uno specifico, o vario, genere.

Tali portali possono essere strutturati come blog o forum, e sono completamente anonimi e serverless.

Privacy, anonimato e sicurezza

Link

Per garantire la privacy e l'anonimato durante la navigazione in un portale Osiris, gli hyperlink vengono distinti tra interni ed esterni.

I link interni sono link che portano ad altre pagine all'interno del portale stesso, quelli esterni sono tutti i link che puntano a indirizzi web esterni al portale (ad esempio http://www.google.com), o all'esecuzione di programmi esterni ad Osiris (ad esempio i link eDonkey, VoIP, Magnet, StealthNet, ecc.).

Privacy relativa ai link esterni

Tecnicamente, il problema è che se qualcuno pubblica un link esterno e gli utenti lo cliccano, chi possiede il web-server a cui il link ad hoc punta potrebbe monitorare gli indirizzi IP degli utenti che hanno seguito quel link. Stesso ragionamento per le immagini, ad esempio nel codice

[img]myimage.png[/img]

In normali link nel portale questo non è un problema in quanto comunque non sarebbe possibile risalire all'utente Osiris che ha seguito il link, motivo per cui i link esterni di immagini sono richiamati comunque direttamente, i link esterni di pagine sono attivi (alcuni vengono seguiti solo via conferma).

Tale comportamento è comunque disattivabile, aumentando il livello di privacy al massimo, agendo sulle opzioni privacy.allow_external_urls e privacy.allow_external_images presente nel browser web, nella pagina Impostazioni, scheda privacy. Se impostate tali opzioni a false, i link esterni non saranno visualizzati neanche come hyperlink, e le immagini esterne saranno sostituite con un'immagine di avviso di immagine esterna.

Messaggi privati

Nella visualizzazione dei messaggi privati, le immagini esterne non sono visualizzate e i link esterni non sono visualizzati come hyperlink, di default. In tal caso le opzioni privacy.allow_external_urls e privacy.allow_external_images sono impostate a false. E' possibile visualizzare le immagini o attivare i link agendo sul comando visualizza manualmente.

Questo perché, mentre nei link nel portale non si ha modo di risalire all'utente che ha cliccato il link, nei messaggi privati qualcuno potrebbe inviare all'interno un'immagine ad un utente specifico, e monitorando il web-server su cui quell'immagine esterna risiede, potrebbe associare uno specifico utente di un portale ad un indirizzo IP. Sarebbe una grave violazione dell'anonimato in Osiris, motivo per cui il comportamento citato è impostato di default.

Richiesta di conferma

Se i link esterni sono abilitati, per alcuni protocolli viene richiesta una conferma, di altri no, perché potrebbe essere comunque una violazione della privacy.

Teoricamente tutti i link esterni dovrebbero chiedere conferma, ma per rendere il sistema più semplice, i protocolli che non richiedono conferma sono specificati nell'opzione url.protocols.no_confirm, presente nel browser web, pagina impostazioni, scheda impostazioni visive.

Pagina di redirect

Infine, alcuni protocolli puntano ad altre pagine web (come ad esempio http://, ftp://, ecc.), e necessitano quindi di passare attraverso una pagina di redirect (anche per risolvere il problema dei Referrer), altri no (come ad esempio i link magnet, VoIP, StealthNet, ecc.). L'elenco dei protocolli che non devono passare attraverso la pagina di redirect è specificato nell'opzione url.protocols.no_redirect, presente nel browser web, pagina impostazioni, scheda impostazioni visive.

Il Referrer

La funzione di Referrer, quando viene cliccato un link, permette al sito web di destinazione di identificare da quale indirizzo il navigatore è giunto. Permettere il Referrer in Osiris non violerebbe la sicurezza, dato che in ogni caso non sarebbe possibile associare la richiesta ad un utente di Osiris, però permetterebbe al sito web di destinazione di sapere che un certo indirizzo IP ha installato Osiris e frequenta un determinato portale.

Per evitare questo in Osiris, di default i link esterni vengono rediretti ad una pagina di intermezzo (definita dall'opzione web.redirect_url, presente nel browser web, pagina impostazioni, scheda privacy) che fa solamente da tramite, in modo che il sito web di destinazione non possa nemmeno sapere che siete arrivati ad esso attraverso un link presente in un portale Osiris.

E' possibile anche disattivare l'invio delle informazioni di Referrer dal browser web in uso (sia Opera che Firefox hanno un'opzione in merito, ma si sconsiglia comunque di farlo, in quanto alcuni siti web funzionano solo con il Referrer attivato):

  • in Mozilla Firefox, il plugin WebDeveloper permette la disabilitazione dei referrer, oppure è possibile disabilitarli in about:config -> network.http.sendRefererHeader -> enter '0' ';
  • in Opera, è possibile disabilitare i referer in Tools -> Preferences -> Advanced -> Network -> Enable referrer logging

Truecrypt

Come già descritto nella documentazione, anche se Osiris supporta diverse protezioni crittografiche (a livello di autenticità degli autori dei contributi, a livello di protocollo, ecc.), i dati nei file di database sono salvati in chiaro e quindi visibili da chiunque abbia accesso alla macchina ove è installato Osiris.Una protezione crittografica totale dei dati installati è possibile utilizzando un software esterno, TrueCrypt, disponibile sia per Windows che per Linux.

TrueCrypt vi permette di creare un volume virtuale criptato (con diversi algoritmi a scelta), che una volta 'montato' può essere utilizzato come un normale disco, su cui installare o copiare il software Osiris, in modo che i file dei database vengano creati sul volume criptato.

Per ulteriori informazioni, consultare la documentazione di TrueCrypt (si consiglia di leggere la sezione Hidden Volume per un'ulteriore protezione).

OSML - Osiris Markup Language

Per approfondire, consulta la voce OSML.

In Osiris i contenuti vengono scritti utilizzando il linguaggio a tag (simile all'HTML) chiamato OSML (OSiris Markup Language). E' un linguaggio molto simile, riguardo la sintassi, al bbCode.

I bbCodes sono nati principalmente nei forum per permettere agli utenti di applicare degli stili di formattazione (grassetto su un testo, pubblicare un link, etc) cercando comunque di lasciare la sintassi semplice e immediata anche agli utenti non esperti. Osiris supporta tutti i bbCodes più comuni presenti nella maggior parte dei forums, più altri tag specifici di Osiris per permettere funzionalità avanzate, ed anche la maggior parte dei tag HTML.

Non è possibile scrivere un contenuto in linguaggio HTML puro, poiché non sarebbe possibile filtrare il contenuto per evitare violazioni di sicurezza (ad esempio. l'apertura di un link esterno senza autorizzazione dell'utente), una delle caratteristiche fondamentali di Osiris.

Internazionalizzazione

Osiris è un software multilingua, sia per quanto riguarda l'uso che per quanto riguarda la creazione di contenuti in più lingue contemporaneamente.

Per ogni cultura Osiris conosce il formato di data utilizzato (sia in versione corta che estesa), il separatore utilizzato nei numeri, la traduzione dei nomi dei giorni/mesi, la valuta utilizzata, etc. Potete consultare l'elenco completo delle culture supportate qui, oppure in un portale nel browser web cliccando su Profilo e scegliendo cambia lingua dal menù.

Supporto ai charset

Osiris genera pagine in formato XHTML con charset UTF-8 (unicode), garantendo la possibilità di utilizzare caratteri unicode (quali ad esempio caratteri arabi, giapponesi, russi, cinesi, etc.)

Gestione dei fusi orari

In Osiris tutte le date sono memorizzate in formato UTC. Gli utenti possono specificare, nelle preferenze del profilo, quale fuso orario utilizzare.

Se non viene specificato, verrà utilizzato il fuso orario predefinito della cultura selezionata; tale valore potrebbe essere approssimato, in quanto possono esistere diversi fusi orari nella stessa cultura. Le date verranno visualizzate nelle pagine nel formato previsto dalla cultura selezionata.

Se si è nelle pagine principali, se nelle opzioni è specificato time_offset_by_language='no', viene utilizzato l'offset specificato nelle opzioni (time_offset), altrimenti viene determinato il default per la lingua corrente (i default sono specificati nel file cultures.xml).

Ora solare/legale (Daylight Saving Time)

Osiris non può calcolare automaticamente se si è all'interno di una Daylight Saving Time, perché le date di entrata/uscita del periodo di DST varia da paese a paese, e non ci sono regole semplici/precise/consolidate. Normalmente in motori di portali o forum tradizionali viene utilizzato come orario di riferimento quello specificato nel server che ospita il portale, ed è l'amministratore che si occupa dell'allineamento.

In Osiris, essendo decentralizzato, questo non è possibile. E' quindi a carico dell'utente, al momento dell'entrata/uscita in vigore del periodo di DST, aggiornare il proprio offset di DST dal pannello delle preferenze.

Multilingua nel software

In Osiris ogni messaggio o voce è identificato da un ID univoco. Ogni qualvolta un testo deve essere visualizzato, viene ricercato nella sottocultura specificata dall'utente, ed eventualmente nelle culture padri di quella sottocultura. Al lato pratico questo sistema garantisce che, se si sta utilizzando la traduzione spagnola e alcuni testi non sono stati tradotti, verranno comunque visualizzati i testi in inglese.

Multilingua nei contributi

E' possibile scrivere qualsiasi contenuti nel portale utilizzando un tag specifico per definire testi in più lingue. Tale è il tag [lang].

Ad esempio è possibile scrivere un topic in un forum in francese e in una lingua generica (invariant), permettendo agli utenti che hanno specificato una lingua francese o una sottocultura francese di vedere il testo francese, e il testo generico per tutti gli altri.

Dettaglio di selezione voce in base alla cultura corrente

Ogni qualvolta una voce viene richiesta, essa viene ricercata nella cultura specificata dall'utente (o nella cultura definita dall'opzione Options:language.id se non è specificata, o è richiesta da una pagina in cui nessun utente è loggato). Se la voce non viene trovata, viene ricercata in base alla cultura padre, e così via fino alla cultura invariant (generica).

Se anche nella cultura 'invariant' non è presente, viene ricercata nella cultura specificata nell'opzione Options::language.alternative. Se anche lì non è specificata, viene visualizzato a video il codice della voce racchiusa tra due caratteri tilde (~).

Ad esempio, supponiamo che la lingua selezionata dall'utente sia it-CH (Italiano Svizzero), e che sia specificata nell'opzione Options::language.alternative la cultura en (Inglese), il sistema:

  • cerca la voce richiesta nella cultura it-CH (Italiano svizzero)
  • se non l'ha trovata, cerca nella cultura padre, it (Italiano generico)
  • se non l'ha trovata, cerca nella cultura padre, inv (Generico)
  • se non l'ha trovata, cerca nella cultura alternativa en (Inglese generico)
  • se ancora non l'ha trovata, mostra il codice racchiuso dai due tilde (~).

Culture supportate

Sono supportate tutte le culture specificate dallo standard RFC 3066/1766.

Ogni cultura è nominata come combinazione delle due lettere dello standard ISO 639, associato ad una lingua, insieme alle due lettere dello standard ISO 3166, associato ad una sottocultura, associato a sua volta ad un paese od una regione.

Il formato di un codice (id) di una cultura è <languagecode2>-<country/regioncode2>, dove <languagecode2> è il codice della lingua, e <country/regioncode2> è il codice della sotto-cultura. Ad esempio:

  • ja-JP identifica il giapponese del Giappone
  • en-US identifica l'inglese degli Stati Uniti
  • it-IT identifica l'italiano dell'Italia
  • it-CH identifica l'italiano della Svizzera

Nei casi in cui le due lettere del codice della lingua non sono disponibili, viene usato un codice da tre lettere derivato dallo standard ISO 639-2.

Sviluppo estensioni e specifiche

Skin

Una skin di Osiris è composta da:

  • risorse (immagini, icone, etc);
  • fogli di stile CSS;
  • template XSLT;
  • script JavaScript client-side;
  • script JavaScript server-side.

E' possibile creare una skin di Osiris come derivata di un'altra skin. Questo vi permette ad esempio di creare una skin derivata dalla skin di base di Osiris, collocando nella vostra skin solamente le differenze. Pertanto, non è necessario conoscere tutte le tecnologie sopra-citate per la realizzazione di una skin.

Quando Osiris ricerca un'immagine (ad esempio la bitmap per disegnare un blocco), la cerca prima nella skin corrente, e se non la trova la cerca nella skin padre della skin corrente, e così via. Possiamo quindi identificare almeno 4 livelli di complessità di realizzazione di una skin:

  • Livello 1 (nessuna conoscenza di linguaggi di sviluppo specifici)
    • Utilizzo di nuove immagini in sostituzione a quelle esistenti, ad esempio icone, emoticons etc.
  • Livello 2 (conoscenza di CSS)
    • Ridefinizione di stili CSS
  • Livello 3 (conoscenza di XSLT, XML, XPath)
    • Ridefinizione di template
  • Livello 4 (conoscenza del linguaggio di scripting JavaScript di Osiris)
    • Ridefinizione di scripts (server-side o client-side).

XSLT

Il motore di base di Osiris crea dei documenti XML contenenti i dati da rappresentare, dopodiché richiama dei template XSLT definiti nelle skins che si occupano di trasformare il documento XML in un documento XHTML per la presentazione della pagina all'utente.

Ad esempio, il file /block.xsl si occupa della generazione del codice XHTML per rappresentare un blocco. E' possibile quindi realizzare una skin ridefinendo esclusivamente questo template XSLT, per realizzare rispetto ad un'altra skin utilizzata come base solamente degli stili di blocchi differenti.

Specifiche del protocollo

La codifica del protocollo di Osiris è in little-endian, e non in big-endian. Principalmente perché le distribuzioni primarie di Osiris sono basate sui sistemi operativi Microsoft Windows e le varie distribuzioni di Linux basate sui processori Intel.

Specifiche di codifica degli ID e criptazione per anonimato

ID in Osiris

Ogni ID in Osiris è composto da un header che ne identifica la tipologia (più eventuali relativi parametri) e da un codice identificato univoco denominato hash.

Le tipologie di ID supportate possono essere:

  • ID di un portale, parametri:
    • tipo di portale (anarchico, monarchico)
    • accesso (pubblico, privato)
  • ID di un'extension
  • ID di un modulo
  • ID di un componente
  • ID di un oggetto, parametri:
    • tipo di oggetto (utente, sezione, post, ecc...)
    • per gli oggetti revisionabili tipo di revisione (primaria, revisione)

Calcolo ID oggetti

Gli ID degli oggetti, eccezion fatta per gli utenti, sono generati nel seguente modo:

  • header secondo le convenzioni di un oggetto
  • hash casuale
Calcolo ID utente
  • header secondo le convenzioni dell'oggetto
  • hash della chiave pubblica di un utente
Calcolo ID portale anarchico
  • header secondo le convenzioni dei portali
  • hash casuale
Calcolo ID portale monarchico
  • header secondo le convenzioni dei portali
  • hash della chiave pubblica dell'admin

Processo di creazione account

Definito il nome e la password dell'account, si genera una coppia di chiavi RSA casuali a 2048 bit, tali chiavi vengono salvate nel database dopo essere state criptate con AES tramite la password scelta per l'account. La password dell'account viene salvata come SHA(password + account_id) dove account_id è un valore casuale creato in precedenza.

Processo di login account

Immesso nome e password si procede alla verifica di quest'ultima rigenerando SHA(password_digitata + account_id) e confrontando il risultato con il valore salvato in fase di creazione dell'account: se i due valori coincidono si decriptano le due chiavi RSA e si passa al processo di associazione dell'account con il relativo utente del portale.

Processo di associazione di account col relativo utente del portale

Decriptate le chiavi RSA di un account si genera un ID utente secondo le convenzioni precedentemente descritte.

Voci correlate

Personal tools
Toolbox