Confermare la chiusura di una pagina html

26 febbraio 2010 alle 1:04 pm | Pubblicato in Lavoro | Lascia un commento
Etichette:

Per far apparire un messaggio di conferma alla chiusura di una pagina html si può usare il seguente script

<script type="text/javascript">:
window.onbeforeunload = confermaExit;
function confermaExit(e){
return "Scrivere il messaggio che si vuole far apparire per confermare la chiusura della pagina"
}
</script>

Come installare e configurare iJab con ejabberd e Apache File Server su Windows

18 febbraio 2010 alle 1:04 pm | Pubblicato in Lavoro | Lascia un commento
Etichette: , , ,

Software:
iJab versione 1.0 beta
Ejabberd versione 2.1.2
Apache Http Server versione 2.2.14

Modifica degli Host
Aprite con un editor di testi il file C:\WINDOWS\system32\drivers\etc\host e aggiungete la riga

127.0.0.1 mycompany.com

Per tutto il tutorial farò riferimento a mycompany.com come dominio, ognuno è libero di scrivere ciò che vuole.

In questo modo l’indirizzo mycompany.com verrà risolto con localhost. Per verificare che tutto sia andato a buon fine basta fare eseguire il

comando ping mycompany.com dal prompt dei comandi e avere un output del tipo

Esecuzione di Ping mycompany.com [127.0.0.1] con 32 byte di dati:

Risposta da 127.0.0.1: byte=32 durata<1ms TTL=128
Risposta da 127.0.0.1: byte=32 durata<1ms TTL=128
Risposta da 127.0.0.1: byte=32 durata<1ms TTL=128
Risposta da 127.0.0.1: byte=32 durata<1ms TTL=128

Statistiche Ping per 127.0.0.1:
Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi)

Installare Ejabber
Durante l’installazione impostare come dominio mycompany.com
Impostare il nome utente dell’amministratore e la sua password.
Fate partire il server ejabberd dal menu start -> ProcessOne -> Start Ejabberd.
Se tutto è andato a buon fine vi si aprirà il browser informandovi che il server è in esecuzione.
Ejabber richiede il Microsoft Visual C++ 2005 SP1 Redistributable Package (x86), nel caso non sia installato verrà mostrato un messaggio di errore. In tal caso scaricare dal sito microsoft le librerie ed installarle.
La configurazione di ejabberd standard dovrebbe essere più che sufficiente per le nostre esigenze. E’ fondamentale che il modulo http-binb sia funzionante e per testarlo inseriamo il seguente url nel browser http://mycompany.com:5280/http-bind/

e la risposta davrebbe essere la seguente

ejabberd mod_http_bind v1.2
An implementation of XMPP over BOSH (XEP-0206)
This web page is only informative. To use HTTP-Bind you need a Jabber/XMPP client that supports it.

