[Plone-conosur] Directorio web avanzado

Santiago Videla santiago.videla en gmail.com
Sab Sep 6 01:49:47 UTC 2008


Buenas,

Claramente, si les gusta Plone y quieren hacer desarrollos basados en Plone,
van a tener que aprender python. Sin embargo me parece que se pueden hacer
muchas cosas sin ser un experto, y ademas python no es dificil de aprender.
Asique no lo veo como un impedimento

Efectivamente, creo que ArchGenXML le hace la vida mas facil a la gente que
empieza con Archetypes y Plone. Pero para hacer cosas mas o menos complejas,
vas a necesitar entender algo de python, objetos, UML, plone, zope.

Por ejemplo:


> > ¿Puede "abrirse" el archivo link.py con ArchGenXML 2 y trabajar sobre él
> > añadiéndole los campos y demás opciones que necesitemos? Es decir:
> ¿podemos
> > hacer una versión ampliada de link.py usando ArchGenXML 2?
>

Si. Pero en realidad no "abris" link.py con ArchGenXML

archgenxml es un script python que genera codigo para Plone desde un
diagrama UML que siga un formato determinado.
Ese diagrama lo harias con ArgoUML por ejemplo o algun programa para
trabajar con UML.

Ahora bien, trabajando con UML, se siguen los conceptos de la programacion
orientada a objetos.
Entonces lo que vos necesitarias es heredar de la clase que define el tipo
de contenido Link (Enlace) y agregar campos o metodos con la herencia de
objetos.

Justamente esa clase Link, esta definida en link.py y segun dice el manual
de archgenxml:

[...]
Deriving from other Products

If you want to derive from a class of an other product create a stub class
with a tagged value 'import_from': This will generate a import line from
VALUE import CLASSNAME in classes derived from this class.

...

Entonces cuando generes el codigo, te va a quedar algo asi:

from Products.ATContentTypes.content.link import Link

...

class MiLinkExtendido(Link):

     ....

Si estas muy perdido y no entendes nada (como me paso a mi cuando arranque),
quizas te sirva ver algunos videos:

http://plone.tv/search?SearchableText=archgenxml


Saludos

