Enfoque de Aplicación: Lamplight

15 de septiembre 2010 a las 9:00 am por Jenny Donnelly | En las implementaciones YUI | Comments Off

Matt Parker ( @ Lamplightdb en Twitter ) es el fundador y desarrollador de sistemas de bases de datos Lamplight , una pequeña empresa proporcionando una con todas las funciones basado en la web sistema de gestión para organizaciones no lucrativas en el Reino Unido. Matt vive y trabaja en el noroeste de Londres.

¿Qué es Lamplight?

Luz de la lámpara es una base de datos para organizaciones benéficas y grupos de voluntarios (que es sin fines de lucro) en el Reino Unido. Ayuda a nuestros clientes a mantener sus datos de manera eficiente, demostrar el impacto que tienen sobre las personas con las que trabajan, y agilizar las tareas administrativas y de información. Hemos estado yendo desde el año 2004 y re-escribió la totalidad del sistema en 2009, utilizando YUI2 muy fuertemente.

Luz de la lámpara tiene un grupo muy exigente de los usuarios: generalmente no son muchas ganas de estar sentado frente a una computadora - que quieren estar trabajando con las personas a las que sirven. Así Lamplight tiene que ser intuitivo, sensible, y hacer su trabajo más fácil.

También estamos comprometidos a hacer que sea asequible para las organizaciones más pequeñas, un sistema organizado comienza en 15/mes £ (para toda la organización). Por lo tanto, trabajamos muy duro para hacer un solo sistema que es lo suficientemente flexible para una amplia gama de diferentes organizaciones para utilizar sin llegar a ser imposible de manejar y administrar.

¿Qué componentes YUI se utilizan?

Es más fácil enumerar los que no lo hacen: carrusel, cartas, Cookie, y ImageCropper ImageLoader, Diseño, ProgressBar, Slider, almacenamiento, SWF y TreeView. Todo lo demás está ahí a un mayor o menor medida. DataTable , Editor y el menú de obtener el mayor de los entrenamientos.

¿Por qué eligió YUI?

Las primeras impresiones recorrer un largo camino. Mientras yo estaba probando algunas de las bibliotecas, los widgets YUI parecía ser el más sensible, y / o el más confiable en distintos navegadores. Y entonces no se tarda mucho en darse cuenta de la documentación, ejemplos, y los foros son realmente impresionantes también.

En cierto modo, ha hecho las cosas más difíciles - que usamos Zend Framework en el servidor, que (ahora) viene con Dojo 'incorporado' - pero estoy bastante seguro de que era la decisión correcta.

¿Qué ha tenido más divertido con el?

Estamos a punto de empujar la nueva YUI 2 Diario de base a todos nuestros clientes. Diario es mi propia creación, y parece estar funcionando bastante bien. Se hace lo que usted espera de un diario que hacer - arrastrar y soltar citas, haga clic y arrastre para añadir, y así sucesivamente. Está construida sobre una pila entera de que existen YUI 2 componentes (el cambio de tamaño de utilidad, arrastrar y soltar , y DateMath en particular). Diario es en GitHub, junto con la documentación de la API y algunos ejemplos ( http://mattparker.github.com/diary/ )

Imagen del Diario de Lamplight

También he disfrutado trabajando con DataTable . He añadido un selector de columnas menú contextual, que se utiliza y se añade un poco de trabajo de Satyam con teclas de navegación en torno a una tabla editable , y aplicado la clasificación a distancia / paginación con el servidor devuelve código HTML.

Y del editor recibió una cierta atención también: tenemos de combinación de correspondencia botones del menú, algunos botones extra de filtro HTML para manejar contenido pegado desde MS Word, un sistema de documento de plantillas, y una imagen integrada de inserción / cargador (imágenes provienen de nuestro servidor).

Captura de pantalla del editor de Lamplight

Por último, tenemos un sistema muy simple de ACL, de modo que (por ejemplo) que sólo necesita un conjunto de menús contextuales que activar o desactivar elementos, dependiendo de quién está conectado - Creo que es bueno saber lo que no se puede hacer, en lugar de buscar una quita "eliminar" la opción!

¿Cuál ha sido más difícil?

Gestión de todos los widgets que vienen y van. No siempre debe ser una carga de la página hasta que salga, y en ese tiempo hay una gran cantidad de tablas de datos, los TabViews, botones, contextmenus ... que van y vienen. A veces these'll estar en un diálogo, por lo que no sólo puede destruir () que en cada petición ajax, por ejemplo. He terminado con un WidgetManager único, que almacena los conjuntos de widgets (por ejemplo un formulario con algunos botones y DataTable) y destruye (o los oculta el camino, en el caso del Editor) que en el momento oportuno. Todos estos widgets se registran con la WidgetManager cuando están construidos. Y re-escribió pedazos justos de manera que sólo hay un solo editor, de diálogo, y el Grupo Especial que consiguen volver a utilizar siempre que sea necesario. Afortunadamente esto no era demasiado doloroso, ya que todos estamos envueltos en el servidor de las clases de PHP, así que sólo tuve que cambiar mi Yui_Datatable o Yui_Form (por ejemplo) las clases.

Compartir y ampliar: Marcar página con del.icio.us | Digg It! | reddit!

No hay comentarios todavía

Disculpa, los comentarios están cerrados en este momento.

Presentado por Yahoo!

Copyright © 2006-2012 Yahoo! Inc. Todos los derechos reservados. Política de privacidad - Condiciones del servicio

Desarrollado por WordPress en Yahoo! Web Hosting .