Piccolo cms per vx5 per aggiornare eventi e news 
Autor: Domenico B.
Visitado 478,
Followers 4,
Compartido 0
O voluto fare questo piccolo CMS per aggiornare eventi e news a tempo (posso impostare quando tempo deve restare visibile tramite data e ora).
1 è facile da installare
2 semplice da usare
3 ricco di funzionalità
Ora è in fase di prova/test e poi renderlo free, se qualcuno è interessato e lo vuole testare non ce problema.
N.B. Questo piccolo CMS è pensato esclusivamente per WX5 tutte le versioni
Nell'immagine allegata l'anteprima del pannello admin e nel link per vedere la parte pubblica
Publicado en

... indirettamente potrebbe essere interessante...
... ma mi hai fatto venire in mente CkEditor, da prima dell'avvento dell'Oggetto a Contenuto Dinamico, per tutte le versioni presenti e passate...
... da qualche parte c'erano anche gli esempi di Skeggia e Mirko di 3-4 lustri fa...
....
.
Autor
Ciao Kol, o dio! non proprio! è un piccolo cms indipendente dotato di database sqlite suo, i file caricati direttamente nella sua cartella
Alcuni punti di forza:
A breve lo pubblichero!
... si sì. ...sicuramente prospettive molto interessanti, e complimenti per averlo realizzato...
.
ciao
.
Bravo Domenico!!! Chi fa da se fa per tre.
Autor
Roberto, come lo termino lo condivido
Autor
Ora è disponibile per provarlo in questa pagina dedicata
Ma deve o va colegato ad un db?
Ah si leggo sopra DB lite ok come non detto.
Autor
il db viene creato con il file php direttamente
Ciao Domenico, ho dato un'occhiata approfondita al tuo progetto. Secondo me ti sei allargato davvero tanto rispetto all'obiettivo iniziale (gestire dei semplici volantini). Personalmente avrei optato per un approccio molto più semplice e diretto.
La procedura iniziale a mio giudizio è parecchio macchinosa: richiedi di aprire i file e cambiare manualmente le stringhe/token a righe specifiche (X e Y), creare gli slug corrispondenti, impostare ID univoci a mano e incastrare blocchi di codice negli Oggetti HTML di WebSite X5 (sia nelle pagine pubbliche che in quella protetta). In un flusso del genere basta un solo carattere sbagliato per far saltare l'intero script. La mia alternativa: Avrei preferito caricare via FTP una cartella "chiavi in mano" direttamente sul server. Zero configurazioni manuali nel codice, zero ID univoci da inventare e zero rischi che l'utente finale rompa lo script.
Come hai specificato utilizzi SQlite OK. L'uso di SQLite evita la creazione di tabelle via phpMyAdmin rispetto a MySQL, ma porta con sé un vincolo: richiede l'estensione PDO_SQLITE attiva sul server PHP. Se un hosting economico non ce l'ha abilitata di default, lo script va subito in errore interno (HTTP 500) senza spiegazioni.
TOKEN! Fai attenzione a un passaggio: indichi di cambiare il CMS_TOKEN prima di andare online e sincronizzarlo tra backend e admin.html. Qui c'è un problema di architettura: il tuo Admin da 2.775 righe è un file HTML/JavaScript statico, non una pagina PHP protetta da sessioni server-side. Essendo inviato in chiaro al browser, il CMS_TOKEN risiede visibile nel codice JavaScript client-side. Chiunque apra gli Strumenti per Sviluppatori (F12) su admin.html può leggere il token in chiaro e usarlo per inviare chiamate API dirette ad api.php, modificando o cancellando contenuti.
Gestione CSS. Analizzando il CSS si nota una quantità enorme di funzionalità: Editor WYSIWYG personalizzato, Font Picker, File Manager drag-and-drop, programmazione temporale dei contenuti, layout/bordi/ombre e gestione modali con cronologia. A questo CSS va sommato tutto il JavaScript dell'interfaccia. Incollare migliaia di righe di codice dentro un Oggetto HTML di WebSite X5 appesantisce tantissimo il progetto nel programma. Inoltre, l'uso massiccio del !important su quasi ogni regola CSS dimostra come il pannello debba "difendersi" dagli stili del tema di X5 per non farsi sovrascrivere. Infine, caricare la logica dell'admin direttamente nel frontend del sito espone inutilmente script e stili di gestione anche ai semplici visitatori.
In tema di sicurezza non posso che apprezzare l'ottimo lavoro sul file .htaccess che è fatto molto bene! Si nota un'ottima attenzione alla sicurezza di base:
Due suggerimenti di miglioramento sul server:
Posizione del Database: Affidare la protezione di SQLite solo all'.htaccess è rischioso (se il sito viene spostato su Nginx o se AllowOverride è disabilitato, il database diventa scaricabile). La best practice sarebbe posizionare il file SQLite fuori dalla cartella pubblica (public_html o www).
Sicurezza Upload: Manca una regola per bloccare l'esecuzione di file script dentro la cartella dei file caricati (/uploads). Se un malintenzionato riuscisse a caricare uno script PHP tramite il file manager, il server lo eseguirà.
Caro Domenico hai fatto un lavoro imponente e ammirevole per provare a trasformare WebSite X5 in un CMS dinamico, ma al prezzo di una complessità elevata e di un codice molto ridondante per aggirare i limiti nativi del programma.
Un ultimo consiglio metodologico: Separa nettamente la logica del tuo applicativo da WebSite X5. Creare un modulo esterno e indipendente ti permetterà di installarlo rapidamente su qualsiasi sito e dominio, senza dover toccare il codice interno di X5.
Ora, al di là delle diversità delle tecniche che ogni programmatore può utilizzare — che non sono mai né uniche né esclusive, perché il codice è un po' come la matematica e per arrivare allo stesso risultato esistono mille strade diverse — va detto che hai fatto un lavorone enorme. Io so bene cosa significa stare dietro a strutture e situazioni così complesse, e l'impegno che ci hai messo si vede tutto! Di nuovo Bravo.
Autor
Ciao Roberto! Grazie mille per averlo testato e di avere apprezzato il lavoro che ce dietro.
Questo, chiaramente, è pensato per aggiornare news o eventi integrandolo in WX5, non è indicato per dati sensibili (informazioni mediche, dati personali e ecc).
il codice del file admin va inserito in una pagina protetta da websitex5.
chiaramente può essere migliorato e apprezzo molto i tuoi consigli.
Grazie di cuore Roberto!
Ciao Domenico! Grazie a te per il riscontro positivo e per lo spirito di confronto professionale. Hai fatto benissimo a specificare l'ambito d'uso (news ed eventi): in quell'ottica il compromesso ci sta e risponde alle esigenze di chi cerca una soluzione integrata nel programma. Buon lavoro e alla prossima!
Autor
Roberto ciao! Prova questo qui versione avanzata
Ciao Domenico. Ho letto la guida e devo riconoscere che rispetto alla versione con token statico hai corretto diversi aspetti importanti:
Quindi, almeno sulla carta, il livello di sicurezza appare decisamente superiore rispetto alla versione che avevo provato.
Detto questo, il mio punto critico non riguarda più la sicurezza ma l'approccio progettuale.
Leggendo la procedura vedo ancora una serie di operazioni che richiedono interventi manuali:
Per uno sviluppatore sono attività relativamente semplici e richiedono pochi minuti. Per un cliente finale, invece, rappresentano già un livello di complessità che personalmente cerco sempre di evitare.
Nei miei progetti seguo una filosofia diversa: installo → apro il pannello → configuro → utilizzo.
L'utente non dovrebbe dover modificare file, conoscere percorsi, sapere cos'è un hash o preoccuparsi di identificativi univoci. Anzi, dal mio punto di vista:
In altre parole, vedo ancora una fase di "assemblaggio" che considero più adatta a uno sviluppatore che realizza progetti personalizzati che non a un prodotto realmente orientato al cliente finale.
È probabilmente una differenza di filosofia: io negli ultimi anni sto cercando di eliminare qualsiasi passaggio tecnico che richieda l'accesso ai file del sito, perché nella mia esperienza più configurazione manuale significa più possibilità di errore, più richieste di assistenza e maggiore dipendenza dallo sviluppatore.
Per questo motivo, pur apprezzando i miglioramenti introdotti, continuo a preferire soluzioni completamente configurabili da pannello e già operative dopo l'installazione. È un approccio che con i miei clienti si è sempre rivelato più efficace.
Autor
Roberto come sempre sei chiarissimo e sincero, grazie mille!
Per l'installazione e vero è macchinoso, per un utente che non a le basi, ma lo scopo è chi fa il sito che lo installa e l'utente finale deve solo usarlo e basta, senza chiedere di modificare una nevs o un evento, può farlo da solo.
Ho anche fatto gallerie video e foto sempre aggiornabili dall'utente finale senza rivolgersi al webmaster ogni volta.
Le sto ancora testanto.
Per le gallerie utilizza fancybox con cdn interna così non dipenderai neanche + da loro, metti tt in una directory separata dal dominio cosi da portare il tuo progetto galleria da un dominio ad un altro, Configura dei preset automatici di layout così da permettere al clienti di scegliersi la galleria più adatta o intonata al loro sito web principale, predisponi un cruscotto operativo per tt le configurazioni in automatico. Il cliente non deve sapere cosa sta succedendo dietro le 5. Utilizza include per i menu e per gli header. Quando alla fine vedi che il gioco si fa duro e la complessita di quello che chiede il cliente supera la nostra fantasia con website allora abbandona e utilizza CMS professionali.
Autor
Nella pagina dedicata ora è possibile scaricare entrambe le versioni
Vai alla pagina