mercoledì 31 marzo 2010

Quarto Articolo su Expression Web 3

In attesa di organizzare tutti gli articoli in una pagina del mio spazio, in modo che siano facilmente accessibili, pubblico il quarto.

I collegamenti tra le pagine

In questo quarto articolo ci occuperemo di quello che forse è il più importante tra i tag html, ovvero il tag a: l’importanza di questo elemento sta nel fatto che permette di inserire, all’interno di una pagina, dei collegamenti (link) ad altre pagine, dello stesso sito o di altri, cioè permette di trasformare un testo in un ipertesto, che è il concetto chiave su cui si basa il web.

Mettiamoci subito al lavoro e creiamo un nuovo sito con una sola pagina, esattamente come abbiamo fatto finora, e chiamiamolo Collegamenti: andiamo quindi a modificare il contenuto dell’unica pagina del nostro sito aggiungendo un titolo e del testo. Allo scopo di prendere ancora meglio confidenza con l’ambiente, useremo stavolta la visualizzazione Progettazione. Dal primo menu a discesa nella barra degli strumenti (vedi figura 1) selezionare Titolo 1 <h1>: nella pagina appare un box con in alto a sinistra l’etichetta “h1”; posizionarsi all’interno del box e scrivere il titolo che si vuole dare alla pagina, per esempio “Collegamenti ipertestuali”.

FIGURA 1

Dallo stesso menu, selezionare Paragrafo <p> e, nel box che appare, con etichetta “p”, scrivere “In questo articolo parleremo dei collegamenti ad altre pagine”. Ripetiamo l’operazione altre due volte, introducendo così altri due paragrafi: il risultato è del tipo di quello mostrato in figura 2.

FIGURA 2

Passando alla modalità di visualizzazione Codice, vediamo che Expression Web ha scritto il codice necessario per ottenere il risultato, che negli scorsi articoli noi abbiamo scritto a mano. La modalità Progettazione permette di svolgere molte operazioni senza intervenire sul codice, come risulterà chiaro strada facendo: solo per fare un esempio delle potenzialità di questa interfaccia, posizionandoci su uno dei blocchi p e trascinandolo all’interno dell’area di lavoro, è possibile cambiare l’ordine dei paragrafi, mentre Expression Web si occupa di modificare in modo opportuno il codice.

Fatta questa digressione sulle funzionalità dell’area di lavoro, passiamo a creare un'altra pagina del nostro sito: attiviamo la tab Visualizzazione Sito, in alto nell’area di lavoro, e clicchiamo sull’icona Nuova pagina, in alto a destra (vedi figura 3).

FIGURA 3

Nell’elenco delle pagine, sotto default.html, appare una nuova pagina, chiamata Senza_nome_1.html: cliccandoci sopra con il pulsante destro e scegliendo dal menu contestuale Rinomina, cambiamo nome alla pagina e chiamiamola seconda.html: a questa pagina corrisponde un nuovo file, chiamato, appunto seconda.html, nella stessa cartella di lavoro, come si può vedere nel pannello Elenco cartelle a sinistra. Facendo doppio clic su seconda.html, passiamo all’area di lavoro, esattamente come abbiamo fatto finora con default.html, e inseriamo del contenuto anche in questa pagina. Senza commentare tutti i passaggi, sostanzialmente uguali a quelli svolti precedentemente, vediamo direttamente il risultato nella figura 4.

FIGURA 4

Osserviamo soltanto che, tra le tab in alto nell’area di lavoro, oltre a default.html e Visualizzazione Sito, ne è comparsa una chiamata seconda.html: questo ci consente di spostarci rapidamente da una pagina all’altra del sito.

Le due pagine create sono indipendenti l’una dall’altra: possiamo aprire ciascuno dei due file html con un browser e visualizzare individualmente ciascuna delle due pagine.

Il prossimo passo è quello di creare un collegamento dalla prima alla seconda pagina, ovvero, in termini intuitivi, un elemento della prima pagina (ad esempio una parola) che, se opportunamente attivato (tipicamente con un clic del mouse) permette di passare alla seconda pagina, il tutto all’interno del browser.

Tornando alla pagina default.html, vogliamo che cliccando le parole “altre pagine” nel primo paragrafo il browser visualizzi la pagina seconda.html: evidenziamo con il mouse le due parole e, dal menu Inserisci, scegliamo Collegamento ipertestuale. Dalla finestra che si apre (figura 5) scegliere seconda.html e premere OK.

FIGURA 5

Vediamo, in figura 6, il risultato in un browser. Cliccando su “altre pagine”, il browser visualizza la nostra seconda pagina.

