Desarrollo de Aplicaciones en Plone



Documentos relacionados
Introducción al desarrollo en Plone

Combinar comentarios y cambios de varios documentos en un documento

Desarrollo de una aplicación Web para la gestión de calificaciones de alumnos

vgestorweb vgestorweb 1/9

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento

Buildout: crear y desplegar entornos reproducibles en Python Aitzol Naberan

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos

MICROSITIOS. Perfiles

L U I S P A T I Ñ O IN FOR M Á T I C A SIS T E M A S AVA N Z A DOS

Conceptos Generales en Joomla

Guía Notas Parciales. Intermedio (Nueva Versión)

Microsoft Access 2007 (Completo)

Manual de uso básico de la aplicación

ANEXOS INSTALACIÓN DE SOFTWARE LIBRE UTILIZADO EN EL PROYECTO. Se ejecuta el instalador para Windows.

MICROSOFT ACCESS 2010

MICROSOFT ACCESS 2003

Página 1 de 7. Qué es Scratch?

Administración mediante políticas con ESET Remote Administrator

Centro de Enseñanza Online (CEO)

CAPÍTULO I: UNA PRESENTACIÓN EN POCOS MINUTOS

Manual de Usuario. Del. Módulo de Lector de códigos de barras. FacturPin. Diseñado y producido por. SystemPin

Cómo gestionar menús en Drupal 7

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

No necesitas el SDK de Android para este módulo ni para realizar los ejercicios.

Manual CMS Mobincube

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

Introducción a Plone y Zope. Presentación introductoria sobre Plone y las tecnologías utilizadas, como Zope y Python.

1.- INSTALACIÓN 2.- REGISTRO

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

COMO HACER UN CUMENTO DE WORD PARA TRABAJOS LARES

MACROS Y FORMULARIOS

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Ejercicios - Servicios

INGRID Gestión geográfica de activos urbanos y mantenimiento

Certificados para la exportación de dispositivos médicos por David Racine

Introducción a Visual Studio.Net

CALCULAR NOTAS CON EXCEL

Consulta del catálogo de la biblioteca del Instituto Cervantes de Moscú vía web

Sincronización de usuarios y grupos del Directorio Activo con Google Apps en un centro educativo

QUE ES ACCESS PESTAÑA INICIO VER: EN ESTA PESTAÑA SE ENCUENTRA

Factura electrónica. Guía rápida. Versión 2.0 (Noviembre 2014)

Qué es una máquina virtual?

Google Docs. Iniciar el programa

Office Online Office Online

Generación de Documentos PDF para impresión en alta calidad.

(altas de trabajadores afectados por EREs): guía para las empresas

Introducción a la extensión de scripting en gvsig 2.0

PROCESO GESTIÓN ADMINISTRATIVA INSTRUCTIVO TÉCNICO ALISTAMIENTO SERVIDORES GESTIÓN DOCUMENTAL

BrowserSQL 4 versión 2 - TUTORIAL

ESPOCH ESCUELA DE MEDICINA HERNANDEZ MAYRA FORMULAS Y DUNCIONES BASICAS ESPOCH

UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

MANUAL DE USUARIO DEL SISTEMA PARA EL REDACTOR

Para modificar una plantilla, primero debemos abrirla, hacer los cambios que se requieran y posteriormente se guarda como plantilla.

Unidad 9.- PLUGIN YOAST SEO PARA WORDPRESS

Tutorial. Programación en Eneboo (I). Primer contacto

1. El entorno de desarrollo Eclipse

GUÍA PARA PUBLICACIÓN DE CONTENIDO

Servicio de groupware

Oficina de Tecnologías de la Información y Comunicaciones MANUAL DE USUARIO. Diseño básico para elaboración de banners en Macromedia Fireworks 8

1) Menciona al menos herramientas de búsqueda en internet

Base de Datos Práctica 1.

Una plantilla es un modelo que puede servir como base para muchas hojas de cálculo. Puede incluir tanto datos como formatos.

CÓMO CREAR NUESTRO CATÁLOGO

Aprendiendo Netbeans Ing. Ricardo Morales 2011 NETBEANS (JAVA)

Producción de documentos digitales con Acrobat 9

Sesiones en PHP. Área de Ingeniería Telemática

1.- Creación de sitios web

Mini-guía: Gestión de Permisos

GUIÓN DE APLICACIÓN < GRUPO SEKURLAN >

Base de datos en la Enseñanza. Open Office

1. Contenido GUÍA DEL USUARIO

Se puede acceder a dicho módulo a través de la siguiente dirección URL:

Reingeniería con Netbeans

Semana Empecemos! Qué sabes de...? El reto es... Vamos al grano. Excel. Parte II

MODULO 1. DESCARGA E INTERFAZ QGIS

FP BÁSICA Ofimática y archivo de Documentos

Google Sites. Universidad de Deusto Unidad Técnica de Innovación y Calidad aulatic, Enero 2013

TUTORIAL. Edición de contenido y creación de entradas y páginas Wordpress

Catálogo de productos de Iparlux y gestión de pedidos

PLANTILLAS DE DOCUMENTOS EN WORD 2007

Pequeño tutorial de fútbol de robots en Squeak

Instructivo proveedores SRM Bunge Argentina SA.-

1. Conociendo el equipo

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

InfoPath forma parte del paquete ofimático de Microsoft desde la versión XP (2003).

MANEJANDO FICHEROS Y CARPETAS

Crear y compartir documentos con Google docs

Enviar Felicitación Navideña por con Off. 2007

