Territorio, storia, cultura: conoscere le risorse che hai sotto casa con GLOCAL Web-App. Come mettere in moto un progetto con Codeigniter, ventesima puntata

Il progetto è cresciuto ulteriormente integrando nuovi moduli e nuove funzionalità

Elenco moduli

http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/areas

Ore dedicate al progetto

http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/somma

Elenco Articoli

http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/posts

Un nuovo inizio

Come si può vedere dalle immagini con le nuove sezioni di cui sopra messe in piedi per necessità, il progetto si è ingrandito contro la nostra volontà e sta per varcare la soglia di quella che l’innovazione tecnologica promossa dalle stesse camere di commercio locali definiscono BIG DATA. Il numero delle nostre tabelle nel database cresce esponenzialmente e la cosa buona che crescendo l’applicativo cresce anche l’entità dei problemi da risolvere visto che vengono generati costantemente, il che ci consente di migliorare nella tecnica oltre che assimilare dei contenuti esclusivi

Il problema del saltino della NAVBAR

Le pagine che si vedono nel portale sono composte da viste e ogni pezzo di finestra che viene assemblata, riceve i dati come spiegato metaforicamente in precedenza in uno dei tanti articoli con l’immagine della vettura che riceve benzina in un distributore. Ne consegue che tante vetture possono contemporaneamente approvvigionarsi di carburante

più auto possono fare benzina in un distributore

Succede allora che la NAVBAR che è uno dei primi pezzi di codice che entra in scena nella rappresentazione visiva spesso fa un SALTINO perchè deve CARICARE DINAMICAMENTE tutte le categorie. Per cui dobbiamo prima o poi risolvere questo problema o perlomeno avvicinarci magari integrando JQUERY che possiamo introdurre nella nostra pagina agganciando prima un CONTENT DELIVERY NETWORK; un CDN:

<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>

A questo punto possiamo marcare anche la nostra statica con un ID e richiamare questa localizzazione sul mio script:

<script>
$(document).ready(function()){
  $.ajax({
    url:'nomepagina.php',
    success: function(data){
      $('#scorri').val(data);
    }
  });
});
</script>

Questa funzione dice: quando il documento è pronto USA la funzione AJAX che lavora in ASINCRONO per catturare i dati della pagina e inserirli tramite l’identificatore SCORRI che punta a una precisa zona della pagina nell’ area di interesse. La logica ci dice che siamo molto vicini alla SOLUZIONE ma che al momento questa idea di inserire tutto il codice di cui sopra nella stessa pagina NON può essere funzionale perchè i dati che arrivano sono array , cioè un agglomerato di campi e che in JQUERY non sono spezzati. In verità montando il tutto si è avuta la netta sensazione che il saltino conseguente al caricamento degli LI all’ interno delle UL sia stato censurato, ma è davvero così? Occorrono altre verifiche per capire meglio quello che abbiamo fatto e semmai migliorarlo, al momento lasciamo il problema della NAVBAR ancora APERTO

ORE lavorate: una PEPERLIZIA

automatizziamo i processi per lavorare meno possibile

Come possiamo vedere da http://umbriawayformazione.altervista.org/index.php/home/plannerdesc lavoriamo da sempre monitorando la nostra produttività e quindi ci è stato sufficiente usare qualcosa di attivo per estrapolare dalla tabella una zona di dati specifici con la consueta regola del cassetto che estrae l’oggetto che ci interessa che nella sintassi dell’ istruzione che serve per impartire un comando alla macchina suona come: prendi solo i campi (i cassetti) dove il contenuto è quello che mi interessa specifico

con CI basta una semplice istruzione come $this->db->where('cassetto', 'contenuto'); per far funzionare il tutto

La sezione personaggi è cresciuta ulteriormente

Per studiare la storia focalizzata in un determinato periodo basta andare a recuperare le informazioni dei parroci che si sono succeduti nella parrocchia, l’attività religiosa locale si pone al centro di una interpretazione cronologica di eventi trascorsi

