Spiegazioni
Questo articolo dovrebbe aiutarvi a configurare un sito con AspNuke su Brinkster, il provider di spazio Web gratuito che fornisce il supporto ASP su cui vi trovate adesso.<br><br>Io sono partito dalla versione di AspNuke 1.1 con applicata la patch cumulativa 03, e nella sezione download trovate il file "brinkster.zip" con tutti i file modificati (N.B. dovete personalizzare almeno il file "includesconfiguration-inc.asp" ed il file "includesmail-inc.asp").<br><br>Per prima cosa dovete sapere che su Brinkster non e' possibile scrivere via ASP su nessuna cartelle (a parte forse la cartella "db"), quindi il file "includesconfiguration-inc.asp" deve essere creato a mano.<br><br>Nel file "brinkster.zip" c'e' un esempio del file "includesconfiguration-inc.asp" configurato con un account su Brinkster denominato "account", quindi i percorsi sono nella forma: "/account/...".<br>Il sito risiede in una sotto cartella "nuke", allo stesso livello della cartella "db".<br><br>La cartella "db" e' l'unica che puo' contenere file ".mdb", quindi e' necessario posizionare in questa cartella i file Access. Per evitare che qualcuno possa scaricare i file ".mdb" via browser, dovete cambiargli nome e modificare di conseguenza le due righe presenti nel file "includesconfiguration-inc.asp" che contengono i nomi dei due file.<br> <br>Poi c'e' il problema che Brinkster e' molto severo per quanto riguarda la correttezza del codice, quindi ad ogni istruzione "on error resume next" deve corrispondere una successiva "on error goto 0". Mettere tale istruzione, comunque, puo' solo avere effetti positivi, quindi non rappresenta un problema.<br><br>A questo punto potete pazientemente trasferire su Brinkster tutta la struttura di AspNuke, 5 file alla volta (niente FTP, mi spiace...). Io ci sono riuscito in qualche ora di lavoro, e' una cosa un po' noiosa, ma non irealizzabile.<br><br>Un altro problema e' stato quello dell'oggetto XMLDOM. Visto che non e' possibile istanziarlo sotto Brinkster, ho spostato le funzioni "GetTranslation", "GetXMLDocument" e "GetXMLAttribute" dal file "includesfunctions-inc.asp" nel file "includesfunctions_js-inc.asp", creato appositamente ed incluso dal primo. Il secondo file include a sua volta "includesxparse.asp", un file contenente codice Jscript che viene eseguito comunque sul server. Tale file contiene alcune istruzioni scritte da me, piu' una libreria che ho trovato su internet per fare parsing XML.<br>In questo modo, attraverso una corretta gestione degli errori, se il server riesce ad istanziare l'oggetto XMLDOM tutto funziona regolarmente. In caso contrario, vengono usate le funzioni Jscript di parsing XML, ma, visto che sono necessariamente piuttosto lente, le traduzioni vengono inserite in variabili di sessione, in modo che le funzioni Jscript vengano richiamate una sola volta.<br><br>Questo meccanismo mi ha pero' costretto a cambiare il formato del file con le traduzioni, da UNICODE ad ANSI (cioe' normale). Per mantenere la correttezza del file e' necessario cambiare anche la prima riga del file XML da <?xml version="1.0" encoding="Unicode"?> a <?xml version="1.0" encoding="ISO-8859-1"?>.<br>In questo modo, almeno sotto windows 2000, tutto continua a funzionare correttamente.<br>Inoltre, per il fatto che la cartella "db" ha permessi di accesso diversi dalle altre, essa risulta l'unica in cui e' possibile mettere i file XML con le traduzioni, ed e' quindi necessario modificare il file "includesdisplay-inc.asp" perche' la funzione di visualizzazione delle versioni prenda in considerazione solo i file ".xml".<br><br>Infine c'era il problema del'invio della posta. Brinkster, come molti altri provider gratuiti, non lascia utilizzare l'oggetto CDONTS per evitare che il loro server SMTP venga utilizzato in modo fraudolento per fare spamming.<br>Alcuni provider forniscono il componente AspEmail, che utilizza un server SMTP fornito dall'utente.<br>Ci sono pero' due problemi: il primo e' che AspEmail suppone di collegarsi ad un server SMTP senza fornire alcuna credenziale, ed oggi server SMTP accessibili cosi' non se ne trovano piu'.<br>Il secondo e' che Brinkster non supporta neanche AspEmail...<br>La soluzione sta nel componente CDOSYS, specifico di Windows 2000 (quindi presente sui server di Brinkster), che fa la stessa cosa di AspEmail (creato al tempo di NT, ovvero dei Collaborative Data Objects for NT Server, altrimenti detti CDONTS), ma consente di inviare utente e password per il collegamento al server SMTP.<br>E' un componente molto poco documentato, ma perfettamente funzionante.<br>Io lo ho provato impostando sia il server di Libero.it, sia quello di Tin.it, senza riscontrare alcun problema.<br>Username e password devono essere configurati come per accedere ai rispettivi account POP3, ovvero "nome_utente@libero.it" e "password" per Libero, "nome_utente" e "password" per Tin.<br>Il server SMTP e' lo stesso che viene utilizzato per configurare il client di posta.<br><br>Riassumo le modifiche da me eseguite:<br><br>langIT.xml cambiata codifica in: <?xml version="1.0" encoding="ISO-8859-1"?><br><br>includesaccount-inc.asp 'Chiuse' istruzioni "on error resume next" con "on error goto 0" <br>includesdatabase-inc.asp 'Chiuse' istruzioni "on error resume next" con "on error goto 0" <br>includesvariables-inc.asp 'Chiuse' istruzioni "on error resume next" con "on error goto 0" <br><br>includesadmin
ews-inc.asp 'Chiuse' istruzioni "on error resume next" con "on error goto 0" <br><br>includesfunctions-inc.asp spostate funzioni GetTranslation, GetXMLDocument, GetXMLAttribute in functions_js-inc.asp<br> aggiunto <!-- #include file='functions_js-inc.asp' --><br><br>includesmail-inc.asp modificato in modo da usare componente CDOSYS al posto di CDONTS. <br> CDOSYS e' un componente nativo di Windows 2000, CDONTS veniva da NT.<br><br>includesdisplay-inc.asp modificata funzione DisplayVersions per agire solo su file .xml<br><br><br>Aggiunti i seguenti file in cartella includes:<br> functions_js-inc.asp<br> xparse.asp<br><br>Tutte le modifche eseguite NON modificano il comportamento normale di ASPNUKE sotto Windows 2000, e sono solo MIGLIORATIVE. <br><br>Ciao a tutti.<br><br>Enrico<br><br>