la realizzazione tecnica di una comunità online, ha esigenze dettate in particolare dal grado di interattività con gli utenti che si intende
fornire, quindi non é sufficiente offrire un sistema di contenuti organizzato staticamente:
bisogna essere in grado di riconoscere ed autenticare i membri, fornire accessi particolari agli amministratori, concedere diritti in scrittura a chi
utilizza forums e simili, dare permessi in upload, effettuare del content management in modo efficente; garantire la persistenza dei dati, evitare transazioni
non determinate e garantire un livello ragionevole di difesa da accessi e manipolazioni improprie.
Tutte cose che HTML, in quanto formato di presentazione, non é in grado di fare. In questo senso sono nate dapprima le diverse esecuzioni CGI, in Perl,
in Bash, oppure direttamente in codice binario, in grado di proporre form e quant'altro intermediando la pagina statica con il resto del sistema ed introducendo
non pochi problemi di sicurezza ed una fitta letteratura di exploit.
Le specifiche di HTML dinamico, ed in particolare l'introduzione di Java Script diedero qualche strumento di interazione in più, ma limitato alla parte client.
Dal lato server si fece, ancora oggi, largo uso di Perl per interfacciare pagine statiche con databases, applicativi di posta elettronica, tools di monitoraggio ecc.
Per quanto teoricamente ogni linguaggio di programmazione sia in grado di fornire interattività al web,
oggi la maggior parte dei databases offre tools di interfacciamento con il web, via ODBC o in maniera nativa, ed esistono linguaggi di scripting in grado
di interrogare questi databases ed i loro sistemi nonché di fornire output in HTML; si tratta di due linguaggi interpretati server-side: ASP (Active server Pages) per i webserver IIS di Microsoft, con una
sintassi derivata dal loro Visual Basic, ed il PHP (Hypertext Preprocessor), derivato da PHPFI da cui ha mantenuto il nome, con costrutti e sintassi provenienti
in maggioranza da ANSI C sviluppato nativamente per architetture LAMP.
Dal lato server molte sono anche le implementazioni JAVA con le 'java servelets', applicazioni Java che forniscono applets in output alle richieste utente.
Questi ambienti di sviluppo sono tutti 'cross-platform' cioè in linea di massima implementabili su ogni piattaforma (web server) Web, in pratica ognuno da il meglio di se
in ambiente nativo. Tuttavia non é raro vedere alcune comunità commerciali, oppure di lungo corso che implementano diverse tecnologie, secondo il
prodotto offerto.
Per sviluppare comunità da zero sono quindi necessarie conoscenze specifiche della piattaforma operativa su cui intende implementare il codice, conoscenze specifiche sugli User
Agent (browser) per cui si intende aprirsi, competenze nella realizzazione ed amministrazione di Databases, serie conoscenze di HTML nonché dello specifico
linguaggio di programmazione che si voglia utilizzare.
Oggi esistono però sia in ambiente commerciale che in ambiente GNU molti pacchetti già scritti e configurati allo scopo, ciò non esime però dalle necessarie
competenze di implementazione e gestione. Oppure affidare in outsourcing il progetto :-)
Oltre a queste offerte, in cambio spesso di pubblicità o di un modesto contributo, si possono 'assemblare' elementi diversi e provenienti da punti disparati,
quali forums, chat, mailing list ecc.
LAMP
viene definita LAMP (Linux+Apache+MySql+PHP) un'architettura che comprende Sistema Operativo, Web Server, DataBase relazionale, modulo per il linguaggio
di scripting PHP. Particolarità di questo subset, é il fatto di poggiare su elementi molto versatili, piuttosto sicuri in ambiente di rete e di essere
tutti rilasciati con licenza GNU-GPL, il che significa che il soft così rilasciato può essere modificato, adattato, ridistribuito in maniera libera, con
l'unico obbligo di ridistribuire sorgenti e licenza se del caso. Su di essa moltissimi applicativi adatti a comunità online vengono sviluppati, migliorati
e mantenuti. La versatilità é tale per cui é possibile sviluppare in altri ambienti operativi con le proprie applicazioni preferite, p.es. win.x, mac, other unix
in accesso alla directory del webserver come se fosse una directory locale visualizzandone l'output da server sul proprio browser.
il limite maggiore é costituito dalla mancanza a tutt'oggi di IDE (integrated Developpement Environnement) in modo grafico per lo sviluppo di databases
e codice PHP, il che obbliga a lunghe sessioni di codifica manuale.
ASP
Active Server Pages é rapido e flessibile, l'utilizzo di questo linguaggio è però perlopiù confinato ai server Microsoft, come ad esempio IIS,
e non funziona quindi con tutti gli altri server che popolano il web. Tuttavia, non è difficile vedere diversi provider che ne propongono
l'utilizzo. Grazie all'uso delle pagine ASP, l'utente può quindi creare dei documenti che possono fornire informazioni, rispondendo in modo
diverso alle differenti richieste dei navigatori.I vantaggi nell'utilizzo di questo linguaggio di scripting sono dati dal fatto che le pagine asp
sono completamente integrate con i file html, facili da creare e non necessitano di compilazione, sono orientate agli oggetti e usano componenti
server ActiveX.
http://www.linuxiso.org, Distro Linux
http://httpd.apache.org, Apache, web Server
http://www.mysql.org, MySql database relazionale
http://www.php.net, il linguaggio di scripting Server side
http://www.gnu.org, il progetto e le licenze GNU-GPL
http://www.aspitalia.com, ASP in italia
http://www.risorse.net, Comunità italiana per Webmasters, soprattutto ASP
I componenti di una comunità
Mailing Lists
Fra i luoghi di incontro online più semplici da creare e mantenere. La maggior parte dei MUA (Mail User Agent), consente il raggrupamento
di liste di indirizzi, tuttavia quelle basate su Internet consentono a tutta la comunità di condividerne la lista: tramite una soft in rete é possibile
creare ed aggiungere una lista di indirizzi ai quali viene recapitato in automatico ogni messaggio inviato sulla lista.
Le indicazioni maggiori per una mailing list, sono date p. es. dalla necessità di dare avvio ad una nuova comunità, oppure servirne una di piccole
dimensioni: la gente vi scambia informazioni, pone domande e risponde. Newsletter ed annunci vari sono altresì buoni motivi per l'utilizzo di una
mailing list come pure servire gli utenti nuovi arrivati, evitando loro problemi di interfaccia per reperire le informazioni iniziali, per quanto utilizzata
quasi sempre in combinazione ad altri strumenti di comunicazione, a piccoli gruppi con obiettivo comune potrebbe anche convenire l'impiego
quale unica struttura comunitaria. Bisogna però tener conto che la gestione degli archivi e la loro consultazione nel tempo pongono qualche problema pratico.
452 Multi Mail, Software LAMP-GPL per la gestione di una mailing list
http://www.topica.com, Servizio di mailing list gratuito
Listserv, un applicativo proprietario a pagamento
Forums
Altrimenti noti come bulletin board o bacheche elettroniche sono tra i più diffusi luoghi di incontro online, che al pari delle mailing lists
ricorrono alla modalità asincrona; grazie a tale caratteristica possono dar vita a conversazioni che si protraggono nel tempo. Svilppano un
contesto ed una storia in seno alla comunità.
Tipicamente si possono suddividere in due categorie: a tema laddove dato un tema si dipartono lateralmente ramificandosi i vari thread che lo
compongono, indicato soprattutto per le conversazioni domanda-risposta, oppure il sistema lineare, laddove ad ogni topics é possibile sviluppare un tema
separato in qualche modo riferito ad una voce generale. Per rapporto alle mailing list, i forums offrono una serie di opzioni aggiuntive, p.es la caratteristica
BBCode, l'uso di avatar, search engines ecc. che consentono maggiori potenzialità nella formazione di comunità Web. I forums, danno la sensazione di luogo
specifico, creando un legame tra persone geograficamente distanti ed incrementando il senso di appartenenza.
Iansoft OpenBB Community, Software LAMP-GPL per la realizzazione di un forum
http://www.ezboard.com, Servizio Forum gratuito
Encore Web Forum, un applicativo proprietario a pagamento
Chat
Una grande quantità di persone frequenta chat su Internet per lavorare, giocare, litigare, flirtare o divertirsi. Il software per chat in tempo
reale consente a chiunque sia collegato al sistema di corrispondere immediatamente con ogni altro partecipante in modalità sincrona, contrapposta
a quella asincrona, grazie alla quale persone residenti in località lontante possono comunicare nello stesso istante.
Luoghi di incontro di questo tipo si rivelano importanti in ambiti diversi, dalle questioni pratiche alle situazioni divertenti. Vi si può
tenere un corso, gestire gruppi di supporto e riunioni di lavoro; esse forniscono il senso della presenza e dell'immediatezza, funzionano bene
per eventi prefissati, possono offrire guida e assistenza in tempo reale.
MWChat, Software LAMP-GPL per la realizzazione di una Chat
http://www.talkcity.com, Servizio Chat gratuito
Chat Blazer, Chat proprietaria a pagamento, richiede Java
News e contents management
Un altro strumento importante per le comunità online, é dato dai sistemi di gestione del contenuto: news riguardanti la comunità o settori
di interesse ben precisi, contenitori strutturati di documentazione, solitamente in upload e download, moderati da uno o più 'anziani'.
Questi strumenti consentono di regola l'editing dei contenuti online, la gestione delle immagini e diversi formati di dati. Sono per lo più
associati ad altri elementi come quelli precedentemente descritti. Fornisce un 'taglio' ad una comunità, rendendo immediato il senso della
tale o tal altra comunità. Permette ai membri di contribuire evidenziando specifiche conoscenze, consente un layout univoco alle pubblicazioni
della comunità.
http://phpweblog.org, Software LAMP-GPL per la gestione di articoli
http://www.freesticky.com, hosting gratuito per news management ed altro
Article Manager, content manager proprietario a pagamento basato su perl