Cuestiones básicas para empezar a programar con Scratch

MINISTERIO DE EDUCACIÓN

Prueba de Concepto, Informes XBRL vs. SGBDR.

Manual de usuario. Curso Móvil 1.0

El proceso de edición digital en Artelope y CTCE

Herramientas para investigadoras e investigadores sociales

(Altas de prestaciones por ERE S): guía para las empresas

Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A)

DEFINICIÓN DE ESTILOS POR MEDIO DE CLASES

Para trabajar con esta aplicación sólo es necesario tener acceso a Internet y utilizar uno de estos navegadores:

Creación de la Base de Conocimiento

Transcripción:

Desarrollo de Aplicaciones en Plone Mikel Larreategi mlarreategi@codesyntax.com 2008/12/15 Azitain Poligonoa 3 - K E-20600 EIBAR Tel: ++34 943 821 780 Fax: ++34 943 820 669 Internet Solutions www.codesyntax.com

Recordemos ZPT Python Buildout Plone básico

Buildout Archivo de configuración formato INI Ahí decimos qué cosas se instalan en Plone Podemos crear nuestros productos para que se puedan instalar con buildout

Productos para Plone: eggs Un egg es Python lo que un jar es a Java Es simplemente un archivo ZIP que contiene el código y metadatos para su gestión de cierta forma automatizada Veamos el esqueleto de un huevo

Cómo creamos un huevo? A mano A máquina: $ paster create list templates $ paster create t plone $ paster create t plone_app $ paster create t plone3_theme $ paster create t archetype Esto hay que combinarlo con svn repository para incluirlo en SVN (o en cualquier otro a mano)

Plone Theme (I) $ paster create t plone3_theme Veamos la estructura del producto Expliquemos lo que hay en cada sitio setup.py init.py configure.zcml profiles/default GenericSetup skins

Plone Theme (II) Skins Personalización de plantillas y scripts de plone Creación de nuevas plantillas Por qué funciona? portal_skins Concepto de layer o capa Concepto de skin

Plone Theme (III) Ejemplos: Personalicemos una plantilla Creemos una nueva plantilla Macros, slots, viewlets, etc.

Plone Theme (y IV) Vamos a utilizar GenericSetup para que la plantilla que hemos añadido se pueda utilizar como portada de la página principal

Qué es GenericSetup? Una forma para exportar la configuración de Plone a archivos XML para que pueda ser reproducible De qué configuración hablamos? De casi todos los elementos que hay en el ZMI portal_actions, portal_catalog, portal_types... Registrar nuevos tipos de objetos, perfiles de actualización, Veamos el perfil básico de Plone

Archetypes (I) Qué es Archetypes? Herramientas para crear nuevos tipos de objeto en Plone Los objetos básicos de Plone están hechos con Archetypes Schema, Field, Widget Veamos cómo está hecha una noticia en Plone

Archetypes (II) Creemos el nuestro: $ paster create t archetype Sin embargo cada vez que añadamos un nuevo objeto, hay que tocar muchos archivos: Crear el.py, el interfaz Añadirlo en el perfil GS (types.xml, types y factory.xml) Crear permisos, por si acaso,...

Archetypes (y III) $ paster addcontent list $ paster addcontent contenttype Ahora añadiremos a mano algún campo Pero eso incluso se puede hacer a máquina: $ paster addcontent atschema Tiene sus peros, pero bueno, sirve para empezar.

Aplicaciones en Plone (I) Concepto de vista en Zope3 Por qué una vista y no un script de skins? Todo el poder de Python Código restringido Cómo añadimos una vista A mano (.py y configure.zcml) A máquina (sólo en productos que hayamos creado con la plantilla archetype): $ paster addcontent view

Aplicaciones en Plone (II) Hagamos un ejemplo: Un formulario que recoja un string y dos enteros y que muestra el string en negrita, los dos enteros en una lista y la suma de los dos enteros también en negrita.

Aplicaciones en Plone (III) portal_catalog Plone utiliza ZODB Base de Datos orientada a objetos No hacemos consultas SQL para buscar cosas Las buscamos en una cosa llamada Catálogo, en la que se indexan todos los objetos y guardan cierta información Veámos qué tiene nuestro catálogo

Aplicaciones en Plone (IV) Veámos cómo hace Plone una búsqueda en el catálogo. Normalmente se utilizan vistas (aunque se puede hacer desde scripts) CMFPlone/browser/portlets/news.py Concepto de brain y concepto de objeto Datos indexados en el catálogo que obtenemos directamente del brain: Metadata Añadiendo nuevos índices y metadata utilizando GS

Aplicaciones en Plone (V) Hagamos que nuestro tipo de objeto indexe uno de sus atributos en el catálogo Hagamos que algún atributos de nuestro objeto se indexe en el índice de texto libre

Aplicaciones en Plone (VI) Una plantilla, que utilizando una vista, nos devuelva ciertos objetos de Plone ordenados Una plantilla y una vista que hagan lo mismo que hace el formulario de búsqueda de Plone

Y ahora qué... (I) Consultas SQL Hay librerías en python que se pueden utilizar MySQLdb PostgreSQL SQLite cx_oracle Añadiríamos como egg y utilizaríamos la librería como si fuera un programa python SQLAlchemy, un ORM para Python

Y ahora qué (y II) Con las vistas y las plantillas podéis hacer lo que se os ocurra

Bibliografía Professional Plone Development. Martin Aspeli. PacktPub 2007 (también en PDF) Web Component Development with Zope 3. Philipp von Weitershausen. Springer 2007 Documentación online: http://plone.org