Come si può vedere l’integrazione di nuove funzionalità non ha mai fine, perché mettere in piedi una nuova sezione implica poi il dover allestire nuove sezioni in un effetto domino

Una tessera messa in piedi richiama altre tessere, una storia infinita!

CONCLUSIONI

Il progetto ci ha costretto autonomamente ad allestire nuove funzionalità e nuove sezioni e questo è un bene perchè risolvere una domanda implica il fatto di far nascere nuove domande questo sia in ambito tecnico per costruire il protale, sia in ambiti conoscitivo su fatti antichi e imponderabili. Come al solito il lavoro non mancherà mai con un tema così caldo anche se si tratta semplicemente di storia locale, appunto GLOCAL!

Territorio, storia, cultura: conoscere le risorse che hai sotto casa con GLOCAL Web-App. Come mettere in moto un progetto con Codeigniter, dieciannovesima puntata

Adolfo Leoni (Gualdo Tadino, 13 gennaio 1917 – Massa, 19 ottobre 1970) è stato un ciclista su strada e pistard italiano, professionista tra il 1938 e il 1952. Dotato di ottimo spunto veloce, vinse la Milano-Sanremo nel 1942 e diciassette tappe al Giro d’Italia, oltre una al Tour de France. Da dilettante vinse i campionati del mondo a Copenaghen nel 1937.

Il link del progetto in working progress:
http://umbriawayformazione.altervista.org/ci_project_glocal/ 
   
Portale:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/colleview
   
PhotoGallery statica:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleNoceraUmbra/photos
   
Modulo statico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryStatic/collephotos
   
Modulo dinamico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/collephotodynamics
   
Sezione download:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/pdf
   
Modulo Static History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/table
   
Modulo Dynamic History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/tableplus

Personaggi:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/men

Riassunto delle puntate precedenti

Alla puntata 18 , indirizzo https://umbriawayinfo.wordpress.com/2021/03/22/territorio-storia-cultura-conoscere-le-risorse-che-hai-sotto-casa-con-glocal-web-app-come-mettere-in-moto-un-progetto-con-codeigniter-dieciottesima-puntata/ , è stata attivata l’area cronologia anche se dal punto di vista grafico non siamo particolarmente entusiasti. Ora diamo seguito a quello che è stato elaborato con la domanda criptica: è l’uomo a fare la storia o viceversa?

Andare a recuperare le idee tecniche dallo storico progetti

All’ indirizzo http://umbriawayformazione.altervista.org/ci_project_seicento/ noi avevamo puntato con il canocchiale della storia sul macrocosmo e in particolare su un seicento allargato. Ebbene nella home è palesemente evidente quello che vogliamo andare a fare ma con delle differenze pratiche e stilistiche

possiamo lavorare come base su qualcosa che era già stato messo in piedi, apportando modifiche

In primo luogo abbiamo verificato che l’integrazione degli stessi dati dentro un nuovo progetto non ha controindicazioni:

ok, possiamo incastrare i dati facendo attenzione al copia e incolla!

LAVORARE SULLA TABLE ORIGINALE

Una volta fatta capito a grandi linee quello che si vuole realizzare in pratica, siamo andati a lavorare sulla tabella di origine del progetto seicento, DUPLICANDOLA solo nella struttura con i campi vuoti e rinominandola, ma non solo. Abbiamo inserito anche un campo VARCHAR per definire il RUOLO svolto dai personaggi, il loro costume di scena pirandelliano, la loro professione. Poi ovviamente abbiamo cambiato anche la QUERY presente nel MODELLO. Qui si sta parlando di storia locale, la fonte presa dal progetto seicento sconfinava invece nel Macrocosmo

I rischi di un approccio copia e incolla

