Il sistema che abbiamo realizzato serve per gestire un sito che consenta lo scambio di appunti e manuali fra utenti. Il concetto è semplice: inviando del materiale si ottiene la possibilità di scaricare del materiale già presente nel sito.
Vediamo in dettaglio come funziona.
REGISTRAZIONE
Innanzitutto è necessario che gli utenti si registrino, naturalmente in maniera gratuita. Compilando il modulo di registrazione si ottengono immediatamente 20 bonus, da utilizzare per scaricare i manuali già presenti nel sito.
Infatti ogni manuale ha un costo, espresso appunto in termini di bonus: l’utente appena registrato, può quindi scaricare materiale finche’ non esaurisce i bonus a sua disposizione.
Inoltre ogni volta che il materiale di un utente viene scaricato, questi guadagna un bonus, che gli sarà immediatamente accreditato. In questo modo l’utente è invogliato ad inviare materiale di qualità, in quanto più il suo manuale viene scaricato, più lui ha possibilità di scaricarne.
DOWNLOAD
Ogni file ha un proprio costo, definito in base alla quantità e alla qualità delle informazioni trattate. Il costo è espresso intermini di bonus, quindi si potrà scaricarlo solo si hanno bonus a sufficienza (quindi con 10 crediti non sarà possibile scaricare un file che ne costa 20!).
INVIO
Per aumentare i propri bonus esistono due possibilità: inviare del materiale o acquistare dei bonus dietro pagamento di un corrispettivo in denaro (tanto per fare un esempio: £ 5000 per 10 bonus). In questo caso l’amministratore del sito, una volta ricevuto il pagamento, si collega al Pannello di Controllo del sito (disponibile all’indirizzo http://www.tuosito.com/appunti/gestione) e, cliccando sulla scheda dell’utente, aggiungere il numero di bonus voluti. Nel caso in cui invece si invii del materiale, questo sarà valutato e gli verrà assegnato un punteggio: questo punteggio altro non sarà che il costo del manuale stesso. L’utente che ha inviato il materiale guadagnerà tanti bonus pari al doppio del punteggio ottenuto: se per es. il materiale inviato viene valutato 10, il suo costo sarà pari a dieci bonus, mentre l’utente che lo ha inviato avrà un accredito di venti bonus.
Un’email, inviata automaticamente dal server, avvertirà l’utente del fatto che il suo materiale è stato pubblicato e che gli sono stati accreditati i bonus che gli spettano.
Il materiale inviato dagli utenti viene uplodato direttamente sul server del sito stesso, in modo che non ci sia bisogno di spedirlo via email; inoltre, così facendo, rimane disponibile per i successivi download, senza necessità di pubblicarlo.
L’utente, infase di invio, ne inserisce una breve descrizione e specifica delle parole chiave che ne consentono l’indicizzazione per il motore di ricerca interno. Tutti i file inviati dagli utenti devono necessariamente essere in formato .ZIP, ovvero compressi: i file inviati sono visbili dal Pannello di Controllo del sito, pronti per essere scaricati da parte dell’amministratore e successivamente aggiunti all’elenco dei file disponibili. L’operazione di aggiunta viene effettuata direttamente online.
NOTE TECNICHE
L’upload di file sul server avviene grazie all’utilizzo di un componente ASP che deve essere presente sul server stesso. Inoltre i file vengono pubblicati all’interno della cartella public.
Non tutti i server dispongono di queste caratteristiche: per la realizzazione di questo sistema abbiamo fatto riferimento ai server di Arubain quanto, nonostante i servizi tutt’altro che professionali (almeno per la mia esperienza…) è molto usato soprattutto per siti “senza grosse pretese” e che, nello specifico, dispongono di queste funzionalità. Infatti per quanto riguarda l’upload dei file abbiamo utilizzato le due pagine ASP realizzate dallo staff di Aruba stessa (naturalmente modificandoli in base alle nostre esigenze…). Quindi se avete un sito ospitato da Aruba.it non dovrete modificare nulla: in caso contrario dovreste chiedere al vosto provider per avere le informazioni del caso.
Comunque i file upload.asp e outputFile.asp devono essere inseriti nella cartella public. Si occupano sia di verificare che il file inviato abbia estensione .ZIP (questo per evitare che vengano inviati eseguibili che ossano danneggiare il server), sia di controllare che non esista già un file con lo stesso nome.
I database vanno invece inseriti nella cartella mdb-database, avente i permessi di scrittura abilitati, ma non i permessi di lettura (per evitare che il database sia scaricabile via browser).
Il download dei file già presenti avviene mediante un file (che si chiama appunto download.asp) il quale compie diverse operazioni:
– innanzitutto controlla che il file cercato esista; in caso contrario viene mostrata una pagina dierrore. Così facendo si evitano problemi dovuti al fatto che all’utente vengono tolti i bonus senza però poter scaricare i file cercati.
– controlla che il costo non superi la quantità di bonus che l’utente ha a sua disposizione;
– addebita il costo del manuale all’utente stesso;
– accredita un bonus all’autore del manuale;
– finalmente da inizio al download del file: in questo caso comunque non viene mostrato l’indirizzo completo (es. http://www.tuosito.com/public/file.zip), anche per evitare che venga nuovamente scaricato in seguito direttamente digitandone il link.
Tutte le pagine dell’area riservata agli utenti iscritti, riportno in alto le informazioni principali riguardanti l’utente stesso: nome, congome, username, indirizzo email nonché la quantità di bonus disponibili. Mediante l’apposito link l’utente può modificare e aggiornare questi dati.
Il pannello di controllo consente di gestire il materiale inviato dagli utenti, nonché visualizzare le scheda dei registrati eventualmente aggiugendo i bonus che questi ha acquistato.
Potrebbe essere una buona cosa aggiungere funzionalità riguardanti la modifica o l’eliminazione del materiale già pubblicato, la gestione degli utenti…
Ma è un lavoro che lasciamo fare a voi ;-))
Per quanto riguarda il restante codice non credo ci siano problemi: si tratta di prelevare e aggiungere informazioni dal database: operazioni che sono ampiamente trattate e commentate in questa stessa sezione.
Comunque per qualsiasi dubbio o chiarimento potete utilizzare il forum dedicato alle ASP.