MCVS
I Dati

Il cuore di tutto il progetto è basato sui dati, il resto è un contorno. Ci sono due temi da afforntare, la struttura dei dati e la rappresentazione.

La struttura dei dati

I contenuti sono organizzati in file, ogni file rappresenta una pagina del sito e conseguentemente una voce del menu. I file possono essere organizzati in directory, in questo caso una directory rappresenta una voce del menu che si apre e contiene altre voci.

Tutto parte dalla directory principale che, se non è stata modificata, si chiama data, all'interno devono esserci dei file che hanno un nome così composto

N_nome.txt (ad esempio questo file che state leggendo si chiama 01_I Dati.txt)

N rappresenta la posizione del file il file 01_ sarà la prima voce di menu, il file 02 la seconda e cosi dicendo (se ci fosse il file 08 ma mancano 03,04,05,06,07 il file 08 sarà la terza voce del menu). L'ordine predefinito è crescente, ovvero vengono mostrati prima i file con numero più basso ma agendo nella configurazione del file php è pssibile anche invertire l'ordine. Questa opzione è pensata per situazioni tipo blog dove ogni giorno aggiungo una pagina e l'ultima che aggiungo dev'essere mostrata per prima.

L'ordinamento al momento sfrutta un algoritmo alfabetico, nonostante sono già previsti degli aggiornamenti, quindi raccomando che tutti in tutti i file il numero delle cifre che compone la prima parte del nome del file sia sempre lo stesso (ad esempio 01_,02_,...99_ se pensate che 99 voci di menu per ogni cartella siano sufficienti oppure 0001_, 0002_, ... 9999_ se pensate ve ne servano un esagerazione).

Dopo il numero è presente un _ (undrscore) e poi il nome che volte venga visualizzato nel menu (questo file si chiama 01_I Dati.txt e nel menu potete leggere "I Dati"). Dopo il nome segue l'estensione del file (.txt)

Se nella stessa directory caricate un file che non rispetta queste caratteristiche, come ad esempio un immagine (baner.jpg) non sarà mostrata nel menu ma potrete includerla nel file.

Esempio di banner

Se si vuole creare un sotto menu basta creare una directory che ha la stessa nomenclatura dei file senza estensione

N_nome

Il numero N della directory si posizionerà in linea con il numero N dei file al suo stesso livello (la directory 03_dati sarà dopo il file 02_nome.txt e pima del file 04_nome.txt), all'interno della directory poi ci saranno altri file che costituiranno le voci del sotto menu. Nella directory interna il conteggio dei file può ripartire da 0.

Cìè una particolarità, se un file e una directory posizionati allo stesso livello, hanno lo stesso nome (Es. dir: 03_Dati - file: 03_Dati.txt), creando sulla voce di menu verrà visualizzato il contenuto del file ed esplosa la voce del menu in un sotto menu. Se la directory non ha un file con il nome corrispondente, cliccando sulla voce di menu corrispondente si aprirà il sottomenu senza cambiamento di pagina.

La struttura dei dati

Il contenuto del file si presenta all'incirca in questo modo:

#TITLE:I Dati

#DESCRIPTION:Come sono strutturati i dati

#KEYWORD: CMS, CVS, CMS file based, CMS Markdown

#AUTHOR:Fabio Zappa

#DATE:2020-04-01

#LOCATION:

#IGNORETHIS:

#CONTENT:

Lorem ipsum dolor sit amet, consectetur adipisci elit, sed do eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullamco laboriosam, nisi ut aliquid ex ea commodi consequatur. Duis aute irure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

le linee che iniziali identificate dal primo carattere # sono delle informazioni generiche (dei TAG del file)

#TITLE: E' il titolo della pagina che viene mostrato in alto e anche messo nel tag title del sito

#DESCRIPTION: Descrive i contenuti della pagina, relativa alla sezione head del HTML, è il testo mostrato in anteprima se la pagina entra nel motore di ricerca (spesso è un info superflua, se compilata è meglio stare nei 250 caratteri)

#KEYWORD: Parole chiave che identificano il contenuto della pagina,

#AUTHOR: Autore del contenuto

#DATE: Data del contenuto

#LOCATION: Se questocampo viene compilato con un link nel momento in cui si cerca di visualizzare il contenuto della pagina si viene reindirizzati al link indicato (utile per mettere un link di download diretto nel menu, linkare la pagina social o cose simili).

#IGNORETHIS: Questo è solo un tag di esempio, se prima del tag CONTENT vengono inseriti altri #TAG nel php saranno generate delle variabili $nometagminuscolo (in questo caso $ingorethis) che contengono il valore indicato, Possono essere usate per vari scopi se si mette mano al codice di programmazione

#CONTENT: Tutto quello che c'è scritto da qui in poi è il contenuto mostrato nella pagina web. Secondo la sintassi specificata nella pagina SINTASSI