Un approccio di tipo meccanico del tipo PRENDO e RIUTILIZZO, va incontro a delle calamità se non si intuiscono i rischi. Per esempio tutte le risorse esterne che appoggiano la sezione copiata sono diverse rispetto all’ originale e quindi alla fine bisogna valutrare se lasciare i LINK per i CSS e JS ORIGINALI, o se modificare il tutto con i propri. Alla fine per evitare conflittualità abbiamo usato quello che c’era in casa, ma tuttavia il processo non è stato indolore! Per esempio:


A PHP Error was encountered

Severity: Notice

Message: Undefined property: ColleGalleryDynamic::$Collegallery_Mode

Filename: controllers/ColleGalleryDynamic.php

Line Number: 633

o ancora:

Backtrace:

File: /members/uwc/ciuwc_projectglocal/application/controller/ColleGalleryDynamic.php
Line: 433
Function: _error_handler

File: /members/uwc/ciuwc_projectglocal/index.php
Line: 315
Function: require_once

oppure:

Fatal error: Call to a member function get_count6() on null in /members/uwc/ciuwc_projectglocal/app/ColleGalleryDynamic.php on line 231
A PHP Error was encountered

e infine si fa per dire:

Backtrace:
An Error Was Encountered
Unable to load the requested file: mens.php
Tutto facile nel mondo dello sviluppo web! I problemi quando ci sono si risolvono da soli

Vale il discorso già fatto per quella che è l’essenza di un aspirante web developer: è un individuo che a che fare costantemente con il problem solving. Nello specifico gli errori di cui sopra si riferiscono alle più svariate situazioni reali incontrate per mettere in piedi la sezione http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/men, ci sono errori nel modello, nel controller e anche nella vista che magari rimandano a link di riferimento non trascritti regolarmente. Ci sono funzioni copiate maldestramente che hanno lo stesso nome di riferimento, oppure richiami tra Model e Controller che per qualche motivo non hanno un seguito. La casistica è molto ampia, ma alla fine ci sono anche le soddisfazioni

Tutto è bene quel che finisce bene! Facendo e riprovando alla fine anche errori banali vengono corretti!

Anche l’occhio vuole la sua parte

grazie ai CSS possiamo offrire un servizio di confort visivo al visitatore

Poi c’è un lavoro invisibile che non si vede, che è quello legato alle rifiniture, alla stilizzazione, al miglioramento della grafica con i CSS per esempio e anche integrando JS dinamici che possono ravvivare la nuova sezione aforismi appena messa in piedi, frase che di fatto cambia al refresh della pagina. Inoltre sono stati fatti notevoli passi in avanti sulla paginazione, che ora tiene anche il link attivo per segnalare all’ utente in quale pagina di navigazione si trova. Insomma tutto un insieme di piccoli impercettibili miglioramenti, compresa la cornice, che alla fine rendono tutto professionale

le frasi cambiano ad ogni reload

Fenomeni della terra umbra: dopo la tempesta viene il sole

L’umbria sforna santi a manetta (per contrastare tenebre dilaganti?), ma sotto casa ha anche dato la luce a grandi campioni come Leoni Adolfo citato nell’ incipit che di successi sportivi con la bicicletta ne ha collezionati tanti e tutti di grande rilievo. Dopo che la tecnologia esaurisce il suo compito di offrire un servizio, arriva l’utilità dei contenuti. Per esempio mai saputo che qui da noi abbiamo anche una martire spoletina o che Rieti fino a qualche anno fa apparteneva alla regione Umbria, insomma scavando si trovano un sacco di cose interessanti

chi cerca trova!

Conclusioni

All’ indirizzo http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/men abbiamo messo una sezione personaggi che tra l’altro, indagando, ci consente anche di approdare in luoghi ricchi di fascino e di mistero poco distanti dal confine umbro come https://it.wikipedia.org/wiki/Monastero_di_Fonte_Avellana , il lavoro da fare è ben lontano dall’ esaurirsi, per esesmpio bisogna andare anche a recuperare libri tematici che ci aiutano meglio a sviscerare i temi del portale. Quella di tirare un sassolino nello stagno è una idea che sembrava avere un inizio e una fine, ma a giudicare dalla mole di lavoro che ci aspetta, siamo solo ancora in quella fase che negli scacchi viene definita di apertura

