Nuovo sito di Danilo Gallinari

Mancano due giorni alla pubblicazione del sito Internet ufficiale di Danilo Gallinari.

Il lavoro di aggiornamento è stato principalmente volto al restyling delle pagine integrandovi elementi 2.0.

E’ arrivato ScarabeoDigital II

Dopo lunga gestazione abbiamo finalmente pubblicato per Kalicanthus la nuova versione di Scarabeo Online.

Al sito scarabeo.kalicanthus.it trovate il client di gioco free per 15gg.

Mettetevi alla prova!!!!!!

In attesa di ScarabeoDigital2

Oggi esce SD2.

Vi attendiamo numerosi.

Appena pubblicato il sito di supporto posterò il link.

Ci vuole metodo…

Breve digressione sui metodi che possiamo invocare in fase di modifica di un campo al quale è applicato il tag love_lib.
Il primo e più semplice è il metodo TEXT il quale tramuta il div nel quale è contenuto il testo in una TEXTAREA il cui contenuto verrà poi aggiornato nel database. La forma del controllo creato da love_lib è mostrato nella figura 1.

1.jpgIl controllo prima del click dell’utente.                 

2.jpg il controllo in modalità modifica.

La funzione dei tasti EXIT e SALVA direi che è piuttosto ovvia. Il tasto Salva invoca una funzione AJAX che richiama una pagina ASP chiamata UPDATE.ASP la quale ricevento come parametro l’ID del record da aggiornare, il nome del campo da aggionare e la tabella di riferimento esegue l’update nel DB. Va da se che la chiamata ad UPDATE.ASP è puramente una mia scelte, potete personalizzare il sistema con ogni tipo di linguaggio server-side. Anzi chiunque volesse creare una pagina UPDATE, ADD_NEW e DELETE in altri linguaggi me la mandi e la includerò nelle prossime release.

Altri metodi…

Date: il metodo DATE crea in fase di modifica un datepicker come mostrato in figura.

 3.jpg il controllo datepicker.

Colorpicker: il metodo Color crea un colorpicker come mostrato in figura.

4.jpg il controllo colorpicker.

Esiste un ultimo metodo che è IMG il cui funzionamento è un po meno automatizzato dei precedenti nel senso che viene richiamata via AJAX una pagina che ho chiamato immagini.asp nella quale viene generato tutto l’output di thumbnails contenute in una cartella del server. Perchè dico che la funzione quì è meno automatizzata? per il semplice fatto che per adattare love_lib ad altri schemi di deployment sarà necessario ritoccare vari file tra i quali immagini.asp (usata per scegliere una immagine in un record già esistente) e new_immagine.asp ( usata nella creazione di nuovi record ).

relativamente alla creazione di nuovi record non ho ancora accennato che love_lib in modo automatico e con il semplice passaggio dei parametri e dei campi crea il form di inserimento nuovo record ma di questo parlerà in un prossimo post.

Fin d’ora chiedo a chiunque voglia autarmi a sgrossare il sistema e ad ottimizzarlo a commentare il post o scrivere a dieffe at gmail.com.

Fausto

Quel che resta del…..server side.

Perchè ho deciso di creare una libreria che automatizzasse i processi di update, aggiunta ed eliminazione nel database? Beh principalmente per rendere più rapida la realizzazione di back office nei quali le esigenze di grafica sono al minimo ma sono in compenso pressanti le esigenze di semplice modificabilità da parte dall’utente anche scarsamente informatizzato.

L’obiettivo è quello di permettere la creazione di un sistema che tramite l’insertimento di un tag onClick su di un DIV ne permetta la modifica diretta. Va da se che il DIV deve contente un campo database e devono essere rispettate determinate sintassi.

Al momento la libreria love_lib.js è in fase beta e non è in nessun modo ne ottimizzata ne debuggata ed è per questo che chiedo aiuto a chiuque voglia metterci il naso.

