Upload
ajussis
View
1.288
Download
0
Embed Size (px)
Citation preview
Plone
para las entidades gubernamentales
2. sesión
Instalación de Plone
Recursos y manuales: http://www.coactivate.org/projects/traducciones-plone/user-manual-1 http://labs.menttes.com/plone/material-de-charlas/zc-buildout-para-desarrolladores-plone/ http://plone.org/documentation/tutorial/installing-plone-3-with-the-unified-installer/running-the-unified-installer/ http://plone.org/countries/mx/buildout http://blog.jazkarta.com/2009/08/25/best-practices-in-deploying-and-optimizing-your-plone-site/
Plone Manualmente
Instalación “manual” versus zc.buildout Manejo de Plone manualmente
Los pasos para configurar un entorno de desarrollo:• Descargar, compilar y instalar Zope• Crear una instancia Zope y configurarla• Descargar y instalar Plone• Instalar productos y eggs adicionales • Agregar a la instancia productos que estoy
desarrollando
Plone Manualmente
Hacer este manualmente causa problemas: Lento para crear nuevos entornos de desarrollo Cada desarrollador hace su propio entorno:
diferencias en las configuraciones pueden desembocar en errores
Implementar actualizaciones y manejar dependencias de los productos adicionales lento
TODO ESTE SE PUEDE HACER AUTOMATICALMENTE CON BUILDOUT
Buildout
Opción preferida: Buildout Conjunto de partes y software para crear y
ensamblar esas partes Colección de configuraciones y aplicaciones
específicas Sistema de Python Eggs (productos de Python) y
setuptools para manejar la configuración de Zope & Plone
Manejo de configuración y paquetes adicionales desde solo un fichero de texto
Pero antes de meternos á Buildout... instalamos Zope y Plone!
La instalación con UnifiedInstaller
Manual de instalación (en inglés) http://plone.org/documentation/tutorial/installing-plone-3-with-the-unified-installer/tutorial-all-pages
Unified Installer es un paquete para instalar Zope, Plone y Python
También incluye un script de instalación que fomenta las buenas prácticas según la comunidad Plone
En caso de las problemas, si se ha usado Unified Installer es más probable encontrar solución del foro de discusió
UnifiedInstaller
Root vs. User instalación
– Root: instalación (preferible para producción)• /usr/local/Plone
• Se crea un usuario “plone”, poner el como un dueño de los ficheros, y configura para que Zope corre como un usuario “plone”
User: instalación
– Instalación $HOME/Plone
– Zope corre como un usuario quien ha hecho la instalación Instrucciones para la instalación:
http://tinyurl.com/yj3rlmr
UnifiedInstaller
Zeo o Standalone? UnifiedInstaller ofrece dos diferentes tipos de
instalaciones ZEO (Zope Enterprise Objects)
Puede tener varios procesos de clientes de Zope cuales comparten el mismo base de datos
Standalone Más facil para implementar, integrar y controlar.
La opción mejor para ambiente de pruebas y sitios que son muy grandes
Correr UnifiedInstaller Requirimientos: gcc (GNU Compiler Collection), g++ (C++
extensions para gcc), GNU Make, GNU tar, bzip2 y gzip para compresión
Instalación
Descargamos UnifiedInstaller (plone.org/products/plone) Lo desmpaacamos: tar -zxf Plone-3.VERSION-UnifiedInstaller.tar.gz
cd Plone-3.VERSION-UnifiedInstaller
./install.sh standalone
Contraseña temporal de Admin situa el fichero adminPassword Problemas para iniciar Zope son raras
Muchas veces la problema es que un otro proceso esta ocupando el puerto 8080 que Zope utiliza por defecto
Si todo fue bien se puede acceder:
http://localhost:8080 : mensaje de bienvenida http://localhost:8080/Plone : sitio Plone http://localhost:8080/manage : interfaz del administrador para
Zope (busca la contraseña en el archivo adminPassword.txt)
Buildout
Desde Plone 3.1 UnifiedInstaller utiliza Buildout por defecto
Manejamos la configuración y instalación automaticamente usando Fichero de configuración: buildout.cfg (situa en la
raíz de nuestra instancia, por defecto la carpeta llama zinstance)
Un script para construir la instancia según la información encontrado en dicho fichero de configuración: bin/buildout
buildout.cfg
Contiene varias secciones [buildout]
Opciones para todo el buildout Parts: se escribe los siguientes partes del buildout.cfg Find-links: se puede definir enlaces a los diferentes
repositorios para los eggs (por defecto se siempre busca tambien pypi)
extends = http://dist.plone.org/release/3.3/versions.cfg Eggs: Python eggs (productos adicionales) que se instala
– sqlalchemy>=0.3,<0.4dev [zope2]
Descarga el base de Zope / Plone Instalar una versión especifica:
recipe = plone.recipe.plone==3.0.1
buildout.cfg
[productdistros]
– Manejo de productos Zope del estilo viejo - “old-style Zope products”
– urls =
http://example.com/dist/ExampleProduct-1.0.tgz– Nested packaged = ExampleProductBundle-1.0.tgz
– Version-suffix-packages = AnotherExampleProduct-2.0.tgz
[instance] Crea nueva instancia de Zope, y define configuraciones de el Recipe = plone.recipe.zope2instance
Buildout.cfg en práctica
En terminos prácticos, más que todo se necesita modificar solo tres secciones en buildout.cfg [buildlout]
eggs = instalar Python eggs [productdistros]
urls = instalar Zope 2 productos [instance]
zcml = información de configuración de Python eggs
buildout.cfg
Para implementar cualquier cambio que se ha hecho a buildout.cfg, es necesario correr buildout en otra vez
– bin/buildout
– Por defecto hay que correr el script buildout en la carpeta zinstance (esta buscando buildout.cfg en la carpeta actual)
– Más información sobre los opciones para el script buildout: buildout --help
Las carpetas de Buildout
./bin/
Script “instance” para iniciar / parar la instancia de Zope, zopepy interpreter para hacer debug, y buildout
./eggs/
Paquetes eggs que buildout ha descargado automaticalmente
./develop-eggs/
Espceficación de los eggs que se estan desarrollando, se los definen en buildout.cfg
./downloads/
Ciertos recetas definido en buildout.cfg crear esta carpeta y trae los productos automaticalmente de los repositorios
Las carpetas de Buildout
./products/ Para instalar productos estilo Zope, se desempaca los
paquetes en esta carpeta y recorre buildout ./src/
Codígo fuente de los paquetes customizados ./var/
Base de Datos (data.fs), logs ./parts/
Una area manejado automaticalmente por Buildout No debería hacer cambios a esta carpeta (buildout
sobreescribe mayoría del contenido siempre cuando se lo recorre)
Recursos para Buildout
Más recursos sobre buildout http://plone.org/countries/mx/buildout http://plone.org/documentation/tutorial/buildout
Productos Adicionales
Componentes reusables que aumentan los funciones de Plone Core
Foros, galerias, blogs, herramientas de integración de base de datos, sistemas de contactos y formularios, etc. etc.
Repositorios y directorios para
www.plone.org/products www.contentmanagementsoftware.info Python Package Index: http://pypi.python.org
El desarrollo relativamente activa
14.-15.9.2009 10 nuevos productos adicionales (en total plone.org/products esta listando 3000 productos)
Productos adicionales
Se puede instalar productos a Plone con dos diferentes tecnologías “Old-style Zope 2 Products” Python eggs
Cuando Zope encuentra un producto, se lo agrega a ZMI Control_Panel/Products
Los productos instalados a Zope son disponibles para instalar en Plone a través de “Site setup” o “Configuración del sitio”
Productos estilo Zope 2
Productos de Zope 2 (hasta Plone 3 mayoría de los productos eran así) Se encuentran en paquetes de .tar.gz o .zip Instalación:
Agrega el URL del paquete a buildout.cfg (productdistros - urls)
desempaca el archivo a la carpeta /INSTANCE_HOME/Products/
Reinicia Zope y instala el producto a través de Configuración de Plone
Python eggs
Python eggs Paquetes de Python
Carpeta raíz tiene un fichero setup.py Nombre de productos es
“namespace”.”nombreDeProducto”, p.ej. plonetheme.mytheme
Productos creados por Paster Cheese Shop: Indicé de paquetes de Python
(repositorio central) (estilo p.ej. Dpgk de Debian)
Evaluación de Productos
Como saber si el producto sirve? Cual es el estado? Release candidate, beta,
alfa...?? Cual es el ciclo de actualizaciones? Cuando fue la
ultima actualización? Ver discusión en el foro de discusión
Se puede encontrar problemas que usuarios han tenido?
Existe documentación?
Evaluación de Productos
Instalación Nunca debe instalar los productos directamente a
una instancia de Zope en producción Aún después probando que todo funciona en una
instancia de desarrollo: Siempre debe tomar un respaldo de Data.fs
Prueba de instalar un skin http://plone.org/products/plonetheme-stylized/
Instalación de un Skin
Entramos a PYPI: http://pypi.python.org Buscamos a un producto que se llama
Plonetheme.Stylized Veremos las instrucciones para la instalación Entramos a buildout.cfg Entramos la información necesario a sus
propios lugares [buildout] eggs = ... [instance] zcml = ...
Configuración del Sitio
Para entrar a configuración del sitio http://localhost:8080/Plone/plone_control_panel O a través del enlace “Site Setup” o “Configuración
del sitio”
Primero cambiamos la lengua: Entra a Language Elige Spanish Haga clic en Save
Busqueda
Entramos a Busqueda “Habilita la característica LiveSearch, que
muestra resultados en tiempo real si el navegador soporta JavaScript.”
Opciones para eligir que tipos de contenido se muestra en los resultados del busqueda
Se puede agregar nuevos tipos de contenido Productos adicionales frecuentemente tiene
sus propios tipos
Calendario y Correo
Calendario Eligir el primer día de semana Y que estados de los elementos se muestra en el
calendario
Correo Indica Servidor SMTP Puerto, Usuario, contraseña Nombre y dirección del remitente
El formulario general de contacto envia correos a esta dirección
Errores y Etiquetado
Errores “Esta página lista las excepciones que han ocurrido
en este sitio recientemente. Puede configurar cuántas excepciones deberían guardarse y cuáles deberían ser copiadas al/a los archivo(s) de eventos de Zope.”
Enlaces a los error logs
Decidir que tipo de etiquetado (o markup) los usuarios pueden utilizar
Permite / prohibe el comportamiento wiki
Filtrado HTML
Se filtra las etiquetas de HTML que son consideradas como un riesgo de seguridad
Debe cuidarse en haciendo cambios Por defecto, sólo están permitidas las etiquetas
definidas en XHTML En particular, para permitir 'embed' como
etiqueta debe de eliminarla de 'Etiquetas no deseadas' y agregarla como 'Etiquetas personalizadas'
ZMI y mantenimiento
Interfaz de Administración de Zope La configuración de sitio desde Plone
Por ejemplo, cambios a flujo de trabajo, CSS, xhtml / page templates, vistas
Mantenimiento Cerrar / reiniciar el servidor Zope Tamaño de base de datos Días del histórico de un objeto a mantener tras la
compactación
Navegación
Como se construye la navegación Generar pestañas automáticamente Generar pestañas para elementos que no sean
carpetas Tipo de contenido mostrados
Que tipos de contenido mostramos en la navegación
Filtro sobre el estado del flujo de trabajo
Reglas de Contenido
Las reglas realizarán acciones en el contenido de forma automática al dispararse ciertos eventos Por defecto hay cuatro disparadores
Objeto agregado a una carpeta Objeto modificado Objeto eliminado / movido de un contenador El estado de flujo de trabajo cambiado
Agrega condiciónes y acciones Por ejemplo: evia un correo cuando alguien de un
grupo X agrega un fichero de PDF y hace un copia automaticamente de dicho ficher
Seguridad
Habilitar autoregistro Permite a los usuarios registrarse a sí
mismos en el sitio. Por defecto sólo los administradores pueden agregar usuario
Permite a los usuarios elegir sus propias contraseñas Si no se selecciona, las contraseñas serán
generadas automáticamente y enviadas por correo a los usuarios, verificando así que han introducido una dirección de correo válida.
Seguridad
Habilitar Carpetas de Usuario Las carpetas de inicio, donde los usuarios
pueden crear su contenido personal, serán creadas cuando inicien una sesión (en la carpeta /Plone/Members/USUARIO)
Permite que cualquiera vea la información 'acerca de' Si no se selecciona, sólo los usuarios
conectados podrán ver información sobre el creador de un elemento y sobre cuándo fue modificado.
Sitio
Título & descripción del sitio Habilitar edición rápida
Usa javascript para poder modificar el contenido de diferentes elementos rapidamente (solo un clic)
Habilitar comprobaciones de integridad de enlaces Determina si los usuarios deberían recibir
advertencias cuando eliminan o mueven contenido que está enlazado dentro del sitio
Sitio
Habilitar funcionalidad de Editor Externo Determina si la funcionalidad de editor
externo está habilitada. Esta característica requiere una aplicación especial instalada en el cliente.
Exponer sitemap.xml.gz en la raíz del portal Expone su contenido como un archivo según
los estándares. Puede enviarlo a motores de búsqueda que soporten este estándar. Permite a estos motores de búsqueda examinar su sitio de forma más inteligente.
Sitio
Soporte JavaScript para estadísticas web Para habilitar el soporte de estadísticas web
de proveedores externos (por ejemplo, Google Analytics). Pegue los trozos de código suministrados. Serán incluidos en el HTML generado, tal y como se han introducido, al final de la página.
Temas
Elige la tema para el sitio Solo una tema instalado a la vez en la sección de
Productos adicionales
Marcar enlaces externos Si está habilitado, todos los enlaces externos
serán marcados con iconos específicos según el tipo de enlace.
Los enlaces externos se abren en una nueva ventana
Mostrar los iconos de tipo de contenido
Tipos
La configuración de workflow, visibilidad y versionado para sus tipos de contenido Manejo de visiblidad, flujo de trabajo y política de
versiones de los tipos de contenido Se puede permitir comentarios globalmente Visible en los busquedas o no Muestra portlets para un tipo de contenido Cambia el flujo de trabajo del tipo de contenido
Usuarios y Grupos
Manejo de Usuarios, Grupos y sus Roles Usuarios
Por defecto correo debe ser configurado Ve la configuración de Correo
Agrega los roles para los usuarios Por defecto hay cuatro roles
Contribuyente (puede agregar) Editor (puede editar) Reader (puede leer el contenido de otros) Revisor (puede publicar) Administrador (puede acceder a Configuración del
Sitio, y Zope)
Visual Editor
Opciones para el editor visual de Plone: Kupu Agregar nuevos estilos disponibles Agrega nuevos funciones para el editor a través de
la barra de herramientas Más información en la pestaña Documentación