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

L’applicazione sta lievitando: la crescita prosegue

Che cosa abbiamo imparato dalla Storia

L’applicativo inizia a prendere forma, ne abbiamo la controprova quando alla fine filtra qualcosa internamente. Per esempio abbiamo visto che le truppe papali quando si muovevano chiedevano dazio ai terrenti in transito, per quanto riguarda la storia locale, questo si traduceva in impoverimento del territorio: per esempio la nostra zona subì le conseguenze economiche di una guerricciola avvenuta nel 1641 tra lo Stato Pontificio e il Duca di Parma Odoardo Farnese, politicamente sostenuto da Venezia, da Modena e dal Granduca di Toscana. Le conseguenze economiche consistettero in una speciale tassa imposta, dal governo di Roma, per far fronte alle spese di guerra. Della contribuzione si ha una eco anche sui registri consigliari del Comune di Nocera il quale, nella seduta del 12 Marzo 1647, mise all’ ordine del giorno la necessità di dover rimettere nel “Monte della Pietà le monete” precedentemente prelevate “per supplire alli pagamenti” che furono fatti a Camerino per mantenere “le Soldatesce di Nostro Signore” che non erano altro che le truppe mercenarie dello Stato Pontificio. Poi abbiamo anche visto che in realtà nel seicento (per fortuna) non ci sono state tante disgrazie oltre a quelle naturali (di loro molto gravi a livello di storia locale, come per esempio la peste), tolte un paio di scaramucce tra Venezia e turchi da un lato e i francesi del Re Sole contro una lega italiana che occupava militarmente la valle padana, i territori umbri in realtà non hanno sofferto molto per le guerre. Molto di più per le calamità naturali: dopo la disgrazia delle coltivazioni distrutte da un gelido inverno anche le strutture murarie furono messe a dura prova da un nuovo violeto terremoto che nel 1612 fece sussultare la vallata. Guerrieri(pag 256) fa riferimento anche al fatto che anche nel 1613 le pioggie torrenziali non diedero tregua alla popolazione locale che vide straripare la pianura…e tutto ciò a livello micro mentre a livello macro in Europa sta accadendo di tutto tra guerre religiose e civili che coinvolgono quasi tutti gli stati! Insomma siamo nel bel mezzo di un kaos totale tanto per cambiare!

Moduli in working progress

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

Elenco articoli

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

Che cosa stiamo imparando dal punto di vista tecnico

Il famoso saltino della NAVBAR che carica in automatico gli elementi LI presenti nel database non viene risolto al primo colpo da AJAX, dalla famosa funzione vista nell’ articolo venti, però di fatto qualcosa di buono accade, perchè se togliessi la funzione il saltino comparirebbe con tutti i REFRESH mentre così si verifica solo la prima volta. Inoltre adesso avendo inserito una funzionalità di estrazione per categorie sui libri quando clicco su STORIA il lenzuolo di dati diventa troppo lungo e bisogna cercare nel MODELLO qualche query che inserisca la paginazione anche dopo l’estrazione dei dati, cosa che non ho mai fatto (intuitivamente posso risolvere il problema rendendo più piccoli i record di estrazione volendo, ma per uniformità al momento preferiamo non stravolgere nulla). Insomma ci stiamo focalizzando su una serie di piccole problematiche (o grandi anche a seconda dei punti di vista) che non hanno al momento risoluzione, anche se di fatto tutto funziona comunque.

La biblioteca virtuale, qualcosa di impegnativo

seo specialist umbria

Per mettere in piedi una biblioteca virtuale come http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/book servono tutta una serie di funzioni che selezionano e filtrano i dati con modalità diverse (per autore, per categoria) e che esplodono anche i dettagli della SINOSSI per esempio che a un primo impatto è tagliata per motivi di concisione. Ma poi non sottovalutiamo anche l’aspetto dei contenuti che è molto impegnativo: cercare le info e caricarle sul DB, di nuovo é qualcosa che non avviene con un semplice schiocco delle dita come si potrebbe pensare!

seo specialist umbria
studiare la storia locale richiede impegno!

insomma una fantastica esperienza quando tutto finisce e i libri sono lì sul vetrino del microscopio, ma una brutta visione quando si inizia da zero, a partire da come vanno strutturate le tabelle!

seo specialist umbria
qui ho estratto i dati per autore

Ovviamente non mancano i soliti combattimenti con le formattazioni di stile (CSS) per piegare gli elementi visibili della pagina alla propria volontà di rappresentazione!

Lavorare a tutto tondo: un delirio di contenuti!

la storia? Una matassa molto ingarbugliata

L’area di cronologia dinamica è stata aggiornata con l’inserimento di nuove voci micro-macro, per esempio nell’ immagine si può notare come i record abbiano tutti una etichetta di contrassegno: guerre, inoltre anche l’area personaggi è stata arricchita con nuovi soggetti, sezione sempre movimentata

NON SEI SAZIO? Allora costruisciti un GLOSSARIO!

All’ indirizzo http://umbriawayformazione.altervista.org/ci_project_glocal/index.php/ColleGalleryDynamic/items stiamo lavorando anche per catturare tutte quele voci particolari che incontriamo per prendere appunti quando spulciamo i libri

seo umbria
qui ci sarà tanto da lavorare!

CONSLUSIONI

Il nostro GLOCAL sta passando da una fase di costruzione tecnica a quella del beneficio dell’ applicativo che una volta messo completamente in piedi è in grado di garantire funzionalità di contenuto. Le idee che si potrebbero mettere in piedi sono davvero tante e quindi ne vedremo ancora delle belle! Il nostro obiettivo per la puntata 22 è segnato: dobbiamo impegnarci a completare il glossario che ci darà come al solito del filo da torcere, dal momento che ci sono molte lettere dell’ alfabeto che vanno incanalate con la solita logica MODEL-CONTROLLER-VIEW che tradotto sta a significare che abbiamo molti fili da incrociare tra di loro affinchè tutto funzioni come un impianto elettrico efficiente ed esclusivo

seo specialist Umbria
trova le differenze tra costruire software e fare l’elettrauto, istruzioni per l’uso!

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