Dal pannello di amministrazione di ejabber (http://mycompany.com:5280/admin) creiamo un utente di prova sul nostro nodo ejabber
VirtualHost -> mycompany.com -> utenti e inseriamo username e password (ad esempio user user)

Piccola nota: in teoria ejabberd possiede un modulo http file server e sarebbe possibile evitare (almeno per il debug su localhost) l’installazione di Apache. Per attivare l’hfs è necessario modificare il file di configurazione di ejabberd (/conf/ejabberd.cfg) decommentando le righe relative al mod_http_fileserver nella sezione dei listener  (le 3 righe sotto {5280, ejabberd_http, [ ) e le righe della sezione del mod_http_fileserver con i path della root. Le richieste a http://mycompany:5280/web/ dovrebbero essere gestite da questo mod, ma io in due installazioni differenti non sono riuscito a farlo andare (mi tritrovo sempre con un 404 not found, nonostante il file webaccess.log venga correttamente creato nella sottocartella www...). Se avete più fortuna di me potete direttamente utilizzare la cartella www per hostare iJab, altirmenti passate ad installare apache.

Installare Apache

Installate il server http apache con le seguenti impostazioni

e proseguire con l'installazione tipica. Per verificare la corretta installazione colleghiamoci a http://mycompany.com e dovremmo ricevere il messaggio It Works!

Ora dobbiamo modificare la confiurazione di apache per farlo funzionare come proxy verso ejabberd nel caso l'indirizzo richiesto sia http://mycompany.com/http-bind/ per il servizio di xmpp.
Apriamo il file httpd.conf nella cartella conf di Apache (sotto windows xp C:\Programmi\Apache Software Foundation\Apache2.2\conf\httpd.conf)

Dobbiamo abilitare il caricamento dei moduli Proxy, Proxy http e Rewrite e quindi decommentare (rimuovere # a inizio riga) le seguenti righe

LoadModule proxy_module modules/mod_proxy.so
...
LoadModule proxy_http_module modules/mod_proxy_http.so
...
LoadModule rewrite_module modules/mod_rewrite.so

Modifichaimo poi la seguente parte di configurazione come indicato sotto

<Directory>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
AddDefaultCharset UTF-8
Options +MultiViews

<Directory/>

RewriteEngine On
RewriteRule /http-bind/ http://127.0.0.1:5280/http-bind/ [P]

Facciamo ripartire il server apache per rendere effettive le modifiche.
A questo punto se ci colleghiamo a http://mycompany.com/http-bind/ avremo la stessa pagina di presentazione del modulo http-bind di ejabberd raggiungibile sulla porta 5280.

Installare iJab
Scaricare il pacchetto precompilato di iJab e la pagina ijab_v1.0.html di test (rinominiamo per comodità il file in ijab.html). Decomprimiamo il primo nella root del server http di Apache (C:\Program Files\Apache Software Foundation\Apache2.2\htdocs) e copiamo il file html nella sottocartella iJab che è stata estratta dall'archivio zip.

Configurare iJab
Il file ijab.html è da modificare con un po' di attenzione. Per prima cosa è necessario impostare le variabili di connessione

var iJabConf =
{
....
xmpp:{
domain:"mycompany.com",
http_bind:"/http-bind/",

port:5222,
server_type:"ejabberd",
roster_mode:"all",
...
},

In un secondo momento potete configurare a piacere la sezione tools e shortcuts
Modifichiamo poi la riga che importa lo script principale di iJab

<script> type="text/javascript" src="ijab.nocache.js"> </script>

facendo attenzione a chiudere il tag con script correttamente con </script> dato che il file html che si scarica ne è sprovvisto.

Modifichiamo il bottone test per effettuare la chiamata al login con l'utente che abbiamo creato su ejabber

<input type="button" value="test" onclick="iJab.login('user','user');" >

Opzionale: se siamo interessati a registrarci sugli eventi che iJab mette a disposizione dobbiamo inserire questo javascript che viene chiamato premendo sul tasto Add Handler (in caso contrario il browser segnalerà l'assenza della funzione testHandler()

<script type="text/javascript">
function testHandler()
{
var handler =
{
onBeforeLogin:function()
{
alert("On Before login");
},
onEndLogin:function()
{
alert("On end login");
},
onError:function(message)
{
iJab.login('imdev','imdev631');
},
onLogout:function()
{
alert("On logout");
}
};
iJab.addListener(handler);
}
</script>

A questo punto aprite il browser sulla pagina http://mycompany.com/ijab/ijab.html e premete su test per loggarvi. Chiaramente non avendo aggiunto contatti al nostro utente avremo Buddy (0/0).

Nota: Attualmente non è stato rilasciato il sorgente di iJab e tutti i javascript sono offuscati. Con la versione 1.0 final saranno rilasicati anche i sorgenti.
Spero che questo tutorial vi sia stato utile.

Blog su WordPress.com. | Tema: Pool by Borja Fernandez.
Voci e commenti feed.

Iscriviti

Get every new post delivered to your Inbox.