# E107

e107 è un software di gestione contenuti per siti web, realizzato in linguaggio PHP e coadiuvato da MySQL per la gestione del database. e107 è distribuito con licenza GNU General Public License. È un CMS relativamente giovane. Nato nel 2002 ha una struttura basata sulla teoria del "portal in box" sviluppata da Steve Dunstan e, corredato di moduli aggiuntivi, permette la gestione dei compiti più comuni richiesti attualmente ad un sito web.

## Caratteristiche

Di seguito alcune caratteristiche fondamentali di questo CMS:
* Gestione degli utenti: è possibile infatti gestire la registrazione e l'approvazione di questi ultimi. Per una migliore gestione è possibile creare dei gruppi di utenti e assegnare loro dei privilegi.
* Gestione dei banner pubblicitari: attraverso l'interfaccia di amministrazione è possibile gestire i banner da far vedere ai visitatori, e permette di impostare per quanto tempo visualizzarli.
* Gestione della lingua: per la creazione di siti multilingua.
* Creazione dei contenuti: come in ogni CMS, e107 offre la possibilità di creare pagine e menù usando un editor di tipo BBCode o di tipo WYSIWYG, avendo la possibilità di modificare le proprie pagine mettendo mano al codice. È possibile inoltre creare contenuti personalizzati a seconda del gruppo di appartenenza dell'utente, in questo modo utenti di diversi gruppi vedranno il sito in maniera differente.
* Ricerca interna del sito: in e107 è integrato un motore di ricerca che permette di trovare velocemente le informazioni di cui gli utenti hanno bisogno.
* Gestione dei file: gli utenti che hanno il permesso di upload/download possono caricare/scaricare file dal sito. Inoltre, è presente un file manager che facilita la gestione del proprio spazio web.
* Comunicazione tra gli utenti: e107 fornisce gli strumenti per la comunicazione tra gli utenti registrati al sito e tra gli amministratori che gestiscono diversi aspetti del sito web.
* Estensioni: Questo CMS è supportato da una comunità in crescita che fornisce aiuto nei vari forum(vedi link utili) ed espande le funizonalità di e107 attraverso la creazione di plugin e temi grafici per personalizzare il sito.

## Estensioni

Le estensioni di e107 sono distribuite in pacchetti compressi e possono essere installati in maniera automatica attraverso l'interfaccia di amministrazione, oppure possono essere caricati manualmente. Le estensioni si dividono in due categorie:
* Temi: i temi servono a personalizzare la grafica del proprio sito o dell'interfaccia di amministrazione. Sono realizzati facendo uso di file CSS e PHP e sono quindi separati dal contenuto, in questo modo l'amministratore può cambiare la veste grafica del sito con un solo click. Questi temi sono solitamente distribuiti gratuitamente e possono essere eventualmente modificati. Esiste una apposita sezione nell'interfaccia di amministrazione dov'è possibile caricare i temi o assegnare un tema per l'interfaccia o per il sito.
* Plugin: i plugin sono dei moduli aggiuntivi che aggiungono funzionalità al sito. Possono essere installate attraverso il plugin manager e possono essere attivate o disattivate dall'amministratore. Una volta installato un plugin, il suo pannello di configurazione compare nella sezione "plugin" dell'interfaccia di amministrazione.
Nell'installazione base di e107 sono già presenti dei plugin che permettono di svolgere diverse funzioni, tra cui:
* Forum
* Calendario eventi
* Gestione avanzata del contenuto, organizzato in categorie
* Chatbox
* Controllo dell'integrità dei dati
* Gestione delle sitemap
* Raccolta e presentazione delle statistiche del sito
* Pubblicazione di sondaggi

## Gestione degli utenti

