[Cc-it] Tradotto http://creativecommons.org/technology/developerdocs

Diego Schiavon zkyhavon a hotmail.com
Ven 28 Maggio 2004 09:07:59 EDT


Qui di seguito la traduzione di developersdoc.
Devo dire che l'informatica ha fatto passi da gigante, da quando ho smesso 
di occuparmene direttamente, quindi se qualcuno potesse dare un'occhiatina a 
terminologia ecc... sarebbe ideale.

Non riesco ad entrare nel Wiki dal link su creativecommons.it (IE 6) - 
qualcuno può mandarmi il link diretto?`

DS


La Guida del Programmatore
Integrare license Creative Commons nelle tue applicazioni

Creative Commons offre una ampia scelta di licenze e opzioni di pubblico 
dominio direttamente dal proprio sito. Ciononostante, se hai creato una 
applicazione o se hai costruito un sito web che permette agli utenti di 
contribuire con le loro opere, potresti trovare più comodo integrare il 
motore di registrazione direttamente all'interno del tuo sito o della tua 
applicazione. Questa guida serve a spiegare tutti i passi necessari e tutte 
le opzioni disponibili per integrare Creative Commons nel tuo software.

Questa guida è generalmente divisa in tre parti:

Parte 1: Permettere agli utenti di selezionare una licenza
Parte 2: Rielaborare e archiviare le informazioni sulla licenza
Parte 3: Visualizzare le informazioni sulla licenza

Parte 1: Permettere agli utenti di selezionare una licenza
Sia che il tuo sito sia una pagina web o una applicazione scaricabile, il 
primo passo per integrare una licenza Creative Commons consiste nel 
permettere agli utilizzatori di selezionare una licenza direttamente dal tuo 
software. Questo processo comprende il caricamento di una versione 
semplificata dell'interfaccia per le licenze Creative Commons attraverso una 
finestra di popup, all'interno del tuo sito web, o lanciata da un controllo 
finestre HTML all'interno della tua applicazione. Le variabili dell'URL 
vengono lette all'interno della pagina e vengono inviate in append quando il 
processo è finito, permettendo così di estrarre dati dal processo e di 
trasmetterli.

L'applicazione del motore remoto di registrazione
Il cuore del processo consiste nell'eseguire l'interfaccia remota delle 
licenze che è disponibile a questo URL:

http://creativecommons.org/license/?partner={partner}&exit_url={exit_url}&stylesheet={stylesheet}&partner_icon_url={partner_icon_url}

Le variabili URL presenti e disponibili sono come segue:

partner (necessaria):
Il nome della tua applicazione o sito; usata dai Creative Commons per tenere 
traccia dell'utilizzo. Qui è possibile aggiungere nomi di descrizione.
exit_url (necessaria):
L'URL di ritorno della tua applicazione che verrà caricato dopo che l'utente 
ha selezionato la licenza, e che conterrà variabili incorporate nell'URL che 
il tuo software dovrà leggere.

Ulteriori requisiti:
La variabile exit_url deve includere la variabile 
"license_url=[license_url]" e può opzionalmente contenere le variabili 
license_name=[license_name], license_code=[license_code] e 
license_button=[license_button]. Un esempio di exit URL potrebbe essere:

http://example.com/return_from_cc?license_url=[license_url]%26license_name=[license_name]

Il motore di registrazione sostituirà le variabili license_url, 
license_name, license_code e license_button con variabili appropriate una 
volta che l'utente ha scelto una licenza (altro su questo argomento nella 
Parte 2).

Nota che il tuo exit URL può trasmettere alla e dalla domanda di licenza le 
variabili URL della tua applicazione, con un URL escaping all'interno del 
tuo URL in uscita, per esempio:

http://example.com/return_from_cc?license_url=[license_url]%26license_name=[license_name]%26userID=42%26user-work=foo.jpg
L'esempio sopra dice alla tua applicazione che un userID di 42 ha inviato 
un'opera dal titolo foo.jpg e ha selezionato una particolare licenza uscendo 
dal motore di registrazione.

stylesheet (opzionale):
E' l'URL di un Cascading Style Sheet (CSS) file, che customizza il layout, 
il look, e l'umore delle domande riguardo alla licenza. Visualizza il 
sorgente sul motore di registrazione per vedere gli ID e le classi 
disponibili per la customizzazione.
partner_icon_url (opzionale):
Se vorresti che una immagine a tua scelta appaia in cima alla richiesta per 
la licenza, aggiungi l'url dell'immagine in questa variabile.

Invocare il motore per la registrazione dalla tua applicazione
Una volta che hai deciso quali debbano essere le variabili appropriate con 
cui comunicare con il motore remoto per la registrazione, devi invocarlo dal 
tuo sito web o dalla tua applicazione.

Ci sono alcuni modi per fare ciò:

Una finestra di popup lanciata dal tuo sito web
Rimanda dal tuo sito web alla pagina di registrazione
IFRAME inserito nel tuo sito web
Lanciarlo con un comando HTML dalla tua applicazione desktop

Una finestra di popup lanciata dal tuo sito web
Il metodo più comune per invocare il motore remoto di registrazione è 
attraverso una finestra di popup. Un utente clicca qualcosa su una pagina 
che lancia una finestrella dove vengono poste le domande. Dopo avervi 
risposto, gli utenti procedono, la finestrella si chiude e la pagina 
originale viene aggiornata in base alle loro scelte. In genere i siti che 
utilizzano questo metodo modificano dinamicamente (con javascript) una 
variabile form nascosta quando l'utente termina il processo di selezione 
della licenza.

Rimanda dal tuo sito web alla pagina di registrazione
Con questa opzione non devi usare finestre popup di alcun tipo. Invece esci 
dal sito di partenza, scegli la tua licenza e ritorni al sito, dove le 
informazioni sulla tua scelta possono essere decifrate. I siti che usano 
questo metodo hanno poi bisogno di analizzare le variabili contenute 
all'interno dell'URL.

IFRAME inserito nel tuo sito web
Per coloro che non vogliono utilizzare finestre popup, che hanno un'audience 
che usa browser dalla versione 5.0 in sú, e che vorrebbero tenere la scelta 
della licenza all'interno dell'applicazione, possono utilizzare un IFRAME 
grossomodo come una finestra popup. I siti che utilizzano questo metodo 
possono inserire il modulo di richiesta all'interno della loro pagina. Una 
volta terminata la scelta, possono passare le variabili dal frame 
all'ambiente circostante.

Lancio con un comando HTML dall'applicazione desktop
Per le appliocazioni desktop questo metodo é essenzialmente simile al codice 
per finestre popup, ma utilizza un controllo nativo HTML all'interno 
dell'applicazione. Su piattaforma Windows, le applicazioni VisualBasic e 
Visual C++ hanno accesso a un controllo HTML per Internet Explorer che puó 
così essere lanciato dalla tua applicazione. Per i programmatori Mac, OS X 
offre controlli webcore che usano Safari come ambiente browser nativo 
dall'interno della tua applicazione.

Parte 2: Rielaborare e archiviare le informazioni sulla licenza
Dopo che gli utenti dell'applicazione o del sito web hanno avuto la 
possibilità di selezionare una licenza, il passo successivo é rielaborare i 
risultati della loro selezione. Come menzionato nella sezione precedente, 
l'exit_url é il posto sul server dove gli utenti dovranno tornare. Una volta 
caricati, i dati nell'URL dovranno essere analizzati. Il risultato di un URL 
in uscita é mostrato qui sotto:

http://example.com/return.cgi?license_url=http://creativecommons.org/licenses/by-nc/1.0/&license_name=Attribution-NonCommercial&license_code=by-nc&license_button=http://creativecommons.org/images/public/somerights.gif
A seconda della tecnologia della tua applicazione web, dovrai ricorrere al 
metodo adatto di analisi dei dati. Dall'URL riportato sopra, é possibile 
ricavare i seguenti dati:

license_url:
http://creativecommons.org/licenses/by-nc/1.0/
license_name:
Attribution-NonCommercial
license_code:
by-nc
license_button:
http://creativecommons.org/images/public/somerights.gif

Nel caso tu avessi altre variabili URL incorporate e specifiche per la tua 
applicazione, avrai il bisogno di analizzare anche queste. Il metodo esatto 
e il codice usati per leggere le variabili URL dipenderá allora dal 
linguaggio usato dal tuo sito web/applicazione, e dalla sintassi di quel 
linguaggio.

Questi dati possono essere utilizzati in locazioni diverse all'interno della 
stessa applicazione. Un'applicazione ben scritta mostrerà la scelta 
dell'utente con la variabile license_name come conferma. Ad esempio "Per 
l'opera da te caricata é stata selezionata la licenza 
Attribution-Noncommercial." Potresti avere il bisogno di conservare le 
variabili license_url e license_code all'interno della tua applicazione, 
molto probabilmente in un database associato alle contribuzioni ricevute. Di 
nuovo, il metodo esatto e il codice usati per immagazzinare informazioni 
sulla licenza dipenderà dalla tua configurazione, dal setup, e dalle opzioni 
di storaggio.

Parte 3: Visualizzare le informazioni sulla licenza
Il passo finale nell'incorporare le licenze Creative Commons all'interno del 
tuo sito web o applicazione consiste nel mostrare ad altri utenti le 
informazioni sulla licenza. Per un tipico sito, ci sarà bisogno di mettere 
in output un po' di HTML e RDF (Resource Description Framework) all'interno 
dell'HTML. Se invece si tratta di un'applicazione, potremo incorporare le 
informazioni all'interno degli stessi file.

Output HTML per opere brevettate
Il modo più trasparente per mostrare una licenza Creative Commons é 
applicare l'etichetta "Some Rights Reserved" oppure "No Rights Reserved" 
accanto all'opera. L'HTML generico per fare questo é il seguente:

<!-- Creative Commons License -->
<a href="{license_url}">
<img alt="Creative Commons License" border="0"
src="{license_button}" /></a>
<br />
Quest'opera é brevettata con una
<a href="{license_url}"
>Licenza Creative Commons</a>.
<!-- /Licenza Creative Commons -->
Se hai immagazzinato la variabile license_url nel database della tua 
applicazione, puoi recuperarlo con una query apposita e immetterlo nel campo 
{license URL} indicato sopra. Il codice darà in output un'etichetta ed un 
messaggio come quelli alla fine di questa pagina. Come viene riportato nella 
nostra guida per etichettare in HTML, consigliamo di modificare la frase 
"Quest'opera é registrata..." in qualcosa di più specifico.

L'ultimo po' di HTML da mandare in output sono i metadati RDF, incorporati 
all'interno di un commento HTML. Qui di seguito trovi il minimo del minimo 
dell'RDF necessario per l'output RDF. Va messo immediatamente dopo L'HTML 
per l'etichetta:

<!--
<rdf:RDF xmlns="http://web.resource.org/cc/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<license rdf:resource="{license_url}" />
</Work>
</rdf:RDF>
-->
Incoraggiamo i programmatori ad aggiungere RDF personalizzato basato su 
qualsiasi metadata esistente, incluse le stesse informazioni della licenza. 
Esso potrà poi essere utilizzato per motori di ricerca e applicazioni 
specializzate che possano vagare nel web a mo' di crawler alla ricerca di un 
particolare RDF e catalogare l'informazione. Qui di seguito trovate tutte le 
possibilità per l'RDF.

dc:titolo
Un titolo o il nome della risorsa
dc:descrizione
Un testo che descriva la risorsa.
dc:soggetto
Frasi e parole chiave che descrivono l'argomento della risorsa.
dc:publisher
A cc:L'agente che mette la risorsa a disposizione.
dc:creatore
A cc:L'agente che ha creato la risorsa.
dc:contributor
An cc:Agente che ha partecipato alla creazione della risorsa.
dc:diritti
The cc:L'agente che detiene i diritti della risorsa.
dc:data
Una data per la registrazione della risorsa.
dc:formato
Il Media Type della risorsa.
Esempi: "text/plain," "audio/mpeg".
dc:type
Il DCMI Type (schema) della risorsa.
Esempi: <http://purl.org/dc/dcmitype/Image>, 
<http://purl.org/dc/dcmitype/Sound>.
dc:source, cc:derivativeWork
Un'opera da cui è stata registrata la risorsa.
cc:license
Una licenza di copyright per la risorsa, una licenza strutturata cc:License. 
Se ci sono due cc:licenses, allora il detentore della licenza può scegliere 
quella che preferisce.
Gli agenti (persone o cose che agiscono) e le licenze possono utilizzare 
naturalmente la stessa struttura per fornire i rispettivi nomi, date, ecc...

Le licenze sono descritte dalle loro caratteristiche, di cui esistono tre 
tipi:

Permessi (diritti garantiti dalla licenza)
Riproduzione
l'opera può essere riprodotta
Distribuzione
l'opera (e, se autorizzati, opere derivate) può essere distribuita, mostrata 
pubblicamente e pubblicamente eseguita
Opere derivate
opere derivate possono essere create e riprodotte
Divieti (utilizzi proibiti dalla licenza)
Uso commerciale
i diritti possono essere esercitati per scopi commerciali
Requisiti (restrizioni imposte dalla licenza)
Avviso
Gli avvisi di copyright e licenza devono essere mantenuti intatti
Attribuzione
deve essere dato credito al detentore dei diritti e/o all'autore
ShareAlike
le opere derivate, se autorizzate, devono essere brevettate sotto gli stessi 
termini dell'opera originale
Nota: queste caratteristiche hanno solo funzione di avvertimento. Sono 
intese per descrivere le caratteristiche della licenza; non sono esse stesse 
parte della licenza. Per la specifica implementazione di ciascuna 
caratteristica, come per altri dettagli che potrebbero non essere stati 
incorporati all'interno dell'RDF, si rimanda al testo originale della 
licenza. La licenza dovrebbe sempre essere linkata dai metadata.

Di seguito un esempio di file completo:

<rdf:RDF xmlns="http://web.resource.org/cc/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="http://example.org/gnomophone.mp3">
  <dc:title>Compilers in the Key of C</dc:title>
  <dc:description>A lovely classical work on compiling 
code.</dc:description>
  <dc:creator><Agent>
    <dc:title>Yo-Yo Dyne</dc:title>
  </Agent></dc:creator>
  <dc:rights><Agent>
    <dc:title>Gnomophone</dc:title>
  </Agent></dc:rights>
  <dc:date>1842</dc:date>
  <dc:format>audio/mpeg</dc:format>
  <dc:type rdf:resource="http://purl.org/dc/dcmitype/Sound" />
  <dc:source rdf:resource="http://example.net/gnomovision.mov" />
  <license rdf:resource="http://creativecommons.org/licenses/by-nd-nc/1.0/" 
/>
  <license rdf:resource="http://www.eff.org/IP/Open_licenses/eff_oal.html" 
/>
</Work>

<License rdf:about="http://creativecommons.org/licenses/by-nd-nc/1.0/">
  <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
  <permits rdf:resource="http://web.resource.org/cc/Distribution" />
  <requires rdf:resource="http://web.resource.org/cc/Notice" />
  <requires rdf:resource="http://web.resource.org/cc/Attribution" />
  <prohibits rdf:resource="http://web.resource.org/cc/CommercialUse" />
</License>
</rdf:RDF>

Come punto di riferimento riportiamo qui un file con gli output basilari 
HTML e RDF per tutte le 11 licenze e le opzioni di pubblico dominio.

Considerazioni sullo storaggio e sui dati
Se hai un'applicazione web che permette agli utenti di selezionare le 
licenze per i loro contributi, ti sarà probabilmente utile tenere traccia 
delle loro selezioni in un database. A seconda della tua applicazione, il 
tuo modello di dati dovrà permettere almeno di immagazzinare la variabile 
URL della licenza, oltre ai record della contribuzione. Se volessi 
automatizzare completamente l'output dinamico di licenze sulle pagine della 
tua applicazione, potresti anche avere bisogno di immagazzinare il nome 
della licenza, il suo codice e la relativa etichetta.

Conclusione
Permettere agli utenti di selezionare una licenza, lavorare con i dati delle 
licenze e restituire informazioni riguardo le opere brevettate sono le tre 
parti necessarie per integrare license Creative Commons nella tua 
applicazione.

_________________________________________________________________
Help STOP SPAM with the new MSN 8 and get 2 months FREE*  
http://join.msn.com/?page=features/junkmail




Maggiori informazioni sulla lista cc-it