Prospettive di crescita del progetto GLOCAL? Infinite

Territorio, storia, cultura: conoscere le risorse che hai sotto casa con GLOCAL Web-App. Come mettere in moto un progetto con Codeigniter, dieciottesima puntata

metafora perfetta per spiegare il framework: una pista unica (la view) per tre model come motore che supportano tre controller/carrozzeria, è la soluzione che abbiamo adottato per estrarre i dati per topic nella tabella cronologia
Il link del progetto in working progress:
http://umbriawayformazione.altervista.org/ci_project_glocal/ 
  
Portale:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/colleview
  
PhotoGallery statica:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleNoceraUmbra/photos
  
Modulo statico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryStatic/collephotos
  
Modulo dinamico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/collephotodynamics
  
Sezione download:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/pdf
  
Modulo Static History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/table
  
Modulo Dynamic History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/tableplus

All’ indirizzo https://umbriawayinfo.wordpress.com/2021/03/22/territorio-storia-cultura-conoscere-le-risorse-che-hai-sotto-casa-con-glocal-web-app-come-mettere-in-moto-un-progetto-con-codeigniter-dieciassettesima-puntata/ abbiamo completato la cronologia dinamica, ipotizzando che un cavo di grandi dimensioni, possa essere costituito da numerosi fili che confluiscono all’ interno formando massa e volume. Ora lavoriamo sulle idee e sulle rifiniture, visto che abbiamo messo in piedi il meccanismo dell’ estrazione dei singoli fili sezionando la fune

wow, i dati viaggiano veloci come aerei quando devono atterrare e materializzarsi a video

Non a casa si parla di pista di atterraggio, perchè abbiamo una sola vista che raccoglie le esigenze di sei motori ciascuno con le sue caratteristiche che spingono sei tipi di carrozzeria diversi e così da un altoforno caotico di dati possiamo scegliere di estrarre quelli che riguardano i terremoti, piuttosto che i dati che riguardano le dominazioni o il brigantaggio o altro da definirsi.

Quando la storia diventa una matrioska!

Stiamo iniziando a capire che la storia è un guazzabuglio di livelli, personaggi, un marasma di eventi e chi più ne ha più ne metta. C’è il microcosmo con la storia locale e c’è il macrocosmo che impatta in maniera rilevante sulle piccole tragedie umane e così una discesa napoleonica in Italia non può che lasciare dei segni come la scia di una lumaca sul territorio. Potrebbe essere quindi interessante implementare una DINAMICA TECNICA in cui la notizia a livello di bosco che si vede dall’ alto possa esplodere nei dettagli a livello di ALBERO che si tocca per mano: ad esempio il TOPIC BRIGANTAGGIO potrebbe rimandare a una sottotabella che esplode la carriera del nostro Cinicchia leggenda locale. Potrei per esempio lavorare sull’ ID, renderlo cliccabile e mostrare i dettagli all’ occorrenza

LE TABELLE, animali in continuo movimento

Le esigenze possono cambiare durante lo sviluppo per cui quella che era una tabella perfetta di colpo diventa soggetta a tutta una serie di rifiniture, per esempio http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/tableplus ha visto numerose modifiche rispetto alla versione statica, come l’occultamento del campo IMG per esempio o una implementazione di politica di sicurezza legata alla citazione dei campi tabella che NON corrispondono alla realtà, per non aiutare eventuali furbastri della rete fornendo loro volontariamente i nomi dei campi senza sforzo. STIAMO ANCHE VALUTANDO UN CAMPO CSS per assegnare dinamicamente dei colori di sfondo che funzionerebbero da IDENTIFICAZIONE per certi secoli critici come il seicento per esempio. Potremmo in stile attualità contrassegnare i secoli meno cruenti al colore giallo , quelli intermedi all’ arancio e i periodi di sfiga prolungata come l’involuzione del XVII secolo, al ROSSO.

