
FLATNUKE
--------

FlatNuke  un CMS (Content Management System) che non fa uso di DBMS,
appoggiandosi esclusivamente a file di testo (da qui il nome).


INTRODUZIONE
------------

FlatNuke  stato progettato per esigenze personali, mi occorreva,
infatti, un template per sviluppare siti che non richiedesse un DBMS.
Ho iniziato a svilupparlo seguendo le principali caratteristiche degli altri CMS
in circolazione, e sono riuscito a fornire le seguenti caratteristiche:


	- Supporto per le sezioni
	- Supporto per i blocchi
	- Supporto per le news
	- Supporto per i commenti
	- Lettura delle headlines esterne
	- Esportazione delle news in RSS
	- Supporto per i temi
	- Gestore di Download
	- Gestore di galleria immagini
	- Gestore dei sondaggi
	- Gestore delle statistiche


BLOCCHI
-------
I blocchi sono dei contenitori posizionati a destra e a sinistra della
pagina. All'interno possono contenere link, testo, immagini, ecc. FlatNuke
gestisce i blocchi in modo molto semplice: sar sufficiente creare un file in
un'apposita directory (blocks). Tale file pu contenere codice PHP e/o
HTML. Tutto verr caricato automaticamente!
Facciamo un esempio:
Voglio inserire un blocco a sinistra con titolo Prova e con contenuto
Ciao Mondo
vado in blocks/sx
e creo un file Prova.php all'interno scriver Ciao Mondo.
Ora baster ricaricare la pagina e il blocco apparir!
Per semplificare il lavoro ho creato dei blocchi di esempio.
Il blocco Menu  fisso e contiene le sezioni (vedi prossimo
capitolo).
Per ordinare i blocchi all'interno della colonna rinominate il file
con un prefisso "xx_" dove "xx"  un numero a due cifre che identifica
la posizione del blocco. Ad esempio: "01_Admin.php".
Per impedire l'inclusione di un blocco rinomina il file con il prefisso "none_"
(Es. none_01_Calendario.php)


SEZIONI
-------

Le sezioni servono per contenere gli argomenti.  L'organizzazione gerarchica
delle sezioni  data dalla struttura gerarchica delle directory, FlatNuke
provveder ad organizzarle automaticamente. Ogni sezione viene inserita nella
directory principale sections.

Facciamo un esempio: 
Voglio una sezione di nome Felini.  Vado in sections/ e creo la directory
Felini, per inserire l'intestazione di una sezione baster creare un file
section.php all'interno della nuova directory. Se voglio creare una
sottosezione Tigri creo all'interno di sections/Felini/ una directory Tigri e
cos via.  L'intestazione di una sezione che non ha sottosezioni  il corpo
dell'argomento.

Tutte le sezioni vengono automaticamente inserite nel menu, esiste tuttavia un
metodo per impedirne l'inclusione.Sar infatti sufficiente apporre il prefisso
none_ al nome della directory/sezione. Es. sections/none_Rapaci non sar
inserita nel menu.
Come nei blocchi anche nelle sezioni esiste la regola per ordinare le voci
(all'interno del menu), sar, infatti, sufficiente chiamare la directory con il
prefisso "xx_" dove "xx"  un numero a due cifre che identifica
la posizione della sezione. La stessa procedura vale anche per le sottosezioni.

Per vedere un esempio pratico di sezione si guardi sections/none_Prova.



NEWS
----

FlatNuke supporta l'inserimento di news nella home page. Le news sono divise in
una intestazione (visibile direttamente in home) e un corpo che  leggibile per
interno grazie al link Leggi tutto posto al di sotto della notizia.
E' previsto, inoltre, l'inserimento di commenti alle news.


HEADLINES
---------

FlatNuke supporta l'importazione e l'esportazione delle news nel formato
RDF/RSS. Ho creato una sezione d'esempio per importare le news di
altri portali. Il link al file RSS in fondo pagina contiene le news di
questo sito.


DOWNLOAD
--------

Per utilizzare il download manager occorre creare una o pi classi di download.
La directory radice per i download  sections/Download. All'interno di questa
directory creiamo le sottodirectory che rappresenteranno le nostre classi di
download. Se ad esempio dobbiamo distribuire un nostro programma di nome "pippo"
creiamo a directory sections/Download/pippo. All'interno di questa directory
metteremo tutte le versioni del nostro programma (es. pippo-0.0.1.tar.gz, 
pippo-0.0.2.tar.gz, ecc). Ma possiamo utilizzare anche un classe di download per
far scaricare le nostre foto, sar sufficiente creare la directory 
sections/Download/vacanze e inserire all'interno le nostre foto. Per ogni classe
c' una descrizione che pu contenere testo, immagini o altro baster creare
all'interno della directory-classe un file "description.php". Nel pacchetto
viene fornito un esempio di download, usatelo per apprendere il funzionamento.
Seguendo il link Download sul menu verranno visualizzati tutte le classi con
i rispettivi file. Se invece vogliamo fitrare una classe occorrer usare il 
link <a href="index.php?mod=Download&amp;file=miaclasse">Download</a>.
Questo  utile per costruire link ai download da sezioni esterne.


GALLERIA IMMAGINI
-----------------

Permette di creare automaticamente una galleria di immagini. Nel pacchetto
 stata gi creata la directory Gallery ma tu puoi crearne una a tuo piacimento
(es. /section/nome-directory-con-immagini), copia all'interno
il file section.php (ora contenuto in Gallery) insieme a tutte le immagini che
vuoi inserire nell'album. Puoi creare anche sotto-gallerie con lo stesso sistema
delle sezioni

LIVELLI
-------

Ogni utente registrato ha un livello (in partenza 0) che definisce i suoi
permessi all'interno del portale. Ogni sezione pu avere un livello (memorizzato
nel file "sections/miasezione/level.php") compreso tra 0 e 10. Se il livello 
-1 (cio il file level.php non esiste) vuol dire che la sezione  visibile anche
ad utenti non registrati (default), 0 vuol dire che la sezione  visibile solo 
agli utenti registrati (visto che ogni utente registrato ha minimo 0 di 
livello). Se impostiamo il livello a 5 vuol dire che la sezione sar visibile 
agli utenti con livello >= 5. Gli amministratori, che hanno livello 10, possono 
cambiare online il livello di una sezione.

Attenzione! Per impedire che le sezioni siano comunque visibili direttamente
occorre inserire all'inizio di section.php questo codice:

--------------------------------------------------------
<?
if (eregi("section.php",$_SERVER['PHP_SELF'])) {
Header("Location: ../../index.php");
die();
}
?>
--------------------------------------------------------

CONTRIBUIRE
-----------

Puoi contribuire allo sviluppo di FlatNuke in diversi modi:

	- donazioni di materiale informatico (componenti Hardware, manuali)
	- segnalazione link http://flatnuke.sourceforge.net
	- invito a manifestazioni per presentare FlatNuke
	- sviluppo di codice per flatnuke (core, moduli, temi)

Se hai apprezzato FlatNuke, mandami una cartolina dalla tua citt:

Simone Vellei
Via Valtesino, 91 63013
Grottammare (AP)