FIGURA 6

Diamo ora un’occhiata al codice html che Expression Web ha generato per noi (figura 7).

FIGURA 7

Vediamo il tag a annidato nel tag p e notiamo qualcosa di diverso rispetto ai tag contenitori con cui abbiamo avuto a che fare finora: il testo del link “altre pagine” (detto, in gergo, ancora) è racchiuso tra l’apertura e la chiusura del tag a, ma l’apertura ha una sintassi particolare: <a href=”seconda.html”>

L’elemento href è un attributo, mentre il testo tra virgolette (seconda.html) è il valore dell’attributo stesso. Gli attributi (e i rispettivi valori) sono degli ulteriori elementi della sintassi html che servono a dare informazioni aggiuntive su un certo tag: essi possono comparire nel tag di apertura e nei tag vuoti, prima della chiusura della parentesi angolare. Nel nostro caso, l’attributo href serve a precisare il percorso e il nome del file linkato.

Introdotti gli elementi di base della sintassi html e acquisita una certa dimestichezza con l’interfaccia di Expression Web, dai prossimi articoli ci occuperemo dell’inserimento nelle pagine di elementi più complessi, come le liste, le tabelle e le immagini, e dell’applicazione degli stili.

A presto.

lunedì 29 marzo 2010

Legge sulla privacy: le persone coinvolte

Nell'ultimo post sull'argomento abbiamo introdotto alcune definizioni riguardanti i dati personali, così come presentate nell'art. 4 del decreto legislativo n. 196/2003; in questo post, continuando con le definizioni preliminari, esamineremo le persone coinvolte nel trattamento dei dati personali.

Partendo dalla persona a cui si riferiscono i dati personali oggetto di trattamento, questa viene definita dal testo di legge l'interessato.

Per quanto riguarda, invece, le persone che effettuano il trattamento di dati personali, l'art. 4 parla di titolare, responsabile e incaricato del trattamento; vediamo in dettaglio che cosa significa:
  • titolare: può essere sia una persona fisica che giuridica e ad esso competono "le decisioni in ordine alle finalita', alle modalita' del trattamento di dati personali e agli strumenti utilizzati (...)";
  • responsabile: può essere ancora una persona fisica o giuridica ed è preposto dal titolare al trattamento dei dati personali;
  • incaricato: una persona fisica che esegue materialmente il trattamento dei dati, dietro autorizzazione del titolare o del responsabile.
La designazione di uno o più responsabili, da parte del titolare, è facoltativa.

Nel caso, ad esempio, di un ufficio pubblico che tratta dati personali, l'ufficio stesso, inteso come istituzione, è titolare del trattamento, mentre gli impiegati che fisicamente accedono ai sistemi informativi per inserire o modificare dati sono gli incaricati.

Ulteriori precisazioni su questi tre ruoli sono contenute negli articoli 28, 29 e 30 del testo: senza entrare nei dettagli, osserviamo soltanto che sia la designazione del responsabile da parte del titolare che degli incaricati deve avvenire per iscritto.

Consideriamo il caso di un sito web che offra ai propri visitatori, previa registrazione, dei servizi interattivi: all'atto della registrazione, gli utenti possono fornire alcuni dati personali, come nome, cognome, indirizzo email, ecc... il cui trattamento deve avvenire in conformità alla legge. La situazione più semplice che si può verificare è quella in cui il proprietario del sito (intestatario del dominio e del contratto di hosting) si occupi personalmente di gestire il sito stesso, senza l'aiuto di altri webmaster o amministratori: in tal caso egli è sia titolare del trattamento che unico incaricato. Se, invece, il proprietario delega un webmaster alla gestione del sito, quest'ultimo è l'incaricato, mentre il proprietario resta il titolare.

L'art. 4 contiene molte altre definizioni, oltre alle poche riportate in questo post e nel precedente, e, dato il carattere introduttivo di questa mini-guida, non è il caso di presentarle tutte in modo sistematico: nei prossimi post, se sarà necessario, riprenderemo quelle di cui faremo uso.

Terminata questa prima parte introduttiva, dal prossimo articolo ci interesseremo, in dettaglio, dei diritti dell'interessato e dei doveri del titolare.

A presto.

giovedì 25 marzo 2010

Legge sulla privacy: i dati personali

Come anticipato nello scorso post della categoria legge e web, in questo articolo cominciamo ad occuparci delle problematiche relative al trattamento dei dati personali, con particolare riferimento a quanto può interessare un webmaster.