CONCLUSIONI

L’altoforno che cattura tutta la storia è stato messo in piedi anche se avrà ancora bisogno di parecchio sostegno. Ci ha assorbito per diverse ore nello sviluppo ma le cose hanno funzionato alla fine perchè è stata applicata una regola elementare: quella di non fare il passo più lungo della gamba e di procedere lentamente step per step in modo da dipanare ogni ambiguità e di evitare la sommatoria di ulteriore complessità. Certamente da qui in poi il lavoro è ben lontano dall’ esaurirsi, ad esempio potrei dedicarmi anche ad affrontare questa questione dei personaggi storici di rilievo che hanno dall’ alto del loro macrocosmo INFLUENZATO la storia locale o microcosmo. Inoltre l’applicazione è cresciuta così tanto che richiede in termini di prospettiva anche una sezione interna di monitoraggio, in modo da avere traccia di tutto ciò che è stato fatto

Territorio, storia, cultura: conoscere le risorse che hai sotto casa con GLOCAL Web-App. Come mettere in moto un progetto con Codeigniter, dieciassettesima puntata

il debugging che passione!
Il link del progetto in working progress
http://umbriawayformazione.altervista.org/ci_project_glocal/ 
 
Portale:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/colleview
 
PhotoGallery statica:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleNoceraUmbra/photos
 
Modulo statico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryStatic/collephotos
 
Modulo dinamico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/collephotodynamics
 
Sezione download:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/pdf
 
Modulo Static History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/table
 
Modulo Dynamic History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/tableplus

Riassunto delle puntate precedenti

All’ indirizzo https://umbriawayinfo.wordpress.com/2021/03/21/territorio-storia-cultura-conoscere-le-risorse-che-hai-sotto-casa-con-glocal-web-app-come-mettere-in-moto-un-progetto-con-codeigniter-sedicesima-puntata/ abbiamo fatti i preparativi per passare con la nostra tabella cronologia a una struttura dinamica, ora qui vogliamo concretizzare i preliminari

Lo sviluppo web? Consiste nel risolvere i vari errori che si presenteranno inevitabilmente sulla tua strada

Wolf risolve i problemi

Per trasformare la cronologia abbiamo bisogno di un MODEL che punta a un CONTROLLER che invia i dati a una VISTA, pensare di far funzionare tutto al primo colpo è pura utopia, ci sarà una sintassi sbagliata, una notazione case-sensitive che non funziona, un errore di logica nella query, un puntamento sbagliato e altri svariati fattori che renderanno la tua vita di sviluppatore molto difficile. Che fare per esempio quando compare a video una cosa del tipo:

A Database Error Occurred

Error Number: 1096

No tables used

SELECT *

Filename: models/nome_model

Line Number: 485

Ci sarà senz’ altro un errore di logica nella costruzione della query del modello e puoi risolvere il problema magari andando a vedere come ACTIVE RECORD di Codeigniter gestisce le estrazioni all’ indirizzo https://codeigniter.com/userguide3/database/query_builder.html . Nel caso specifico abbiamo avuto seri problemi con un ORDER BY per esempio

La questione dell’ ordinamento dei dati

risolta anche questa!

è andata anche questa! Non riuscivameno a ordinare i dati perché avendo strutturato il campo data in VARCHAR non si riusciva a mettere ordine alla sequenza progressiva di numero. Pertanto è stato sufficiente convertire il campo in INTERO e come per MAGIA tutto è ritornato al suo posto!

OK hai risolto un’ altra grana e ora che succede, il problem solving è finito?

wow la riga si ripete perché? Abbiamo incontrato questa situazione prima di risolvere l’ordinamento

