lunedì 7 marzo 2011

Sviluppo primo Strumento di prova

Ho voluto realizzare un primo strumento per Sankorè per capire meglio se le tecnologie che ho scelto sono in grado di soddisfare tutti i requisiti richiesti.
Ambiente di sviluppo Java Web e framework per Javascript GWT.
Questo strumento di prova funziona in modo molto semplice, si hanno una lista di parole (es Città) e dei contenitori (es Province), lo scopo è quello di trascinare le parole nel giusto contenitore fino a  non avere più parole a disposizione.
L'applicazione è divisa in 2 parti, una server (Java) e una client (JS) la parte server è una sorta di Web Service, formata solamente da una Servlet che fornisce al client una pagina XML con i dati da utilizzare per creare Parole-Contenitori (questo sistema mi permette di testare la comunicazione client-server in GWT).  Il lato client invece fornisce all'utente l'interfaccia grafica, permette la creazione, la ricerca di pattern gia pronti e ovviamente il loro utilizzo. Le 2 parti sono 2 applicazioni separate, is server è montato su Tomcat.
Ecco come si presenta l'apps:
Una volta creata e testato il suo funzionamento provo ad esportarla come widget per Sankorè.
Creato il widget lo importo in Sankorè, lo strumento si presenta correttamente ma appena provo a cercare moduli gia pronti sul server mi dà errore, cosa che prima funzionava correttamente.

Dopo essermi un po' informato ho scoperto che javascript non supporta la comunicazione tra server con dominii diversi (cross domain). Qui l'articolo : http://javascript.html.it/articoli/leggi/2957/jsonp-e-le-richieste-cross-domain/
L'articolo propone anche una soluzione non proprio banale al problema.

Dunque ricapitolando, se mi servono dati da un server nello stesso dominio non è un problema, tutto funziona correttamente, mentre se il dominio è un'altro la comunicazione diventa molto + difficile.

La mia idea era quella di rendere questi strumenti completamente integrabili in Sankorè in modo da non dover avere un web server per ognuno di essi, e utilizzare un Web Service fornito dal repository per accedere a moduli gia pronti o per caricarne di nuovi. Se si riesce a superare il problema del cross-domain allora il tutto è realizzabile con queste tecnologie.

lunedì 28 febbraio 2011

Traduzione Sankorè

Seguendo l'esauriente giuda fornitami da un membro dello staff che segue il progetto Sankorè ho potuto procedere con la traduzione in italiano dell'applicazione, che fino ad oggi era disponibile solo in inglese e francese.
Questa applicazione per lavagne multimediali non permette la scelta della lingua nè in fase di installazione nè una volta installata, semplicemente cerca di adattarsi alla lingua del sistema operativo. Se questa non è presente nelle lingue disponibili credo utilizzi quella predefinita, l'inglese.