Anche se l'ho scritto già qualche decina di volte negli scorsi post, a scanso di equivoci preferisco ripeterlo: io non sono un avvocato e non ho compiuto studi sistematici sugli argomenti legali di cui parlo nei miei post, quindi, pur ponendo sempre la massima attenzione a fornire informazioni attendibili, vi invito a prendere quanto scrivo solo come spunto di riflessione e, nel caso di dubbi, a rivolgervi al vostro legale di fiducia.

Prima di entrare nello specifico, è opportuoo introdurre alcune nozioni sulla privacy, presentate nei primi articoli del decreto n. 196/2003, allo scopo di cominciare a fissare alcuni punti.

Innaizitutto, il testo di legge (composto di ben 186 articoli) si divide in tre parti:
  1. DISPOSIZIONI GENERALI (artt. 1-45): in questa parte vengono introdotte i principi e le definizioni generali e ad esso dedicheremo questo post e alcuni dei successivi;
  2. DISPOSIZIONI RELATIVE A SPECIFICI SETTORI: (artt. 46-140): qui vengono date disposizioni per l'applicazione a particolari ambiti e di questa parte affronteremo solo quanto può interessare il responsabile di un sito web;
  3. TUTELA DELL'INTERESSATO E SANZIONI (artt. 141-186): in questa parte vengono illustrate le sanzioni (anche penali) che possono derivare dalla non osservanza della legge e anche a questo aspetto, nei prossimi post, dedicheremo la necessaria attenzione.
L'art. 1 del testo stabilisce che "Chiunque ha diritto alla protezione dei dati personali che lo riguardano": il primo passo è quindi capire che cosa si debba intendere per "dati personali" e per "diritto alla protezione" di essi; in questo articolo, in particolare, ci concentreremo sulla definizione di dato personale.

L'art. 4 fornisce la seguente definizione di dato personale: qualunque informazione relativa a persona fisica, persona giuridica, ente od associazione, identificati o identificabili, anche indirettamente, mediante riferimento a qualsiasi altra informazione (...).

I dati personali, a loro volta si dividono in:
  • dati sensibili: permettono di rivelare alcune caratteristiche di una persona, come la religione, l'origine etnica, l'orientamento politico, ecc...
  • dati identificativi: permettono l'identificazione diretta di una persona (per esempio, nome e cognome, codice fiscale, ecc...);
  • dati giudiziari: permettono di rivelare la situazione giudiziaria della persona, ad esempio se ha carichi pendenti, se è imputata in un processo, ecc...
Oltre alla definizione di dati personali, l'art. 4 definisce anche il cosiddetto dato anonimo: il dato che in origine, o a seguito di trattamento, non puo' essere associato ad un interessato identificato o identificabile (un esempio di dato anonimo, tipico nella gestione di un sito web, può essere il numero di accessi effettuati ad un sito usando un certo browser: in tal caso, sappiamo che un certo numero di persone hanno visitato il nostro sito usando quel browser, ma non possiamo identificarle).

Chiarito che cosa si intende per dato personale, nel prossimo articolo ci occuperemo delle persone che entrano in gioco, dal titolare del trattamento all'interessato.

A presto.

mercoledì 24 marzo 2010

Second life: (forse) ne vale ancora la pena

Chi ha seguito il mio blog in questi ultimi giorni avrà intuito che sto cercando di riprendere le fila di diversi argomenti iniziati e lasciati in sospeso, purtroppo, per mancanza di tempo da parte mia.

Uno di questi argomenti è Second Life e, in particolare, la programmazione in LSL (Linden Scripting Language), su cui circa un anno fa ho scritto un paio di articoli, che non hanno avuto seguito: tuttavia, anche se qui non ho pubblicato più nulla, ho continuato ad interessarmi di Second Life e sono tuttora convinto che sia uno strumento con forti potenzialita, oltre che per l'intrattenimento, anche per l'istruzione e il lavoro.

Può avere tutte le potenzialità che si vuole, ma che senso ha se non lo usa più nessuno? In effetti, già da tempo diverse fonti parlano di declino di Second Life, anche se non tutti sono d'accordo: ad esempio, ho letto da qualche parte che questo declino (vero o presunto) riguarderebbe soltanto gli utenti italiani, mentre negli altri paesi, soprattutto in USA, ci sia addirittura una crescita.

Sinceramente non sono in grado di pronunciarmi su queste considerazioni, dal momento che non dispongo di risultati di indagini statistiche serie (se ne sono state fatte) sull'uso di Second Life, però voglio fare una considerazione economica.