Ipotizziamo di vedere a video l’immagine di cui sopra dove compare sempre la stessa riga che sta succedendo? Qui siamo sulla buona strada per risolvere tutto, perché di fatto non sono comparsi errori a video e il fatto che ci sia una ripetizione fa subito andare con la mente a quella riga statica che si trova all’ interno del FOREACH e che va sostituita con i DATI DINAMICI estratti dal database. Una volta che tutti i richiami ai campi sono stati materializzati con il famoso ECHO, non ci resta che gioire dei nostri sforzi!

finalmente, ce l’abbiamo fatta! Abbiamo la nostra cronologia dinamica!

La parte tecnica è finita adesso impariamo qualcosa dalla storia

Non avrei mai sospettato di mettere in relazione il sacco di Roma https://it.wikipedia.org/wiki/Sacco_di_Roma_(410) con la storia locale eppure alla fine grazie all’ uso della tecnologia stiamo ricomponendo felicemente un quadro storico che sembra ricco di implicazioni e questo ci consentirà di imparare altre cose in futuro!

CONCLUSIONI

Abbiamo centrato il nostro obiettivo, adesso all’ indirizzo http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/tableplus abbiamo la nostra cronologia dinamica che ci consentirà in futuro di inserire altre articolate funzionalità utili per avere una visione su tutto il quadro generale

Territorio, storia, cultura: conoscere le risorse che hai sotto casa con GLOCAL Web-App. Come mettere in moto un progetto con Codeigniter, sedicesima puntata

seo specialist umbria
da statico a dinamico: conversione
Il link del progetto in working progress
http://umbriawayformazione.altervista.org/ci_project_glocal/ 

Portale:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/colleview

PhotoGallery statica:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleNoceraUmbra/photos

Modulo statico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryStatic/collephotos

Modulo dinamico:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/collephotodynamics

Sezione download:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/pdf

Modulo Static History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/table

Modulo Dynamic History:
http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/tableplus

Riassunto delle puntate precedenti

All’ indirizzo https://umbriawayinfo.wordpress.com/2021/03/20/territorio-storia-cultura-conoscere-le-risorse-che-hai-sotto-casa-con-glocal-web-app-come-mettere-in-moto-un-progetto-con-codeigniter-quindicesima-puntata/ siamo andati avanti a completare la cronologia statica e la sezione download scoprendo cose interessanti sul territorio. Qui ci si preparerà per trasformare la cronologia statica in dinamica

Da statico in dinamico: preparativi

All’ indirizzo http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/table abbiamo una simulazione del nuovo modulo che dobbiamo creare e che sta anche al centro di tutto il portale perché dovrebbe raccogliere le info più calde a tema storico. C’era una questione sollevata dalle puntate precedenti: questa tabella così come è va bene o ci devo integrare qualcos’ altro?! Indubbiamente la sua costruzione ci ha dato una idea di quello che volevamo andare a fare, ma di fatto ora dobbiamo prepararci a convertirla in dinamica

Le scelte progettuali

Al momento si è deciso di non creare altra complessità inserendo altre due tabelle per una query che avrebbe visto due INNER JOIN per concatenare i dati, come avviene con i VOTI e i REGISTI nella HOME di http://umbriawayformazione.altervista.org/, queste due tabelle di congiunzione che avrebbero dovuto lavorare da ponte potevano essere per esempio TOPIC e PERSONAGGI visto che la storia è qualcosa che viene determinato dall’ umano. Al momento si è deciso di gestire questi fattori con altre tabelle future da mettere in piedi

stiamo per dare vita al modulo cronologia

PRONTI VIA!

Si parte allora ecco le cose fisiche da fare solo per scaldare i motori:

1 – clonare la pagina tabella e rinominarla

