Attuazione Focus: Lamplight
15 Settembre 2010 alle 9:00 pm Jenny Donnelly | In implementazioni YUI | Commenti disabilitati
Matt Parker ( @ Lamplightdb su Twitter ) è il fondatore e sviluppatore su sistemi di database Lamplight , una piccola azienda che fornisce un completo web-based sistema di gestione per i non-profit nel Regno Unito. Matt vive e lavora a nord-ovest di Londra.
Che cosa è Lamplight?
Lamplight è una banca dati per opere di beneficenza e gruppi di volontari (che è non-profit) nel Regno Unito. Aiuta i nostri clienti a mantenere i propri dati in modo efficiente, dimostrare l'impatto che hanno sulle persone con cui lavorano, e snellire le attività amministrative e di reporting. Noi abbiamo in corso dal 2004 e ri-scritto l'intero sistema, nel 2009, utilizzando YUI2 molto pesantemente.
Lampada ha un sacco di utenti piuttosto impegnativo: non sono generalmente molto interessati a essere seduto davanti a un computer - vogliono essere fuori a lavorare con le persone che servono. Così Lamplight è avuto modo di essere intuitivo da usare, veloce e semplificare il loro lavoro.
Siamo inoltre impegnati a rendere accessibili per imprese più piccole - un sistema ospitato inizia a 15/month sterline (per l'intera organizzazione). Quindi lavoriamo duramente per fare un unico sistema che sia abbastanza flessibile per tutta una serie di diverse organizzazioni di utilizzare senza diventare impossibile da gestire e amministrare.
Quali componenti YUI si usa?
E 'più facile elencare quelli che non: Carousel, Grafici, Cookie, ImageCropper, i ImageLoader, Layout, ProgressBar, Slider, Storage, SWF e TreeView. Tutto il resto è lì, in misura maggiore o minore. DataTable , Editor e il menu di ottenere il più grande allenamenti.
Perché avete scelto YUI?
Le prime impressioni andare un lungo cammino. Mentre stavo provando alcune delle librerie, widgets YUI sembrava essere il più reattivo, e / o il più affidabile in diversi browser. E poi non ci vuole molto per capire la documentazione, esempi, forum e sono davvero impressionanti troppo.
In qualche modo è fatto le cose più difficili - si usa Zend Framework sul server, che (ora) viene fornito con Dojo 'costruito in' - ma sono abbastanza sicuro che fosse la decisione giusta.
Cosa avete avuto più divertente con?
Siamo quasi a spingere il nuovo YUI 2 Diary based a tutti i nostri clienti. Diary è una mia creazione, e sembra funzionare piuttosto bene. Fa ciò che vi aspettate un diario da fare - drag and drop appuntamenti, fare clic e trascinare per aggiungere, e così via. E 'costruita su un intero stack esistenti YUI 2 componenti (il ridimensionamento utility, Drag & Drop , e DateMath in particolare). Diary è su GitHub, insieme con la documentazione API e alcuni esempi ( http://mattparker.github.com/diary/ )

Ho anche un piacere lavorare con DataTable . Ho aggiunto un selettore menu di colonna dei contesti, utilizzare e ha aggiunto un po 'per lavoro Satyam con tasto di navigazione intorno ad un tavolo modificabile , e implementato l'ordinamento remote / paging con il server di ritorno HTML.
E dell'editore ricevuto una certa attenzione anche: abbiamo mail-merge pulsanti del menu, alcuni extra pulsanti HTML filtri per gestire il contenuto incollato da MS Word, un sistema documentale di template, e un built-in immagine l'inserimento / uploader (immagini provengono dal nostro server).

Infine, abbiamo un sistema molto semplice ACL, in modo che (per esempio) ho solo bisogno di una serie di menu contestuali che abilitano o disabilitano gli elementi a seconda di chi ha effettuato l'accesso - Penso che sia bene sapere cosa non si può fare, piuttosto che alla ricerca di un rimosso l'opzione 'delete'!
Qual è stato più difficile?
Gestire tutti i widget che vanno e vengono. Non dovrebbe mai essere un caricamento della pagina fino alla disconnessione, e in quel tempo ci sono un sacco di DataTable, le visualizzazioni a scheda, Bottoni, contextmenus ... vanno e vengono. A volte these'll essere in una finestra di dialogo, quindi non posso solo destroy () su di essi ogni richiesta ajax, per esempio. Ho finito con un singleton WidgetManager, che memorizza serie di widget (ad esempio un modulo con alcuni pulsanti e un oggetto DataTable) e distrugge (o li nasconde la strada, nel caso di Editor) li al momento giusto. Tutti questi widget si registrano con il WidgetManager quando sono costruito. E noi ri-scritto pezzi eque in modo che ci sia solo un singolo editore, di dialogo, e che il Panel ottenere riutilizzati quando necessario. Fortunatamente non era troppo doloroso come sono tutti avvolti sul server per classi PHP, così ho solo bisogno di modificare il mio Yui_Datatable o Yui_Form (per esempio) le classi.
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
Nessun commento ancora
Siamo spiacenti, il commento forma è chiusa in questo momento.

Copyright © 2006-2012 Yahoo! Inc. Tutti i diritti riservati. Privacy Policy - Termini di servizio
Powered by WordPress su Yahoo! Web Hosting .