Spulciando nel sito ufficiale di Second Life, in particolare le pagine dedicate agli account, accessibili solo se si è iscritti, ho potuto notare che il costo per l'upgrade dall'account basic (gratuito) a quello premium è rimasto sostanzialmente invariato rispetto allo scorso anno, anzi, se non ricordo male il vecchio prezzo, è anche aumentato di circa un dollaro; ho notato la stessa cosa per quanto riguarda i costi di gestione dei lotti di terreni.

Se il numero degli utenti fosse realmente in netto calo, probabilmente Linden Labs ridurrebbe i prezzi, o proporrebbe offerte speciali (come sconti, lotti di terreno in omaggio, ecc...), per incentivare le persone a iscriversi, mentre tutto questo non sta accadendo.

Io penso di continuare ad investirci ancora un po' di tempo e, nelle prossime settimane, scriverò anche altri articoli sulla programmazione in LSL, però sono molto interessato anche alle voltre opinioni... A voi la parola!

A presto.

martedì 23 marzo 2010

Guida ad Expression Web 3: pronto il terzo articolo

Pubblico di seguito la terza parte della mia guida ad Expression Web 3. I primi due articoli possono essere reperiti in Expression (il mio blog sul portale Academic Club), che sto riorganizzando, e precisamente qui e qui. Nei prossimi giorni predisporrò una pagina del mio sito da cui sarà possibile scaricare tutti gli articolo, anche in formato pdf.

L'annidamento dei tag

Abbiamo visto, nei primi due articoli, come il tag sia l’elemento principale della sintassi dell’html, la differenza tra tag vuoti e tag contenitori e, per questi ultimi, il ruolo del tag di apertura e di quello di chiusura.

I tag contenitori, come pure abbiamo già detto, marcano, cioè qualificano, in qualche modo, tutto ciò che è racchiuso tra l’apertura e la chiusura, ovvero ciò che contengono. Ad esempio, nella riga di codice

<h1>Introduzione ad Expression Web 3</h1>

il tag h1 qualifica come titolo di primo livello ciò che contiene, cioè il testo “Introduzione ad Expression Web 3”.

Un tag può contenere solo testo? Evidentemente no: un tag può contenere altri tag e, ognuno di questi può, a sua volta, contenerne altri, un po’ come delle scatole cinesi; è proprio ciò a cui ci si riferisce parlando di annidamento dei tag. Quando si utilizzano tag annidati, bisogna prestare la massima attenzione all’ordine in cui vengono aperti e chiusi: in particolare, un tag non può essere chiuso prima che siano stati chiusi tutti quelli contenuti al suo interno; in questo compito, tuttavia, la funzione di completamento automatico di Expression Web ci viene in aiuto.

Allo scopo di rendere più interessanti gli esempi, cominciamo con l’introdurre due nuovi tag: em e strong. Il primo, em, indica che il testo contenuto al suo interno deve essere enfatizzato e il browser, se non viene diversamente specificato nei fogli di stile (che vedremo più avanti), rende questo testo in corsivo, mentre strong indica che il testo in esso contenuto deve essere molto enfatizzato e il browser, se non diversamente indicato, lo rende in grassetto.

Come abbiamo imparato negli articoli precedenti, creiamo un nuovo sito a pagina singola e chiamiamolo “Tag annidati”, passiamo alla visualizzazione del codice della pagina default.html e apportiamo le modifiche indicate nel seguente listato:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Tag annidati</title>
</head>
<body>
<h1>Esperimenti con i tag annidati</h1>
<p>In questa semplice pagina web vediamo gli effetti dei tag em e strong, mentre sperimentiamo l’annidamento dei tag.</p>
<p>In questo paragrafo vediamo <em>l’effetto del tag em</em>, e quello <strong>del tag strong</strong>.</p>
<p>I due tag possono essere <strong><em>usati insieme</em></strong>, anche <em><strong>nell’ordine inverso</strong></em>
</body>
</html>

Prima di proseguire, salviamo il lavoro e verifichiamo l’effetto in un browser, come abbiamo imparato. In figura vediamo il risultato.

FIGURA 1

Durante la digitazione, abbiamo avuto modo di sperimentare la chiusura automatica dei tag e l’IntelliSense, di cui abbiamo parlato nel primo articolo: ora che possediamo le prime nozioni di html, siamo in grado di apprezzare meglio queste caratteristiche.

Partendo proprio dalla chiusura automatica, vediamo che appena viene aperto un tag, ad esempio il tag p, digitando <p>, immediatamente alla destra del cursore appare la relativa chiusura </p>: in questo modo, possiamo concentrarci sul contenuto del paragrafo, senza preoccuparci della chiusura; la stessa cosa, ovviamente, è successa per i tag em, strong, h1 e title.