La registrazione dà la possibilità all'utente di interagire con il sito, pubblicando notizie o accedendo ad aree ristrette. È possibile, durante la registrazione, inserire i dati personali tramite file UXP, evitando il riempimento manuale del form. E107 offre il controllo completo degli utenti, i quali sono registrati in una tabella con i rispettivi dati personali(ID, lo Status, il nome, il gruppo di appartenenza ed un campo opzioni).
Per la modifica degli utenti amministratori, nel campo opzioni, è presente solo la possibilità di associarlo ad un determinato gruppo; invece per gli utenti normali sono presenti svariate opzioni di modifica:
* Info: permette all'amministratore di visualizzare i messaggi inviati dall'utente;
* Modifica: permette la modifica, da parte dell'amministratore, dei campi nome utente e password ;
* Banna/Debanna: non consente all'utente di effettuare il login. Una volta bannato sarà visibile l'opzione per debannare l'utente;
* Rendi amministratore: permette di cambiare lo status dell'utente. Una volta attivato sarà visibile l'opzione Rimuovi status amministratore;
* Imposta Gruppo: permette di impostare il gruppo di appartenenza di un utente;
* Elimina: rimuove l'utente.

## Gestione dei gruppi

Dal menù principale è possibile accedere alla sezione riguardante la gestione dei gruppi utente. La pagina permette all'amministratore di visualizzare, creare, modificare e cancellare i gruppi del sito tramite un'interfaccia di facile intuizione. Cliccando sul pulsante Modifica è possibile cambiare il nome del gruppo e, cosa molto importante, impostare gli utenti che ne faranno parte. La creazione di gruppi permetterà l'accesso a determinate aree del sito solamente ad utenti che ne faranno parte.
Ogni contenuto o funzione presente nel CMS E107 è corredata di un campo Visibile da: in cui sarà possibile scegliere i gruppi che ne avranno accesso.

## Strumenti di amministrazione

In questo CMS sono integrati alcuni strumenti per effettuare operazioni di manutenzione del sito.
Uno di questi è lo strumento per la gestione del database, con cui è possibile svolgere diverse funzioni, come verificare l'integrità del database di e107, ottimizzare le tabelle del database riorganizzando i dati, oppure effettuare il backup delle impostazioni del CMS.
Per la gestione dei file di e107 sono presenti gli strumenti "File Inspector" e "File manager". Il primo si occupa di verificare l'integrità dei dati, scansionando i file e controllando che non siano corrotti, non aggiornati o modificati da qualcuno senza autorizzazione. I file che non hanno superato il controllo vengono poi mostrati attraverso un elenco o attraverso un menù ad albero, che mostra la esatta posizione dei file. Il "File manager" invece, consente di copiare, spostare ed eliminare file nelle cartelle a cui l'utente ha il permesso di accedere.

## Sistemi di protezione e sicurezza

* Possibilità di utilizzo dell'SSL (Secure Sockets Layer);
* possibilità di aggiungere un'immagine captcha alla pagine di login, registrazione o in caso di password errata;
* verifica della registrazione via e-mail, evitando di inviare la password dell'utente;
* disabilitazione dei login multipli, in modo da evitare che un utente si connetta più volte con lo stesso account;
* tracciatura del percorso utente, che consente di esaminare le visite al sito di uno specifico utente;
* possibilità di attivare un filtro di censura per parole vietate, questo strumento sostituisce queste ultime con una frase scelta dall'amministratore. La lista delle parole vietate può essere inserita dall'amministratore stesso;
* abilitazione del "flood protection", ovvero il tempo minimo di attesa in cui non è possibile inviare o scrivere commenti;
* "ban automatico", che consente di bannare automaticamente un utente qualora si verifichino alcune condizioni;
* Risoluzione DNS inversa, che consente di bannare un utente tramite il nome dell'host e non tramite l'indirizzo IP;
* abilitazione di un avviso quando la password dell'amministratore non è stata cambiata da almeno 30 giorni.

## Verso la Versione 2.4 di e107

Attualmente è in sviluppo la nuova versione di e107 che porterà nuovi miglioramenti e funzioni.