>
> Según
> http://plone.org/products/archgenxml/documentation/how-to/subclassing-atcontenttypes
> parece que sí, pero yo nunca lo he hecho, y en esta página no explica
> demasiado. Quizá alguien más ducho en ArchGenXML te pueda ayudar con
> esto.
>
> > Israel Saeta Pérez wrote:
> >>
> >> Te equivocas. :-)  Mi sugerencia era meter las fichas también en una
> >> base de datos relacional. Para saber si te conviene usar esta
> >> solución, piensa en si tienes intención de crear formularios de
> >> búsqueda que incluyan (casi) todos los campos que vas a escribir en
> >> cada ficha. En caso afirmativo, te conviene usar un modelo relacional.
> >> En el caso de que sólo quieras buscar por un par de campos, es mejor
> >> usar Archetypes.
> >>
> >> Esto lo digo porque para realizar búsquedas eficientes en la ZODB
> >> necesitarías usar ZCatalogs, y si vas a meter todos los campos en el
> >> ZCatalog mejor lo almacenas todo directamente en la base de datos
> >> relacional. (Esta explicación es para los entendidos de la lista ;-)
> >>
> >
> > En nuestro caso, queremos que la gente pueda localizar las fichas de las
> > entidades recomendadas de varias maneras:
> >
> > 1.- Navegando por las carpetas y subcarpetas temáticas en las que
> > clasifiquemos las fichas.
> >
> > Para esto creo que no necesitamos una base de datos relacional.
>
> Efectivamente, no.
>
> > 2.- Buscando por palabras clave.
> >
> > Por lo que he visto, el buscador de Plone (incluyendo su opción de buscar
> > "sólo en la sección actual" y el formulario de búsqueda avanzada por
> > contenido) es más que suficiente para este tipo de búsquedas.
>
> No recuerdo lo de "sólo en la sección actual", pero los ZCatalog
> aceptan rutas base, así que esta funcionalidad la tienes de serie.
>
> > 3.- Buscando por categorías (en nuestro caso, Derechos humanos, de los
> > animales, desarrollo sostenible, Software Libre,...).
> >
> > Me da la impresión de que las opciones por defecto de Plone son
> suficientes:
> > lista de elementos de una categoría y formulario de búsqueda avanzada por
> > contenido.
>
> Si por categorías te refieres al campo donde puedes añadir una lista
> de palabras clave, ese también está indexado en el catálogo, sí.
>
> > 2 y 3.- Para mejorar estas dos opciones de búsqueda, quizás podría
> > personalizarse algún portlet, widget o formulario de búsqueda avanzada,
> para
> > que sólo busque dentro de las fichas del directorio, aunque por lo que he
> > visto, intuyo que ésta es una cuestión independiente. ¿Estoy en lo cierto
> o
> > vuelvo a equivocarme?
>
> Sí, podrías personalizar los formularios de búsqueda, pero eso
> requiere entender Python, tenlo muy en cuenta.
>
> > 4.- Búsqueda por territorios
> >
> > Creo que sería lo único a añadir al ZCatalog. Los campos (menús
> desplegables
> > o similar) serían, cómo mínimo, los siguientes: País, Provincia y
> Localidad
> > (si fuera posible, también nos gustaría intercalar otros:
> > CCAA/Región/Estado, Comarca y Municipio).
> >
> > ¿Qué tendríamos que añadir al ZCatalog? ¿Sólo los 3 o 6 campos indicados
> o
> > también las miles de opciones resultantes de los mismos (todos los
> países,
> > provincias, localidades,... de las entidades que vayamos dando de alta)?
> Si
> > fuera la primera opción, creo que podríamos tener las fichas en Plone y
> los
> > comentarios y/o valoraciones en MySQL, ¿no?
>
> Al catálogo tienes que añadir todos aquellos campos que quieras poder
> filtrar en una búsqueda y que no vengan por defecto en portal_catalog.
> Es decir, los 3 o 6 campos indicados.
>
> >
> > Aparte, también nos gustaría que los usuarios registrados pudieran
> valorar
> > las entidades dadas de alta (por ejemplo, asignándoles distintas
> > puntuaciones en las categorías a las que pertenezcan: 10 en Derechos
> > humanos, 8 en Derechos de los animales, 9 en Desarrollo sostenible, Sin
> > puntuar (-) en Software Libre,...) y que los resultados de las búsquedas
> > pudieran ordenarse en función de estas valoraciones.
> >
> > ¿Sería posible esto? ¿Con arquetipos o con MySQL asociada? ¡Ufff!
> ¡Cuántas
> > dudas! :confused:
>
> Existen productos para poner valoraciones generales a contenidos, pero
> no creo que en principio puedas puntuar cada categoría a la que
> pertenece. También puedes usar una base de datos relacional para
> almacenar las puntuaciones si quieres, sí. La clave se llama
> SQLAlchemy.
>
> > Israel Saeta Pérez wrote:
> >>
> >>> 1.- ¿Qué diferencia hay entre usar archetypes.schemaextender y extender
> >>> el
> >>> propio esquema del arquetipo?
> >>
> >> archetypes.schemaextender, si no lo entendí mal, sirve para añadir y
> >> quitar campos "al vuelo" de un tipo de contenido ya definido, como
> >> puede ser el tipo Enlace de Plone. Extender el esquema del arquetipo
> >> Enlace implicaría crear *otro* tipo de contenido, que incluiría los
> >> mismos campos del enlace más otros que definas tú.
> >>
> >
> > Gracias. He localizado y leído/visto un par de artículos y un vídeo de
> > presentación de archetypes.schemaextender. Interesante herramienta,
> aunque
> > creo que en nuestro caso nos interesa más crear un nuevo tipo, porque las
> > fichas de las entidades recomendadas tendrán reglas de permiso, flujos de
> > trabajo,... propias y distintas de las de los Enlaces por defecto de
> Plone
> > (el tipo Enlace nos interesa mantenerlo para poder incluir este tipo de
> > elemento en carpetas ajenas al directorio de entidades).
> >
> > Además, cuando terminemos el directorio de entidades, queremos crear un
> > directorio de artículos o productos recomendados (ej.: cargador solar
> > portátil para teléfonos móviles/celulares, reproductores musicales,...;
> > pedales con iluminación cinética para bicicletas; champús no probados en
> > animales; etc.) y nos gustaría que los Enlaces genéricos de Plone, las
> > Fichas de entidades y las Fichas de artículos/productos tengan sus
> propios
> > iconos diferenciados, para que en los resultados de búsquedas generales
> en
> > el sitio web se distinga más claramente el tipo de recurso que es cada
> uno
> > (simple enlace, entidad o artículo/producto).
> >
> > Por estas razones, creo que nos interesa más usar los arquetipos para
> crear
> > nuestros propios tipos de objetos. ¿Correcto?
>
> Sí, en este caso os interesa más crear nuevos tipos de contenido
> usando Archetypes en vez de adaptar los ya existentes.
>
>
> Si quieres un día charlar por el IRC para aclarar las dudas más
> rápido, yo suelo estar en la red de freenode en #zope-es y en
> #plone-conosur, además de en #plone claro.
>
>
> --
> Israel Saeta Pérez
> http://dukebody.com
>
> _______________________________________________
> Plone-ConoSur mailing list
> Plone-ConoSur en lists.plone.org
> http://lists.plone.org/mailman/listinfo/plone-conosur
>
>


-- 
Santiago Videla
www.revolucionesweb.com.ar
http://www.linkedin.com/in/svidela

Sigue la mata dando de que hablar siempre abajo y a la izquierda donde el
pensamiento que se hace corazón resplandece con la palabra sencilla y
humilde que l en s tod en s somos.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.plone.org/pipermail/plone-plone-conosur/attachments/20080905/1114d585/attachment-0002.html>


Más información sobre la lista de distribución Plone-ConoSur