Ciao, Ospite.
(Utente: Password: Ricorda: | Registrati)

Patcha's Logo

< Aprile 2024 >
L M M G V S D
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
             
Cities of Web BloggaCOWs
PHP WebLog Platform

[R] >> Article post 6


« Articolo Articolo »

sabato 28 Marzo 2009

La versione 0.05

Finalmente, dopo tanto tempo dalla "pubblicazione" (dove, in realtà, nulla è stato ancora distribuito) della versione 0.04 e dall'arenamento del progetto, una nuova versione di BloggaCOWs viene alla luce.
Mi son persino sorpreso di quanto poco tempo mi ci è voluto per apportare tante modifiche. Modifiche che, come al solito per questa piattaforma, per l'80% probabilmente non è possibile vedere "ad occhio nudo" visitando questo sito...

In realtà la 0.05, nonostante il numero di modifiche apportato qua e là, non è un vero e proprio punto di arrivo. Doveva esserlo in origine, ma attualmente è più una specie di "salvataggio" o "backup"... detto in parole povere: pubblico questa 0.05 per mettere al sicuro la nuova versione dei file, come una copia di sicurezza sfruttando i server Aruba, che probabilmente sono più sicuri dei miei due Hard Disk in RAID 1 (che avrebbero dovuto essere 4 Hard disk in RAID 0+1, ma questa è un'altra storia fatta di componentistica economica... sigh).

Quindi più che un punto d'arrivo, la 0.05 è un punto sicuro, la roba aggiunta è abbastanza completa e funziona abbastanza bene, anche se ottimizzabile.
Soprattutto non è un punto d'arrivo semplicemente perché con la 0.05 non ho ancora raggiunto l'obiettivo base per cui ho ripreso lo sviluppo della piattaforma... oltre al volerla finire prima o poi ed al non sprecare totalmente il mio tempo libero in eccesso, ora che nuovamente non ho un'occupazione fissa.
Tale obbiettivo, come ne ho già parlato altrove, è in breve quello di pubblicare una sezione che permetta al "visitatore" di smanettare temporaneamente su parte delle funzioni amministrative concesse dalla piattaforma (nel dettaglio, quelle riguardanti le variabili grafiche ed i CSS).
Funzioni che, senza un'interfaccia appropriata, non possono avere il giusto impatto sull'esperienza del curioso visitatore.

Tale sezione, come chiaro, non è ancora presente in questa versione 0.05. E questa non è l'unica cosa con priorità che non è ancora completa.
Nell'articolo sulla storyline potete notare che ci sono già degli appunti "ipotetici" riguardanti la 0.06, o delle modifiche riguardanti la 0.05 che però riportano alla 0.06.
Questo è parte del materiale che inizialmente era previsto per la 0.05, ma poi ho rinviato (parzialmente o non) ad una versione successiva.

Questo non è sinonimo di ritardo, inefficienza o quant'altro.
Semplicemente ci metterò lo stesso tempo che avrei comunque impiegato (tenete presente che non ci lavoro 8 ore al giorno tutti i giorni!), ma la versione sarà 0.06 (o quel che sarà), invece che 0.05.
Come detto: è solo una questione di sicurezza... mi andava a genio, nel frattempo, di salvare e pubblicare la situazione attuale.

Tra le cose "rimandate" o parzialmente implementate, oltre quanto già detto, più evidente risulta la riduzione delle query utilizzate (come spiegato nel post della versione 0.04 e precedenti).
Infatti, nel riprendere in mano la piattaforma, le mie priorità sono leggermente cambiate. E sebbene le query siano ancora una di esse, sono state in qualche modo superate da altro.

Un sacco di altre cose vengono invece aggiunte in modo abbastanza completo o corrette dalla 0.05. Quello che risalta di più probabilmente è il sistema di Log-In. Un'intero file .php, il secondo più grande del progetto (e può facilmente diventare il primo a breve). Questi gestisce l'interfaccia grafica che permette di effettuare il Log-in e, all'occorrenza, il Log-out e la Registrazione. Al tempo stesso gestisce anche il controllo dei dati ed eventuali errori derivati.

C'è ancora un certo margine di miglioramento e potenziamento. Come la possibilità di tenere in memoria l'accesso. O la registrazione stessa che attualmente è funzionante, ma manca ancora di verifica tramite e-mail e di possibilità da parte dell'amministratore sia di richiedere l'accettazione, sia di stabilire abbastanza dinamicamente i requisiti per i vari campi (come definire i caratteri e lunghezze concesse).
Sono tutte cose per cui il codice è già pronto a ricevere l'implementazione, ma non c'è alcuna fretta perché non c'è necessità.

L'implementazione del Log-in, infatti, attualmente mi serve soltanto per permettere ai visitatori di loggare con un utenza specificatamente dedicata ("GuestAdmin", come avrete già indovinato). Tale azione permetterà in futuro di fare dei test sulle implementazioni delle opzioni grafiche di cui vi ho già più volte parlato.
Non ho alcuna utiltà o intenzione di permettere di tenere tale Log-in memoria per sessioni future... non ne ho ragione.

La registrazione non è nemmeno necessaria, ma l'ho voluta aggiungere per integrità di programmazione. E con essa anche la possibilità di disattivarla, come ho appunto fatto. Sia perché non ancora abbastanza sicura per quanto su detto, sia perché proprio non voglio che la gente effettui registrazione su questa piattaforma dalla pura funzione "rappresentativa".
Comunque sia, nel caso venisse attivata, sarebbe già effettivamente possibile effettuare la registrazione di un nuovo utente da parte di chiunque.

Un'altra cosa che ho ritenuto necessaria alla personalizzazione della piattaforma è l'organizzazione dei file in modo che sia facile gestire gli stili. Le versioni precedenti non erano ancora state studiate per permettere anteprime e più stili differenti. Quindi ho dovuto ripensare un po' il sistema inizialmente pianificato.

Per prima cosa, ho notato che l'elaborato sistema di aggiornamento automatico dei CSS... era fin troppo elaborato. Esso praticamente conservava tutte le preferenze nel database, compresa la data in cui tali preferenze erano state fatte. Poi confrontava la data con l'ultimo post scritto. Se la data del DB era più recente, aggiornava il CSS ad ogni inizio sessione o giù di lì.

Questo sistema sarebbe funzionale in un blog costantemente aggiornato nei contenuti più che nella grafica. Altrimenti semplicemente porta ad un rallentamento delle prestazioni ad ogni primo accesso al sito, all'esecuzione di una query piuttosto pesante (vista la mole di dati gestiti dal file CSS), ed a dello spazio in più inutilmente occupato nel DB. Persino la mia gestione degli aggiornamenti, con magari l'aggiunta di ulteriori sezioni CSS, per migliorare la personalizzazione, diventava difficoltosa.

Così ho semplicemente riflettuto ed ho constatato che ho già scritto delle procedure che "leggono" dei file, e sento di essere in grado di farne una che legga e comprenda il contenuto dei CSS direttamente.
Per altro una cosa del genere è necessaria soltanto nel momento in cui si vogliono modificare tali dati, quindi, tranne che in rari frangenti di codice, è inutile caricare tali dati a priori.
Per quanto riguarda il sistema di aggiornamento, è semplicissimo e mi meraviglio che non mi sia venuto in mente prima: basta semplicemente un bottone "Applica".
Perciò sarà l'amministratore stesso a decidere la scrittura del CSS, clicando il bottone apposito quando le modifiche gli sono consone.
Per questo con la 0.05 ho deprecato quel sistema di aggiornamento automatico ed ho anche eliminato probabilmente le uniche due query veramente pesanti di tutto il sistema!

Questa "operazione" non è però stata ancora del tutto rifinita. Per ora ho semplicemente "tagliato" i ponti in modo "grezzo" con la tabella dei CSS e le query per consultarla.
Nelle prossime versioni dovrò creare le procedure di lettura e scrittura dei CSS ed eseguire altre rifiniture dinamiche nel codice. E quindi eliminare fisicamente e definitivamente tale tabella dal database e dai file del progetto.

Oltre i CSS ho un po' rivisto il posizionamento dei file. Ho creato una struttura di base "ottimale" tra cartelle, file e simili, che dovrebbe permettere di conservare diversi stili (sotto forma di varie serie di file distinti per nome dello stile: CSS e PHP contenenti variabili legate alla grafica).
Poi, in realtà, come da caratteristica della piattaforma, la maggior parte dei vari percorsi sono in realtà personalizzabili: come quello per la cartella degli smile o quella dei pulsanti grafici, etc, etc.

Il resto delle aggiunte sono più o meno conseguenza di quelle principali, o correzioni e/o ottimizzazioni di cose già esistenti e qualche altro dettaglio. La maggior parte della roba è elencata nello StoryLine.

In realtà c'è anche un "passo indietro" dovuto ai nuovi adattamenti e standardizzazioni apportati. Si tratta del file col codice PHP che permette la navigazione da un articolo al precedente o al successivo. Il codice non esegue più correttamente la funzione e la sensazione è che non sarebbe neanche difficile da correggere. In realtà ho rimandato la cosa a versioni future, nonostante non mi sia piaciuto lasciare qualcosa non funzionante a dovere. Il motivo principare è che invece che correggere il sistema precedente, vorrei provare a studiarne uno migliore. Il secondo motivo è che ho dato più priorità alla pubblicazione di una nuova versione, che non all'efficiacia della funzione in questione.

Al momento della pubblicazione di questa versione transitiva, ho inoltre avuto necessità di far convivere due versioni della stessa (l'altra è per uso privato). Per questo motivo ho dovuto aggiungere un metodo per far convivere due differenti sessioni PHP della stessa piattaforma sullo stesso dominio.
Ho quindi introdotto un metodo "manuale" per settare un nome sessione differente per ogni implementazione.
Lo definisco "manuale" perché non viene attivato tramite impostazione di una semplice variabile (e/o da interfaccia), ma va settato manualmente modificando un file e togliendo dei commenti a tutti gli altri file principali (vale a dire quelli non inclusi da altri file e richiamati da link diretti).
Questo perché di default ho preferito che tale possibilità venisse totalmente ignorata dal codice (commentata)... in modo che, se non nessario, non diventi in qualche modo espediente per malintenzionati.
Se attivato, comunque, è funzionale, poiché io stesso l'ho utilizzato.

Per finire, un'altra conseguenza positiva di questa pubblicazione "anticipata", ma non direttamente legata alla versione 0.05 quanto più al fatto che sia una pubblicazione recente, è la possibilità di scrivere questi articoli a tema con la piattaforma stessa, a sostituire quelli del mio vecchio blog totalmente personali e privati e che per la maggior parte poco avevano a che vedere con la piattaforma stessa.

scritto da Adriano alle ore 16:04:10, clickato 0 volte
sezione: generale

Stampa, Commenti (0)


« Articolo Articolo »

Nome:
e-Mail:
Web:

Testo:

Tabella degli smiles grafici.
Tabella dei codici HTML consentiti.

Non ci sono commenti per questo articolo, oppure l'articolo è inesistente.


Ferrari F50

My Links

BloggaCOWs::Log-In
www.Patcha.it
Patcha's Skins
Patcha's NFS:U2
Google
Ferrari
Microsoft

2009 BloggaCOWs © v. 0.05 - PHP WebLog Platform - by Patcha © Cities Of Webs © (COWs) © 2009 - OpenSource Platforms