2 – andare a copiare sul controller la funzione che rimandava alla pagina tabella statica e personalizzarla con la nuova direzione, è chiaro che questa sezione di codice sarà molto diversa dalla precedente, in quanto dobbiamo sia portare benzina al serbatoio con dei dati che hanno il sostegno del DB (e che al momento non ci sono), sia integrare la paginazione

3 – andare sulla NAVBAR e inserire una voce nuova dal titolo emblematico DYNAMICHISTORY

4 – andare a lavorare sulla pagina clonata della vista contenente la tabella per eliminare tutte le righe statiche tranne una in modo da iniziare a fare dei ragionamenti:

<tr>
<td>1</td>
<td>secxiii.jpg</td>
<td>1279</td>
<td>Terremoto del 1279</td>
<td><p align="justify">Il 30 aprile 1279 l'Appennino umbro-marchigiano fu interessato da un terremoto che precedette di poche ore un secondo evento distruttivo verificatosi nell'Appennino tosco-emiliano. Alcuni cronisti medievali hanno descritto questi eventi come un unico fenomeno abbracciante gran parte dell'Italia centrale. L'area di danneggiamento del terremoto umbro-marchigiano fu comunque ampia. Fonti coeve e attendibili attestano che due terzi degli edifici di Camerino furono distrutti mentre Cagli, Fabriano, Matelica, San Severino Marche, Cingoli, Nocera, Foligno e Spello rimasero "diroccate". Tutti i castelli (ossia insediamenti minori cinti da mura) nelle montagne tra Nocera e Camerino "patirono molti danni". Il castello di Serravalle (di Chienti) sarebbe restato sepolto da una frana, forse innescata dal terremoto. Non si hanno dati attendibili sul numero - comunque molto elevato - delle vittime né sull'estensione dell'area di risentimento, a parte il fatto che essa comprese certamente Roma. Le notizie dei terremoti del 1279 ebbero vasta eco nell'Europa centrosettentrionale: se ne trovano menzioni in cronache austriache, tedesche e polacche</td>
<td><p align="justify">Umbria, falda strategica per gli assestamenti geofisici</td>
<td><p align="justify">terremoto</td>
<td><p align="justify">studio di riferimento: Monachesi ed. (1987)</td>
<td></td>
<td></td>
</tr>

Questa riga in realtà verrà creata dinamicamente, ma al momento non resta che fare la cosa più importante di tutte come preliminari da sistemare, ossia creare il DB e copiarci dentro tutti i dati che non è una operazione indolore!

LA CREAZIONE DEL DB

A questo punto non ci resta che analizzare i dati statici per capire come deve essere fatta questa tabella all’ interno di MYSQL, ci siamo già aiutati parecchio senza stravolgerla temporaneamente con l’aggiunta di nuovi campi:

<tr>
<th>Item</th>
<th>img</th>
<th>data</th>
<th>titolo</th>
<th>evento</th>
<th>effetti</th>
<th>topic</th>
<th>fonte</th>
<th>link</th>
<th>note</th>
</tr>

Le caratteristiche strutturali della tabella

Analizzando i dati sopra la prima cosa che ci viene in mente è che in alcuni campi si scrive tanto e quindi per evento, effetti, note (forse sono troppi ma al momento lasciamolo così) dobbiamo scegliere un campo TESTO, mentre per tutto il resto va bene un VARCHAR di lunghezza variabile e con un ID ITEM che avrà le solite caratteristiche di sempre ossia chiave primaria autoincrementante con lunghezza 111 (che dovrebbe contenere fino a 999 record)

ARMIAMOCI e PARTITE

Ok dopo avere creato la struttura bisogna stare zitti, rimboccarsi le maniche e fare il lavoro sporco, riempire la nostra base dati!

CONCLUSIONI

E’ stato uno sporco lavoro non indolore che ha richiesto tempo e dispendio eergetico, ma andava fatto. Adesso non ci resta che lavorare so tutto il resto, in primis il MODEL che ha bisogno di una query come motore di sostegno per far lavorare il nuovo modulo!