Una considerazione a parte merita l’esempio nell’ultimo paragrafo, in cui, per avere un testo contemporaneamente in grassetto e in corsivo, abbiamo usato em e strong annidati l’uno dentro l’altro: pur non essendo importante l’ordine in cui si usano i due tag, è però fondamentale che l’ordine di chiusura sia l’inverso di quello di apertura, e anche in questo caso abbiamo potuto apprezzare la funzione di chiusura automatica dei tag, che ci permette di evitare errori.

Anche se non lo abbiamo detto esplicitamente, in realtà fin dal primo articolo abbiamo fatto uso di annidamento dei tag, infatti l’intero documento, a parte il DOCTYPE è racchiuso nel tag html: i tag head e body, che individuano, rispettivamente, l’intestazione e il corpo del documento, sono annidati in html, mentre title è annidato in head e p e h1 sono annidati in body.
L’altra caratteristica saliente dell’editor di codice di Expression Web (condivisa con altri ambienti di sviluppo Microsoft) è l’IntelliSense: mentre abbiamo digitato il codice mostrato sopra, abbiamo certamente notato che, appena aperta la parentesi angolare <, a destra del cursore appare un menu a discesa con un elenco di tag (vedi figura 2).

FIGURA 2

Appena appare il menu contestuale, usando i tasti freccia, possiamo selezionare una delle voci e premere ENTER per inserirla.

L’utilità di questa funzione è molto di più che non il semplice risparmio di tasti digitati. L’elenco mostrato dall’IntelliSense, infatti, è contestualizzato, cioè cambia a seconda del punto del documento in cui ci si trova: in un documento html, non tutti i tag possono stare dappertutto. Ad esempio, il tag p può essere usato solo all’interno di body, mentre il tag title solo all’interno di head: se proviamo ad aprire una parentesi angolare all’interno di head e poi all’interno di body, vediamo che l’elenco di tag suggeriti da IntelliSense è completamente diverso nei due casi: a seconda del punto del documento in cui ci troviamo, o, più precisamente, a seconda del tag all’interno del quale ci troviamo, ci vengono mostrati tutti e soli i tag che possono essere in esso annidati.

Finora abbiamo considerato siti web molto elementari composti da una sola pagina. Prima di passare a considerare elementi più complessi, come tabelle o immagini, e l’uso dei fogli di stile, allo scopo di rendere più interessanti gli esempi, conviene prima occuparci dei siti composti da più pagine e dell’inserimento di link: di questo parleremo nel prossimo articolo.

A presto.

lunedì 22 marzo 2010

La legge sulla privacy e i siti web

Con questo post intendo riprendere la pubblicazione di argomenti riguardanti il rapporto tra la legge e il web, che ho interrotto qualche mese fa con la serie di articoli dedicati al diritto d’autore.

In questa nuova serie di articoli, tratterò le problematiche relative alla legge sulla Privacy, con particolare riferimento ai risvolti che può avere nella gestione di un sito web. Le situazioni che si possono presentare sono molteplici e non sempre evidenti: ad esempio, se il sito in questione offre un servizio che richiede registrazione da parte degli utenti, è chiaro che il responsabile del sito deve essere autorizzato dagli utenti stessi a trattare i dati forniti in fase di registrazione; un po’ meno evidente è questa necessità nel caso in cui il sito non offra alcun servizio interattivo e il webmaster si limiti a usare un servizio di statistiche come Google Analytics. In quest’ultimo caso, anche se i dati raccolti sono anonimi (statistiche degli accessi, browser utilizzati, ecc…) e pertanto da essi non è possibile risalire all’identità dei visitatori, questi ultimi devono comunque essere informati di questa raccolta di informazioni (per l’impiego di Google Analytics, ad esempio, la stessa Google mette a disposizione, nelle condizioni di utilizzo, un testo da usare come disclaimer reperibile in questa pagina al punto 8).

La legge di riferimento è il D.lg. 196/2003, “Codice in materia di protezione dei dati personali”, comunemente nota come Legge sulla privacy, il cui testo integrale è reperibile, ad esempio, sul sito della Camera dei Deputati in questa pagina.

Negli articoli che seguono, nei prossimi giorni, dopo l’introduzione di alcune definizioni, passeremo ad esaminare i punti salienti del testo di legge, con particolare riferimento alle implicazioni che possono avere nell’amministrazione di un sito web.

A presto.