In allegato la prima primissima pre-release di love_lib.js. Il contenuto del file zip è il seguente:
- \images\ (immagini usate per il loading)
- \lib\love_lib.js (la libreria vera e propria)
- \css\love_lib.css (alcuni stili usati ad esempio nel datepicker o nei collegamenti)
- del_record.asp (pagina asp che elimina un record passando come parametri la tabella e l’id)
- new_record.asp (pagina asp che aggiunge un record al database ricevendo come parametri i campi da compilare nel nuovo record, la tabella nella quale aggiungere il record)
- update.asp (pagina asp che aggiorna un campo di un record ricevendo come parametro il nome del campo da aggiornare, il valore da aggiornare e l’id del record da aggiornare )

N.B. LA LIBRERIA E LE PAGINE ASP NON SONO OTTIMIZZATE E PERTANTO POTREBBE ESSERE NECESSARIO DEL REVERSE ENGENERRING PER ADATTARE LA CONNESSIONE DATABASE ASP ALLA PROPRIA CONFIGURAZIONE.

love_lib.js (preRelease)

Cosa devo fare per implementarla?
Facciamo un primo esempio. Mettiamo di voler aggiungere ad una pagina .asp un campo di un database e di renderlo modificabile con un semplice click.
Per prima cosa creiamo l’html:

<TABLE>
<TR>
<TD><%=valore_estratto_dal_db%></TD>
</TR>
</TABLE>

Per rendere operativa love_lib dobbiamo per prima cosa includere i file di script e css:

<script src=”lib/prototype-1.4.0.js” mce_src=”lib/prototype-1.4.0.js”></script>
<script src=”lib/love_lib.js” mce_src=”lib/love_lib.js”></script>
<style type=”text/css” media=”all”>@import “css/love_lib.css”</style>

Come si evince dal codice viene anche inclusa prototype per una accesso un po più rapido alle funzioni javascript.
A questo punto dobbiamo aggiungere il codice love_lib creando all’interno del TD nel quale figura il valore preso dal database un DIV che sarà il target di tutte le operazioni di postback.
Il codice modificato sarà:

<TABLE>
<TR>
<TD>
<div id=div_a_<%=rs(“id”)%> onClick=”modificabile(this,’arg1′,<%=rs(“id”)%>,’text’,1,20,’arg2′)”>
<%=valore_estratto_dal_db%>
</div>
</TD>
</TR>
</TABLE>

Commentiamo la sintassi. Sull’evento onClick viene associata la funzione modificabile la quale necessita dei seguenti parametri:
this: nome del controllo che riceve il risultato della modifica, nel nostro caso il DIV stesso e quindi this.
arg1:
nome del campo database sul quale eseguire la modifica.
id: l’id al quale fare riferimento nella funzione di update.
text: il tipo di dato da modifiare, text significa che verrà creato un modulo input text con 1 riga e 20 colonne carattere.
1:  numero di righe nel controllo di modifica.
20: numero di colonne nel controllo di modifica.
arg2: nome della tabella nella quale aggiornare il record.

cosa succede quando clicco sul controllo?
Cliccando sul div il suo contenuto viene modificato e viene inserito un modulo di imput text e due link, salva e exit. Cliccando su exit viene rimosso il modulo e ripristinato lo stato precedente del div. Cliccando su salva viene invocata una funzione Ajax che modifica il campo database.

Se qualcosa va storto vi troverete l’immagine di loading fissa e vi toccherà un po’ di debug in attesa che love_lib diventi un progetto più stabile.

Sperando di avere reso l’idea di quello che ho fatto e voglio fare attendo commenti.

Fausto

Pastrocchi in Ajax

Ciao a tutti, ho aperto questo blog per condividere un progettino che sto realizzando per un cliente.
Realizzando un sito comprensivo di front-end e back-office mi sono chiesto se fosse stato possibile creare una libreria in AJAX che mi permettesse in modo semplice e veloce di amministrare i record di alcune tabelle di un database.

La soluzione è, a mio parere, interessante e con un connubbio buffo di AJAX e ASP ho creato una libreria (love_lib.js) che può essere integrata nelle pagine asp e gestire automaticamente l’aggiornamento dei campi e l’aggiunta di nuovi.

A breve la vorrei condividere con la community e ottenere aiuto e consiglio.

Fausto



Follow

Get every new post delivered to your Inbox.