|

SCAMBIO APPUNTI

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.
|