Ecco il semplice HowTo su come procedere :
Here a little how to for translate Sankorè 3.1. First of all you should download the code from the adullact.net site and install the qt development tools for your operating system (http://qt.nokia.com/downloads). Pay attention at the fact that on Windows operating system the used qt development library is the VS2008 version and not the minGW library version.

Here began the process to translate the Sankorè application. First of all check if the language you are interesting in is in the project file.
Open Sankore_3.1.pro file with an editor and look for the TRANSLATIONS entry. Verify that the TRANSLATIONS list contains such an entry:

resources/i18n/sankore_TWO_CHARACTERS_LANGUAGE_CODE.ts

where the TWO_CHARACTERS_LANGUAGE_CODE is the language code you want to translate.
For example french translation need a resources/i18n/sankore_fr.ts entry.

The second step consists on extracting the strings list that has to be translated. This is easily done using the lupdate command from the root project directory:
lupdate -no-obsolete Sankore_3.1.pro.

At this point open the translation file (sankore_TWO_CHARACTERS_LANGUAGE_CODE.ts) with QT Linguist (easiest way) or edit it with your preferred editor. It is located in ROOT_PROJECT_DIRECTORY/resources/i18n/ folder.

Once the translation done execute the lrelease command from the root project directory:
lrelease Sankore_3.1.pro .
This command will create the binary file used on Sankorè 3.1 program.

Rebuild the application and the new language will be available.
That's all.
Ho seguito passo passo queste direttive e ora se il sistema operativo è in italiano anche Sankorè verrà installato in italiano. Ho poi inviato la traduzione agli attuali sviluppatori chiedendo, se lo ritengono opportuno, di aggiungerla alla versione scaricabile del progetto open-source.

Ecco come si presenta ora l'Applicazione.

venerdì 25 febbraio 2011

How to Translate Sankorè

Here a little how to for translate Sankorè 3.1. First of all you should download the code from the adullact.net site and install the qt development tools for your operating system (http://qt.nokia.com/downloads). Pay attention at the fact that on Windows operating system the used qt development library is the VS2008 version and not the minGW library version.

Here began the process to translate the Sankorè application. First of all check if the language you are interesting in is in the project file.
Open Sankore_3.1.pro file with an editor and look for the TRANSLATIONS entry. Verify that the TRANSLATIONS list contains such an entry:

resources/i18n/sankore_TWO_CHARACTERS_LANGUAGE_CODE.ts

where the TWO_CHARACTERS_LANGUAGE_CODE is the language code you want to translate.
For example french translation need a resources/i18n/sankore_fr.ts entry.

The second step consists on extracting the strings list that has to be translated. This is easily done using the lupdate command from the root project directory:
lupdate -no-obsolete Sankore_3.1.pro.

At this point open the translation file (sankore_TWO_CHARACTERS_LANGUAGE_CODE.ts) with QT Linguist (easiest way) or edit it with your preferred editor. It is located in ROOT_PROJECT_DIRECTORY/resources/i18n/ folder.

Once the translation done execute the lrelease command from the root project directory:
lrelease Sankore_3.1.pro .
This command will create the binary file used on Sankorè 3.1 program.

Rebuild the application and the new language will be available.
That's all.

More information about the command used in this mini how to can be found on http://doc.qt.nokia.com/latest/linguist-manual.html web site.

mercoledì 23 febbraio 2011

Smart Notebook e Sankorè ( I°t. )

Per iniziare provo ad installare Notebook, non esiste la versione per macchina Linux 64bit quindi lo metto su Windows. Ho la versione di prova per 30 giorni.
La prima differenza che noto è che il programma SMART si apre più come editor per la creazione della lezione, con i vari menu stile Word o PowerPoint e la pagina bianca in una finestra a parte mente SK è più un tutt'uno creazione presentazione, ho si il menu con i vari strumenti ma appare + integrato nella pagina. Notebook si apre come finestra mentre SK direttamente a schermo intero.

Strumenti Notebook :

  • Una buona gamma di penne, pennelli, colore, tipi di testo, c'è una penna che riconosce le forme e una magica che scompare dopo un po.
  • Disegnatori di poligoni regolari e non, editor per scrivere equazioni, misuratori, tabelle per dati e possibile utlizzo nella creazione di grafici.
  • C'è la possibilità di inserire video o applicazioni flash, immagini, importare presentazioni PP, inserire domade con vari tipi di risposta (scelta multipla, si no, vero falso).
  • E' presente una raccolta di immagini e strumenti interattivi (non so se fatti in flash o alto) veramente notevole, ci sono immagini e semplici applicazioni per ogni materia. Ognuno di questi strumenti è editabile dall'insegnante per la creazione dello strumento finale. Per esempio anagrammi, associazioni di vario tipo, riordinamento di frasi etc.
  • E' possibili utilizzare il link allo SMART Exchange (ancora in versione beta) che permette di condividere sul web queste lezioni digitali. L'acquisizione di lezioni o la loro condivisione non è gestita dal programma ma apre una pagina sul browser da dove è possibile scaricare o fare l'upload di esse
Sicuramente ci sono altre funzionalità che non ho menzionato sopra, ma queste a mio parere sono le più importanti.

Strumenti Sankorè :

  • Penna, pennello, evidenziatore, puntatore laser, testo, gomma e la possibilità di scegliere il colore la forma e la dimensione.
  • Ci sono vari tipi di background dal classico bianco al nero con griglia.
  • Posso inserire forme, video, immagini, presentazioni PP, testi pdf, applicazioni flash e degli appositi widget in flash o javascript.
  • C'è un browser integrato dal quale posso estrapolare pezzi di pagina, immagini o parti flash e inserirle nella lezione.
  • E' presente una libreria di applicazioni che permettere di scegliere tra le apps predefinite, caricarne di proprie oppure sceglierle dalla libreria online.
  • Si possono inoltre cercare applicazioni flash o immagini su internet tramite un form presente nella libreria.
Io credo che il punto forte di sankorè sia la presenza del browser integrato che non solo mi permette una navigazione integrata ma anche una forte espandibilità in quanto chiunque può creare delle apps e aggiungerle alla lezione. 

Questo è stato un primo veloce confronto tra i 2 sw. Approfondirò in seguito se necessario.

martedì 22 febbraio 2011

Mail a Sankore

Come detto prima ho mandato una mail all' Admin  che lavora al progetto Sankorè chiedendo informazioni su una possibile documentazione e sulla lingua. Ecco la risposta:

Salve Michele, Mi permetto di scriverti in italiano.
Mi dispiace ma attualmente non c'è alcuna documentazione. Tutto ciòdovrebbe cambiare nel corso di quest'anno ma purtroppo per il momentola documentazione non è una priorità.
Posso comunque dirti che Sankore gestisce attualmente più lingue (tracui l'italiano). Il problema è che la traduzione non è ancora statafatta. Mi spiego meglio. Il programma cerca di addattarsi alla linguadel tuo computer ma soltanto se trova le traduzioni per i labeldefiniti in inglese. Ebbene la traduzione di questi label in inglese èmolto limitata soprattutto in italiano.
Se sei interessato a fare queste traduzione fammelo sapere, tispiegherò come si fà.
AmichevolmenteClaudio
PS Per contattarmi ti prego di utilizzare il forum del sito web disakore cosi le informazioni date saranno disponibili per tutti
 Sembrano molto disponibili, se il prof è d'accordo domani li contatto per vedere come si può procedere alla traduzione. Pensavo anche di farmi dare qualche informazione sul browser integrato che utilizzano per vedere cosa supporta e cosa no.

Chrome Apps e Sankorè

Vediamo di comprendere il funzionamento di Chrome Apps ( raccolta di applicazioni installabili su google chrome ) e capire se è possibile integrare queste applicazioni in Sankorè.

Chrome store : https://chrome.google.com/webstore

Sono presenti apps di ogni genere sia a pagamento che free, a me interessa la categoria educations.
Una vola scelta l'applicazione è possibile installarla, vedere il sito del produttore (non sempre), commentarla, etc. A volte sul sito del produttore è possibile utilizzare l'apps direttamente da li.

Vediamo come sono fatte queste apps: http://code.google.com/intl/it/chrome/apps/

Esistono 2 tipi di apps. hosted apps e package apps, le prime sono delle normali web applications sviluppate con qualsiasi tecnologia che lavorano sul proprio server e che forniscono a chrome dei metadati che descrivano l'applicazione. Le package apps sono invece completamente scaricabili.

In poche parole l'utente crea la sua web applications come vuole e con la tecnologia che preferisce (js, flash..) e poi la commuta in hostedapp o package app aggiungendo un file coi metadati necessari.
Qua le guide per fare questa operazione:
  http://code.google.com/intl/it/chrome/apps/docs/developers_guide.html
  http://code.google.com/chrome/extensions/apps.html

Fatto questo zippi il tutto e lo carichi sullo store ( non ho ancora provato a farlo ).

Provo a vedere come si comporta il browser integrato in Sankorè col Chrome Store.
Male.. appena caricato il sito mi dice che questo browser non supporta queste apps e ovviamente mi blocca il pulsante Install. Non si possono quindi ottenere questi strumenti direttamente dal browser.

Cerco di capire cosa fa il pulsante install sulla apps. Semplicemente mi scarica la hostedapps o packageapps nella cartella di chrome. Utilizzando ubuntu: /home/user/.config/google-chrome/Default/Extensions/ . Questa directory contiene altre cartelle contenenti le estensioni installate il problema è che il nome è hashato o qualcosa del genere.. io mi ritrovo:
fbdglekpmmdlmdfogflhiponnndbokpk ihklobncbkangkiiamccfgnlihbmjhlhlpkpgfoaoboobmhcbpbbbalnoddeealgnkhkaamdeplibnmodcgodlkghphdbahkofpimeaclblbaodahnhhmlblagijlnadfcpalfkpbhhiaibalhoedjncjpjhmfgejpjpnpmbddbjkfaccnmhnkdgjideieimmihcahmgecmbnbcchbopgniflfhgnkffocjpbdojdmdmnoijibadlmpiamcmmmcj
in tutte trovo il file manifest.json che contiene i metadati dell'apps Es:

Metadati per una hostedapp:

{
   "app": {
      "launch": {
         "web_url": "http://graph.tk/"
      },
      "urls": [ "http://graph.tk/about" ]
   },
   "description": "Plot mathematical functions with this graphing utility",
   "icons": {
      "128": "icon_128.png"
   } ...
Metadati per una packageapp:

{   "app": {      "launch": {         "local_path": "index.html"      }   },   "description": "Learn Your Addition, Subtraction, Multiplication, adn Division!",   "icons": {      "128": "icon_128.gif",      "16": "icon_16.gif",      "24": "icon_24.gif"   } 

lanciando l'url http://graph.tk sul browser di sankore crasha il programma, credo sia perchè quella app utilizza tag di HTML 5 non supportati, le altre hostedapp provate funzionano.

Faccio una prova, provo a prendere una packageapp e a convertirla in un widget funzionante per Sankore. App di prova Calculator.
Come creare un widget Sankorè:  http://support.getuniboard.com/forums/105435/entries/84881

Esito del test positivo, il nuovo widget per sankorè funziona, mi è bastato aggiungere alla cartella dell'app il file config.xml specificando la main page dell'app zipparla, salvarla .wgt e caricarla in Sankorè.



 Il problema è che in tutto questo c'è ben poco di automatico, devo fare tutto io manualmente, sarebbe bello avere all'interno di sankorè un estensione o qualcosa che mi permetta di cercare e scaricare o ottenere il link a questi strumenti. Più o meno come quella che è presente ora per la ricerca di applicazioni flash. Il Chrome store non permette cmq lo scaricamento diretto dell'app ma la sua installazione il che a mio avviso complica di molto le cose anche perchè servirebbe il browser di google integrato in Sankorè. Provo cmq a mandare una mail al team di SK per vedere se c'è una documentazione o qualcosa che mi permetta di capire meglio cm'è strutturato Sankore, ma prima una pausa!