
guide
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Realizzare un mini-sistema editoriale in ASP per la gestione di un blog
Un blog è una sorta di giornale elettronico sul quale il curatore pubblica opinioni, esperienze, spunti di riflessione. In questo articolo trascureremo l’aspetto, per così dire, ‘sociale’ di questo fenomeno. Nell’articolo I Blog: prime definizioni dal campo apparso su questa stesso sito, Martina Zavagno ha dato la parola ai blogger e nulla come la parola di chi un fenomeno lo vive può restuircene l’essenza. In questo spazio, invece, vedremo come costruire un blog con Dreamweaver MX.
La cosa non stupisca. E’ vero che i blog sono esplosi grazie a sistemi e piattaforme di Content Management che con la loro semplicità di gestione hanno aperto le porte della pubblicazione sul web anche a chi non sa quasi nulla di HTML e affini. Ma nulla toglie che con un minimo di sforzo si possa realizzare un sistema di pubblicazione personale e perciò flessibile. In fin dei conti anche i migliori tool per fare blog non sono basati che su un database e su una manciata di codice di un qualunque linguaggio di scripting lato server.
I linguaggi/formati che useremo qui sono:
Le funzionalità che implementeremo sono quelle ritenute minime:
In questa prima parte ci occuperemo di realizzare la parte ‘amministrativa’ del nostro sistema.
Prima di iniziare a lavorare prepariamo un database Access che contenga una tabella blog con almeno 3 campi:
Nome campo | Tipo dati |
---|---|
titolo | testo (255 caratteri) |
testo | memo |
data | data/ora |
Vogliamo inoltre che la data venga inserita automaticamente dal sistema. Quindi selezioniamo il campo data e nella relativa casella Valore predefinito digitiamo Now().
Al momento di chiudere la tabella lasciamo che Access aggiunga il campo ID.
Creiamo ora una seconda tabella commenti:
Nome campo | Tipo dati |
---|---|
titolo | testo (255 caratteri) |
testo | memo |
data | data/ora |
blogID | numero |
Anche in questa tabella vogliamo che la data venga inserita automaticamente: basta ripetere quanto descritto in precedenza.
Ancora una volta, al momento di chiudere la tabella, lasciamo che Access aggiunga il campo ID. Salviamo il database con nome database.mdb.
Ora creiamo tutto il necessario per lavorare con Dreamweaver MX, iniziando con due cartelle: blog e blogServer. Creiamo un alias per la tabella blogServer utilizzando il server di prova (Personal Web Server o Internet Information Server). Utilizziamo per alias il medesimo nome blogServer.
Creiamo la cartella mdb-database all’interno della cartella blog, copiamo infine database.mdb all’interno di mdb-database.
Ora apriamo Dreamweaver MX, creiamo un nuovo sito e configuriamolo con le cartelle ed i file appena creati.
Infine creiamo una connessione miaConnessione che individui il nostro database.
Se alcuni passaggi vi risultato oscuri potete trovate informazioni in merito più dettagliate qui: ASP e Access in locale con Dreamweaver MX
Da Dreamweaver MX creiamo una pagina dinamica ASP-JavaScript.
Inseriamo un modulo contenente 2 campi.
Il primo è un campo di testo.
Etichettiamolo titolo ed impostiamo 255 come caratteri massimi.
Il secondo è un’area di testo e la etichettiamo testo.
La soluzione migliore sarebbe in realtà quella di implementare una textarea HTML, sul modello dell’editor di testi per il web di cui si parla nell’articolo Un editor di testi per il Web in JavaScript (che è però basato sull’utilizzo di un iframe). Con l’area di testo semplice, volendo formattare il testo o inserire tag HTML, bisognerà fare tutto manualmente. Se volessi, ad esempio, rendere una parola in grassetto, dovrei racchiuderla tra i consueti tag <b> e </b>.
Aggiungiamo poi un pulsante etichettandolo Invia questa pagina come nella figura qui sotto:
Ora serve il codice che permetta di trasferire il testo dal campo testo del modulo al campo testo della tabella blog del nostro database.
Accediamo al pannello Applicazione > Comportamenti server, premiamo il pulsante + e scegliamo Inserisci record.
Nella prima casella scegliamo miaConnessione, poi la tabella blog:
Indichiamo che dopo l’inserimento dovrà essere caricata la pagina conferma.asp
e premiamo Ok.
Salviamo la pagina corrente con nome aggiungi.asp.
Note:
Dopo l’operazione di inserimento vediamo come implementare le altre due funzioni fondamentali nella gestione di una base di dati: modifica ed eliminazione di record (ovvero dei post del blog, nel nostro caso).
Creiamo una pagina dinamica e salviamola con nome elenco.asp (ma non chiudiamola!).
Creiamo un recordset che estragga il campo ID ed il campo titolo di un record e che ordini i record dal più recente al più vecchio (basta copiare le impostazioni della figura qui sotto).
Bene, i dati che il recordset estrarrà dal database compaiono ora nel pannello Applicazione > Associazioni.
Creiamo una tabella contenente una riga e tre colonne.
Trasciniamo il campo titolo dal pannello Associazioni alla prima cella della nostra tabella.
Nella seconda cella invece creiamo un collegamento alla pagina modifica.asp (non esiste ancora) e facciamo in modo che venga passato come parametro il numero ID del record corrente.
Ecco come procedere:
Creiamo ora un pulsante che permetta di eliminare un record.
Posizioniamo il cursore nella terza cella e scegliamo Inserisci > Oggetto modulo > Pulsante. Dreamweaver ci chiederà se vogliamo inserire il tag FORM: rispondiamo Si.
Bene, dobbiamo ora associare alla pressione del pulsante il comportamento di eliminazione record.
Selezioniamo il pulsante, accediamo al pannello Applicazione > Comportamenti, premiamo + e scegliamo Elimina record.
Impostiamo la finestra come in figura e premiamo Ok.
Ora sarebbe bene modificare l’etichetta del pulsante che avevamo inserito nella terza cella della tabella: impostiamola come Elimina.
Non rimane che replicare questi 3 oggetti (titolo pagina, link modifica e comportamento Elimina) per ogni record della tabella blog.
Infatti se provassimo ad utilizzare la pagina elenco.asp ora potremmo gestire soltanto un record (per la precisione quello più recente).
Selezioniamo quindi le tre celle, accediamo al pannello Applicazione > Comportamento, premiamo il pulsante + e scegliamo Area ripetuta.
Decidiamo di visualizzare i record a gruppi di 20:
Ora dobbiamo inserire dei pulsanti che permettano di muoversi all’interno di questi “gruppi di record”. Un po’ come accade nei motori di ricerca quando navighiamo tra le varie pagine contenenti i risultati.
Posizioniamo il cursore sotto la tabella e scegliamo Inserisci > Oggetti applicazione > Barra di navigazione recordset.
Premiamo quindi Ok, salviamo e chiudiamo la pagina.
Nella pagine elenco.asp avevamo presupposto l’esistenza di una pagina modifica.asp che ricevesse come parametro il numero ID di un record (ovvero un numero che identifica univocamente un post del blog) e che permettesse all’utente di modificare quel record. Cominciamo a costruirla!
Creiamo una pagina dinamica, inseriamo al suo interno un modulo contenente un campo di testo (etichettiamolo titolo) ed un’area di testo (etichettiamola testo).
Possiamo aggiungere poi del testo per rendere più chiaro il modulo:
Titolo:
Testo: |
Inoltre accediamo alla proprietà del campo titolo ed impostiamo 255 come numero massimo di caratteri.
Ora vogliamo che all’interno di questi campi compaia il post selezionato, così che l’utente possa apportare le modifiche più facilmente.
Dobbiamo creare un recordset ed impostarlo come in figura:
Notiamo che nell’area Filtro abbiamo scelto di estrarre il record avente campo ID uguale a quello passato come parametro dalla pagina elenco.asp, ovviamente confermiamo con Ok.
Bene, possiamo ora “dire” alla pagina che deve visualizzare nei due campi (titolo e testo) rispettivamente il titolo ed il testo del post per cui è stata richiesta la modifica.
Selezioniamo il campo testo ed accediamo alle sue proprietà:
Nella casella Val iniz potremmo digitare il testo che verrà visualizzato all’interno del campo subito dopo il caricamento della pagina. Ma questo campo dovrà visualizzare il titolo del post richiesta quindi non possiamo inserire del testo statico! Allora premiamo sull’icona del fulmine posta accanto alla casella:
Compaiono tutti i dati dinamici disponibili: poco fa abbiamo creato il recordset rsModificaPagina proprio perché lo avremmo ritrovato ora! Questo recordset corrisponde proprio al post per cui è stata richiesta una modifica. Quindi possiamo facilmente ottenere il suo titolo: basta selezionare titolo e scegliere Ok.
Ora all’interno del campo di testo titolo comparirà effettivamente il titolo del post. In questo modo l’utente potrà modificarlo più facilmente o lasciarlo inalterato.
Analogamente dobbiamo impostare il valore predefinito del secondo campo: testo. Basta ripetere le istruzioni appena descritte per il campo titolo.
Una volta finito dobbiamo inserire all’interno del modulo un pulsante (ricordiamo il riquadro del modulo è visualizzato in Dreamweaver da una riga rossa tratteggiata). Etichettiamo questo pulsante Salva modifiche.
Non rimane che aggiungere il comportamento che provveda effettivamente ad aggiornare la pagina di blog.
Accediamo al pannello Applicazioni > Comportamenti server, scegliamo + e quindi Aggiorna record.
Appare un pannello che va impostato come in figura.
Confermiamo con Ok e salviamo la pagina modifica.asp ormai completa.
Abbiamo preparato una piccola demo per mostrare il funzionamento dell’applicazione finora realizzata. Vedremo come costruire la nostra pagina pubblica e come implementare i commenti.
Le pagine analizzate fino ad ora sono riservate a chi scrive il blog quindi sarebbe bene proteggerle con password. Ora, invece, vedremo come costruire le due pagine pubbliche che permetteranno ai visitatori di consultare il nostro diario. Prima, però, due parole su un concetto fondamentale nell’ambito di un blog: quello di permalink.
La pagina principale di un blog contiene l’elenco degli ultimi post pubblicati dall’autore in ordine cronologico inverso. L’autore può impostare a suo piacimento i criteri con cui gestire i post sulla home page. Può, ad esempio, decidere di visualizzare gli ultimi 20, oppure quelli dell’ultima settimana. Ognuno di questi post è in genere connotato dai seguenti elementi:
Quest’ultimo designa l’URL permanente di ciascun post. Si tratta di una funzione fondamentale per l’archivio e per consentire una semplice identificazione del post stesso. La struttura che andremo a realizzare sarà dunque quella mostrata nell’immagine:
Creiamo, a questo punto, una pagina dinamica index.asp, la home page del nostro blog. Il procedimento da seguire è simile a quello visto nella costruzione della pagina elenco.asp.
Per prima cosa inseriamo un recordset che estragga dalla tabella blog i campi nome, titolo, testo e data e che li ordini dalla data più recente a quella più vecchia:
Ora impostiamo la struttura HTML per la visualizzazione del post. Nella demo che abbiamo preparato essa risulta estremamente semplificata. Il titolo è reso con un elemento h3, il testo è racchiuso in un paragrafo, sempre in un paragrafo andremo a inserire i dati accessori (data, permalink, link ai commenti):
<h3></h3>
<p></p>
<p></p>
Ora, dal pannello Applicazioni > Associazioni trasciniamo il campo titolo nella zona prescelta, esattamente tra i tag <h3> e </h3>. La stessa operazione va compiuta per il campo testo, che però andremo a posizionare all’interno del primo paragrafo. Infine, trasciniamo il campo data all’interno del terzo paragrafo. Passando, in Dreamweaver, alla Visualizzazione Codice, dovremmo avere la situzione mostrata qui sotto:
Bene, ora vogliamo che questa sezione venga replicata affinché vengano mostrati i record del database. Per farlo selezioniamo da <h3> fino al secondo paragrafo, badando a includere tutto. Accediamo, quindi, al pannello Applicazioni > Comportamenti server, premiamo + e scegliamo Area ripetuta. Decidiamo di visualizzare 20 post alla volta e confermiamo con Ok.
Volendo, potremmo inserire i pulsanti per navigare negli (eventuali) gruppi di voci. Posizioniamo il cursore sotto l’ultimo paragrafo e scegliamo Inserisci > Oggetti applicazione > Barra di navigazione recordset. Scegliamo i pulsanti in versione testo e premiamo Ok. Quest’ultima operazione è del tutto opzionale, in quanto in genere su un blog la visualizzazione degli archivi avviene su base settimanale, mensile o quotidiana con l’uso del classico calendarietto.
Vediamo ora come creare il permalink per i post. Si tratta di un collegamento ipertestuale che punti ad una nuova pagina mostra_post.asp e che passi a quest’ultima come parametro il numero ID associato al post da mostrare (sempre la stessa storia vista in precedenza…).
Portiamoci col cursore all’interno del paragrafo in cui abbiamo inserito in precedenza il campo data, immediatamente dopo quest’ultimo. E’ buona norma separare il tutto, per cui digitiamo un trattino o la classica barretta separatrice ( | ). A questo punto inseriamo questa riga di codice. Basta un copia e incolla (badando a inserire tutto sulla stessa riga):
<a href=”mostra_post.asp?ID=<%=
(rsPagine.Fields.Item(“ID”).Value)%>”>Permalink</a>
Infine, è necessario creare il link per l’aggiunta dei commenti. Tradizionalmente, sui blog, la finestra dei commenti è una piccola popup attivata da un link. Se si desidera seguire questo schema, possiamo utilizzare uno dei Comportamenti di Dreamweaver per crearne una.
Subito dopo il permalink appena realizzato, inseriamo la voce “Aggiungi un commento”. Creiamo un link vuoto con il classico cancelletto (#):
<a href=”#”>Aggiungi un commento</a>
Selezioniamo e apriamo la finestra Comportamenti (CTRL + F3). Dalle voci dell’elenco scegliamo Apri Finestra Browser. Configuriamo il box di dialogo con le seguenti impostazioni:
L’URL da inserire nel campo “URL da Mostrare” è questo. Fa riferimento alla pagina “commenti.asp” che dobbiamo ancora realizzare. Per il momento limitiamoci a copiare e incollare questo indirizzo:
commenti.asp?ID=<%=(rsPagine.Fields.Item(“ID”).Value)%>
Per quanto riguarda l’aspetto della finestra, si può decidere dal box di dialogo quali elementi mostrare e quali no. In genere, nelle finestre dei commenti di un blog non è necessario avere barra dei menu, di navigazione e dell’URL.
A questo punto, salviamo e chiudiamo index.asp.
Creiamo ora la pagina mostra_post.asp che riceve come parametro un numero ID e visualizza il singolo post corrispondente a quel numero.
Creiamo una pagina dinamica, creiamo un recordset come specificato in questa figura:
Bene, ora all’interno del pannello Applicazione > Associazioni abbiamo tutti i dati del nostro blog (esattamente quello richiesto dall’utente cliccando su un link della pagina index.asp).
Trasciniamoli all’interno della pagina corrente, organizziamoli e formattiamoli come preferiamo:
E’ buona norma inserire, anche a livello di archivio, un link ai commenti, così come un collegamento alla home page.
E se volessimo che il titolo della pagina di blog comparisse come titolo della pagina mostra_post.asp? Ovvero proprio nella barra del titolo del browser del visitatore?
Beh, chi conosce l’HTML sa che quello che viene scritto dopo il tag <title> e prima del tag </title> del codice compare all’interno della barra del titolo del browser.
Allora dobbiamo capire quale codice scrive Dreamweaver quando noi trasciniamo il campo titolo dal pannello Associazioni alla pagina web.
Per farlo basta selezionare il testo {rsPaginaBlog.titolo} che poco fa abbiamo inserito nella pagina ASP. Poi scegliamo Visualizza > Codice ed ecco trovato (in evidenziato) il codice che cercavamo!
Non ci resta che copiarlo ed incollarlo tra i tag <title> e </title>.
Salviamo la pagina, carichiamola sul server ed eseguendola vedremo che il titolo della pagina di blog compare all’interno della finestra del titolo del browser!
Chiudiamo con i link alla demo:
Da quest’ultima potete già accedere a tutte le altre funzioni, compresi i commenti. Affrontiamo la loro implementazione nell’ultima parte di questo mini-tutorial.
Nell’ultima parte del tutorial vediamo come implementare la funzione “Commenti“. Tecnicamente, vogliamo rispettare queste esigenze:
Generalmente, quando ogni record di una tabella A (la nostra tabella commenti) deve essere associato ad uno ed un solo record della tabella B (blog), si può aggiungere alla struttura della tabella A un campo contenente la chiave della tabella B (nelle nostre tabelle i campi ID sono chiavi).
Rivediamo come abbiamo strutturato le nostre tabelle:
tabella blog:
Nome campo | Tipo dati |
---|---|
titolo | testo (255 caratteri) |
testo | memo |
data | data/ora |
tabella commenti:
Nome campo | Tipo dati |
---|---|
titolo | testo (255 caratteri) |
testo | memo |
data | data/ora |
blogID | numero |
Il campo blogID nella tabella commenti è proprio quello che ci
serve.
Ogni volta che un utente inserirà un commento (ovvero inserirà un record nella
tabella commenti) basterà fare in modo che la pagina ASP aggiunga nel campo blogID
il numero ID della pagina di blog che si sta commentando.
In questo modo possiamo facilmente (e senza onerose occupazioni di spazio sul server che si tradurrebbero in tempi di accesso ai dati più lunghi) associare ogni commento ad un post.
Vediamo come costruire la pagina commenti.asp. Ricordiamo che nella seconda lezione abbiamo creato un link a questa pagina nella realizzazione della pagina rincipale del blog. Essa si aprirà come una finestra pop-up nel momento in cui il lettore vorrà dire la sua su ciò che abbiamo scritto. Creiamo, dunque, una nuova pagina dinamica.
Ecco cosa deve fare questa pagina che riceve come parametro il numero ID di un record della tabella blog:
Tutto chiaro? Bene abbiamo quasi finito!
Prima di tutto dobbiamo ottenere nel pannello Applicazione > Associazioni il valore passato come parametro in modo da poterlo poi gestire con facilità.
Premiamo + dal pannello Associazioni e scegliamo Variabile di richiesta.
Nella casella Tipo scegliamo Request.QueryString e nel secondo campo digitiamo ID.
Premiamo Ok e vedremo che nel pannello Associazioni è comparso il valore che volevamo.
Creiamo un modulo contenente 3 campi:
Organizziamoli come preferiamo aggiungendo del testo per renderli più comprensibili al visitatore.
Bene, nei primi due campi (titolo e testo) sarà il visitatore ad immettere dati (ovviamente il titolo ed il testo del suo commento).
Il terzo campo invece conterrà proprio il numero ID corrispondente alla pagina di blog che il visitatore sta commentando. Selezioniamo il campo nascosto (quella piccola icona gialla che visualizza una A presente in basso a destra della figura qui sopra).
Accediamo alle sue proprietà, premiamo l’icona del fulmine presente accanto alla cella valore, e scegliamo QueryString.ID.
Confermiamo con Ok.
Infine inseriamo all’interno del modulo un pulsante ed etichettiamolo Invia commento.
Dobbiamo ora aggiungere il comportamento che effettui l’inserimento di questi dati nel database.
Accediamo al pannello Applicazioni > Comportamenti server, premiamo + e scegliamo Inserisci record.
Scegliamo come connessione miaConnessione, selezioniamo la tabella commenti e la stessa pagina, commenti.asp, come pagina su cui indirizzare il visitatore dopo aver inserito il commento.
Inoltre assicuriamoci che i 3 campi di testo vengano associati ai 3 campi presenti nella tabella commenti (come mostrato in figura), scegliamo Ok.
Rimane da realizzare la parte dell’applicazione che ci consente di visualizzare i commenti nella pagina commenti.asp. L’idea è di avere una struttura in cui i commenti appaiano all’inizio della pop-up ordinati per data di inserimento e che in fondo alla lista sia presente il form per l’inserimento. Ovviamente, se non sono presenti commenti, sarà proprio il form ad apparire in testa alla pagina.
Creiamo un recordset che vada ad individuare tutti i commenti associati al numero ID passato come parametro.
Attenzione! Il numero ID passato come parametro corrisponde ad un post del blog. Noi vogliamo individuare i commenti associati a quella pagina quindi dobbiamo esigere una corrispondenza tra il numero ID ricevuto come parametro ed il campo blogID della tabella commenti! Per questo impostiamo il recordset come in figura.
Premiamo Ok.
Ora disponiamo dei campi del generico commento (corrispondente alle caratteristiche richieste) nel pannello Associazioni.
Restano da eseguire alcune semplici operazioni:
I campi, stando a quanto detto in precedenza, andranno collocati immediatamenta prima del form. Nella demo abbiamo utilizzato una struttura molto semplice:
<h3><%=(rsCommento.Fields.Item(“titolo”).Value)%></h3>
<p><%=(rsCommento.Fields.Item(“testo”).Value)%></p>
<p><%=(rsCommento.Fields.Item(“data”).Value)%></p>
Salviamo quindi la pagina come commenti.asp, carichiamo tutte le pagine sul server e… iniziamo a raccontare la nostra vita al mondo!
Nota: in questo articolo abbiamo usato un insieme di campi dati minimale. Chiunque volesse ampliare le informazioni associate ad una pagina di blog o ad un commento (ad esempio memorizzando il nome del visitatore o la sua e-mail) potrà farlo senza problemi.
Nel file demo.zip abbiamo inserito tutti le pagine della nostra mini-applicazione, in modo che possiate studiarli e testarli in locale. Basterà creare un alias in Condivisione Web per la cartella “blog” che trovate nello zip e cambiare il path al database contenuto nel file connections.asp. I test possono essere effettuati anche online:
Se vuoi aggiornamenti su Un blog con Dreamweaver MX inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
Metasploit permette di poter utilizzare la webcam di una macchina violata. Nel video è mostrato come poter salvare uno snapshot […]
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Come creare applicazioni per il Web con PHP e MySQL per il DBMS.
Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.
I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.
Diventare degli esperti in tema di sicurezza delle applicazioni Java.
Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.
Le principali guide di HTML.it per diventare un esperto dei database NoSQL.
Ecco come i professionisti creano applicazioni per il Cloud con PHP.
Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.
Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.
Fare gli e-commerce developer con Magento, Prestashop e WooCommerce.
Realizzare applicazioni per il Web utilizzando i framework PHP.
Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.
Percorso base per avvicinarsi al web design con un occhio al mobile.
Realizzare siti Web e Web application con WordPress a livello professionale.
Primo sguardo agli strumenti XML: trasformare un feed RSS
Esaminiamo gli strumenti CSS avanzati del software di Adobe/Macromedia
Panoramica delle principali novità dell’ultima release del popolare web editor di Macromedia
Entrare nel mondo dello sviluppo di applicazioni Web con Webmatrix, l’IDE gratuito di Microsoft e Razor, il view engine che semplifica l’interfaccia tra markup e dati