<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>el blog de cHagHi (Publicaciones sobre moinmoin)</title><link>https://chaghi.com.ar/</link><description></description><atom:link rel="self" type="application/rss+xml" href="https://chaghi.com.ar/tags/moinmoin.xml"></atom:link><language>es</language><lastBuildDate>Thu, 13 Jul 2017 23:27:40 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Migrando la página de PyAr a MoinMoin</title><link>https://chaghi.com.ar/blog/migrando_la_pagina_de_pyar_a_moinmoin/</link><dc:creator>cHagHi</dc:creator><description>&lt;div&gt;&lt;p&gt;[Actualizado el 05/02/2006]&lt;/p&gt;
&lt;p&gt;Hace un par de semanas, motivado por el virtual abandono del sitio
oficial de &lt;a class="reference external" href="http://python.org/ar"&gt;PyAr&lt;/a&gt;, y alentado por algunas opiniones que se generaron en
la lista de correo, decidí hacer una prueba piloto sobre como quedaría
el portal de PyAr basado completamente en un &lt;a class="reference external" href="http://es.wikipedia.org/wiki/WikiWiki"&gt;Wiki&lt;/a&gt;, más precisamente,
en &lt;a class="reference external" href="http://moinmoin.wikiwikiweb.de/"&gt;MoinMoin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Actualización&lt;/strong&gt;: el portal original en Zope/Plone al que se refiere
este artículo, está en &lt;a class="reference external" href="http://plone.python.com.ar"&gt;http://plone.python.com.ar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tenía pendiente escribir un poco sobre este tema, porque algunas
experiencias y los fundamentos (el por qué) de la migración me parecen
interesantes. Pero antes que nada, algunas aclaraciones:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Si no te interesa Python y/o no estás relacionado de alguna manera
con PyAr o alguna otra comunidad de usuarios de Python, o no te
interesa leer sobre el mantenimiento y la administración de un
portal, probablemente podrías pasar este artículo de largo.&lt;/li&gt;
&lt;li&gt;Es un trabajo en progreso. Aún no hay nada implementado, ni nada para
ver (al menos oficialmente...). Ni siquiera está dicha la última
palabra respecto a que este laburo va a terminar reemplazando el
sitio actual de PyAr. Bien podría pasar al olvido como un intento.
[&lt;strong&gt;Actualización&lt;/strong&gt;: pocos días después de escribir este artículo,
finalmente migramos a MoinMoin... y todo esto dejó de ser un trabajo
en progreso para ser una realidad :) ]&lt;/li&gt;
&lt;li&gt;Las opiniones que expreso acá no necesariamente representan la
opinión de PyAr. Digamos que estamos de acuerdo en que el portal
necesitaba urgente una renovación (probablemente si no no estaría
laburando en esto, y escribiendo este post). Pero en lo que respecta
a la necesidad de abandonar &lt;a class="reference external" href="http://www.zope.org/"&gt;Zope&lt;/a&gt; y &lt;a class="reference external" href="http://plone.org/"&gt;Plone&lt;/a&gt;, y cambiar de
tecnología, las opiniones están más divididas.&lt;/li&gt;
&lt;li&gt;Tengo una opinión personal bastante negativa hacia Zope y Plone, y
esto se que es un punto conflictivo. Así que vale la pena aclarar que
mi opinión debe leerse en el contexto del portal de PyAr, y nuestras
necesidades. Probablemente en otros contextos sean la mejor
alternativa que existe. Y también es importante destacar que nunca
tuve suficientes motivaciones para aceptar el desafío de escalar la
empinada curva de aprendizaje de Zope y ver que hay del otro lado.
Por lo tanto, admito abiertamente que en lo que respecta a Zope,
están leyendo la opinión de un newbie.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="hay-que-hacer-algo"&gt;
&lt;h3&gt;Hay que hacer algo&lt;/h3&gt;
&lt;p&gt;Cualquiera que entre a la página de PyAr a la fecha de redacción de este
artículo, verá que está desactualizada. Muy. Y desde hace mucho. Eso es
una porquería, habla mal de nosotros, y no podemos ser una comunidad
digna de Python con un portal en ese estado.&lt;/p&gt;
&lt;p&gt;Es el producto de muchas horas de esfuerzo, está hecho con la
colaboración y la buena voluntad de mucha gente, y tiene detalles de
diseño y contenidos que están realmente muy bien. Pero tomándolo como un
todo, en su estado actual, es vergonzozo :(&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="por-que-se-llego-a-esto"&gt;
&lt;h3&gt;¿Por qué se llegó a esto?&lt;/h3&gt;
&lt;p&gt;Por un lado, porque la herramienta de comunicación principal de PyAr es
la lista de correo. Esto es algo que se dió así. Incluso podríamos
debatir si esto es una consecuencia de que el portal no sea bueno, y
entrar en una recursión interesante ;)&lt;/p&gt;
&lt;p&gt;Pero en concreto, lo que pasa en PyAr, pasa por la lista. Eso hace que
prácticamente ninguno de los miembros activos ingrese al portal como
para decir "uy! esto está completamente desactualizado!".&lt;/p&gt;
&lt;p&gt;La segunda causa, es la dupla Zope + Plone. Es innecesaria- y
extremadamente compleja para nuestros propósitos. Normalmente, la gente
que tiene tiempo de dedicarse al contenido del portal, no tiene el
conocimiento para lidiar con Zope (o Plone). Cuando intenta lidiar con
él, se encuentra con que algo que debería llevar 5' se transforma en una
tarea de 30', con la ayuda de Google, y mucha buena voluntad. Obvio,
esto es porque esa persona no conoce a fondo la herramienta... pero eso
nos lleva al segundo grupo de gente: La gente de PyAr que sabe de Zope,
no tiene tiempo para administrarlo, o no tiene acceso a hacerlo (por
restricciones de seguridad).&lt;/p&gt;
&lt;p&gt;Resultado: Para los que quieren aportar contenido, Zope y Plone
representan una barrera de entrada demasiado alta.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="como-resolver-el-problema"&gt;
&lt;h3&gt;¿Cómo resolver el problema?&lt;/h3&gt;
&lt;p&gt;Basándonos en lo anterior, y suponiendo que el diagnóstico sea correcto
;) hay dos frentes para atacar:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Lograr que el portal gane en contenidos, para que parte de la
dinámica del grupo pase por ahí, y sea más fácil mantenerlo integrado
a nuestras actividades. De esa forma, para nosotros se transforma en
una herramienta actualizada, y el efecto colateral es que los
visitantes ocasionales se encuentran con un portal más digno :)&lt;/li&gt;
&lt;li&gt;Hacer que sea fácil para todos (o la gran mayoría) de los miembros de
PyAr generar contenido, de manera que cuando alguien tiene 10' de su
tiempo para realizar un aporte, pueda invertir el 100% de su tiempo
en eso, en el contenido, y no en pelear con la herramienta.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;... y miren que loco como están relacionados los dos cursos de acción.
Son un hermoso círculo virtuoso.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="solucion-pongamos-un-wiki"&gt;
&lt;h3&gt;Solución: pongamos un Wiki&lt;/h3&gt;
&lt;p&gt;Quizás no sea la única alternativa. Pero estamos casi convencidos que es
la mejor. ¿Por qué? Porque está pensado precisamente para que la
generación y la administración del contenido pase por un grupo de gente
amplio, sin tener que depender de roles de editores o revisores o
escritores. Después se verá que páginas del wiki requieren algún permiso
especial para tocarse, o cuales son los requisitos mínimos para poder
editar contenido (¿registrarse? ¿ser miembro de la listsa?), pero lo
importante es que nos da la posibilidad de tener un camino rápido y
dinámico para generar contenido.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="por-que-no-zwiki"&gt;
&lt;h3&gt;¿Por qué no ZWiki?&lt;/h3&gt;
&lt;p&gt;El portal actual tiene un wiki (ZWiki), montando sobre Plone (¿o es
sobre Zope? Vaya uno a saber... :p)&lt;/p&gt;
&lt;p&gt;De hecho, gran parte del contenido está ahí, y en su momento, ayudó
bastante a destrabar la primera paralización que sufrió el portal (si!
La historia de PyAr es corta, pero ya vamos por la segunda crisis de
portal :p)&lt;/p&gt;
&lt;p&gt;El tema es que necesitamos un Wiki, sin todo el resto. Sin estar
embebido en la estructura de portlets y permisos y parafernalia de
configuración de ninguna otra cosa. Porque aún cuando se pudiera
personalizar más la combinación de Zope + Plone + ZWiki para ocultar la
complejidad del resto, y todo aquello que no usamos, la realidad es que
no hay nadie que reuna los conocimientos, las ganas y el tiempo
necesario.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="por-que-python-powered"&gt;
&lt;h3&gt;¿Por qué Python Powered?&lt;/h3&gt;
&lt;p&gt;Cuando empezamos a proponer alternativas, surgió que en PyAr hay dos
opiniones claramente divididas respecto al lenguaje en el que esté
desarrollada la herramienta que usemos:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Los que no nos importa tanto, y consideramos que lo importante es la
funcionalidad que brinde la herramienta y su usabilidad;&lt;/li&gt;
&lt;li&gt;Los que tienen una opinión cuasi-religiosa respecto a que el portal
de PyAr tiene que ser Python Powered, y están dispuestos a iniciar
una cruzada para defender su causa :p&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto hizo que &lt;a class="reference external" href="http://www.mediawiki.org/wiki/MediaWiki"&gt;MediaWiki&lt;/a&gt; (realizado en PHP), que para mí era la mejor
alternativa (inspirado en las experiencias recientes de los portales de
&lt;a class="reference external" href="http://www.mono-project.com/Main_Page"&gt;Mono&lt;/a&gt;, &lt;a class="reference external" href="http://www.hula-project.org/Hula_Server"&gt;Hula&lt;/a&gt;, &lt;a class="reference external" href="http://tango-project.org/Tango_Desktop_Project"&gt;The Tango Desktop Project&lt;/a&gt;, &lt;a class="reference external" href="http://beaglewiki.org/Main_Page"&gt;Beagle&lt;/a&gt;, ...) quedara
descartado.&lt;/p&gt;
&lt;p&gt;PyAr es una comunidad, y la idea es sumar, no dividir. Así que aquellos
a quienes nos daba casi lo mismo, nos decantamos por la alternativa de
Python. Si de acercar posiciones se trata... era el camino lógico, ¿no?&lt;/p&gt;
&lt;p&gt;Más allá del argumento "religioso", Lucio Torre dió después un argumento
mucho más sólido: Si en algún momento nos topamos con un bug de la
herramienta, o queremos extenderla, o queremos customizar algo que
requiera meter mano en el código, o queremos contribuir en algo con el
proyecto... más vale que esté hecho en Python, porque somos un grupo de
usuarios de Python, y se supone que nos gusta mucho más echar código en
ese lenguaje que en PHP o Ruby o cualquier otra cosa.&lt;/p&gt;
&lt;p&gt;Y eso terminó de convencerme: Si estaba dispuesto a invertir tiempo en
armar una prueba piloto en mi casa, en mi PC, con alguna otra
herramienta, más vale que fuera en Python.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="por-que-moinmoin"&gt;
&lt;h3&gt;¿Por qué MoinMoin?&lt;/h3&gt;
&lt;p&gt;Acá no hubo que pensar tanto... el &lt;a class="reference external" href="http://www.python.org/moin/"&gt;wiki oficial de Python&lt;/a&gt; corre desde
hace años (¿desde siempre?) en MoinMoin, &lt;a class="reference external" href="http://www.pythonbrasil.com.br/"&gt;Python Brasil&lt;/a&gt; usa MoinMoin,
y en popularidad, historia y cantidad de implementaciones, Wiki + Python
= MoinMoin. Punto.&lt;/p&gt;
&lt;p&gt;También llegamos a evaluar &lt;a class="reference external" href="http://projects.edgewall.com/trac/"&gt;Trac&lt;/a&gt;, pero lo descartamos porque si bien
posee un Wiki, no es un wiki. Está orientado a la administración y
documentación de un proyecto de software, y no a armar un portal
comunitario. Por más que parece un buen producto, y está de moda, no
estábamos seguros como se adaptaría a nuestro caso de uso. Todavía no
está tan maduro. Y lo que terminó impidiendo que al menos le diéramos
una oportunidad, es que solo está en inglés. Oficialmente no hay
versiones internacionalizadas, y los esfuerzos de internacionalización
están en el ToDo, recién para después de la versión 1.0. Y más vale que
no íbamos a poner el portal de Python Argentina en inglés...&lt;/p&gt;
&lt;p&gt;Sé que hay algunos productos derivados de MoinMoin. Probablemente haya
más alternativas... y lo que es seguro es que no las evaluamos todas.
Pero allá fuimos... a por MoinMoin.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="so-far-so-good"&gt;
&lt;h3&gt;So far, so good&lt;/h3&gt;
&lt;p&gt;La instalación resultó más compleja que la de MediaWiki, pero está muy
bien documentada. En general, la doc de Moin es muy buena.&lt;/p&gt;
&lt;p&gt;Por lo demás, fue cuestión de migrar contenido (como era poco, y el
markup de ZWiki no es tan diferente al de MoinMoin, lo hice
manualmente), y reorganizarlo. Podría haberse automatizado, pero fue una
buena oportunidad de repasar todos los textos, corregir errores, e ir
definiendo la nueva organización sobre la marcha.&lt;/p&gt;
&lt;p&gt;A medida que fui jugando, descubrí o aprendí a valorar mucho algunas
características:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;No hay base de datos. Las páginas son archivos de texto, con el mismo
markup en crudo, con los mismos nombres, y con la misma estructura
jerárquica. No solo facilita la administración (no hay que lidiar con
un RDBMS), sino que abre la puerta a acceder de manera transparente a
los datos desde afuera del wiki, para mantenimiento, backup, o para
procesos masivos, como agregar o sacar algo de todas las páginas.&lt;/li&gt;
&lt;li&gt;Moin soporta múltiples configuraciones: Personal, CGI, basada en
&lt;a class="reference external" href="http://twistedmatrix.com/"&gt;Twisted&lt;/a&gt;, con lo cual nos da flexibilidad en los requerimientos del
hosting, y nos permite jugar con diferentes configuraciones en caso
que tengamos que escalar o arreglar algún tema de performance.&lt;/li&gt;
&lt;li&gt;Es muy extensible. Hay muchas "macros" estándares. Hay todo un juego
de macros populares, que tienen bastante historia y están probadas y
siguen el desarrollo de MoinMoin. Y lo que es mejor, las extensiones
son muy fáciles de escribir (bah, al menos la API es sumamente
sencilla). En caso de querer realizar algo particular, que no esté
cubierto por ninguna macro existente, no sería complejo escribir
nuestra propia macro.&lt;/li&gt;
&lt;li&gt;El markup estándar es sencillo de aprender. Pero además, hay parsers
para escribir en &lt;a class="reference external" href="http://moinmoin.wikiwikiweb.de/HelpOnParsers/ReStructuredText"&gt;reStructuredText&lt;/a&gt;, coloreo de sintaxis de Python,
y la posibilidad de &lt;a class="reference external" href="http://moinmoin.wikiwikiweb.de/DocBook"&gt;generar un documento DocBook&lt;/a&gt; a partir del
wiki!!! Eso está buenísimo... se me ocurre que el día de mañana, si
necesitamos generar desde PyAr alguna doc formal, podemos escribirla
entre todos, y luego generar el DocBook estándar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lo único que todavía necesita un poco más de trabajo, es la
internacionalización, al menos en castellano. Pero bien podría ser la
contribución de PyAr a MoinMoin: Completar la traducción de las páginas
de ayuda que faltan, traducir algunos strings de la interfaz que están
en inglés, etc.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="estetica"&gt;
&lt;h3&gt;Estética&lt;/h3&gt;
&lt;p&gt;Uno de mis mayores prejuicios respecto a MoinMoin era que todos los
wikis que había visto, están casi sin personalización, basados en dos o
tres "themes" estándar, bastante crudos. Y yo estaba obsesionado con la
estética que &lt;a class="reference external" href="http://linuxart.com/"&gt;Garrett LeSage&lt;/a&gt; y otros le habían dado a los sitios que
mencionaba más arriba, basados en MediaWiki.&lt;/p&gt;
&lt;p&gt;Pero después descubrí que esa personalización de MediaWiki no es
sencilla, no está documentada... y yo no soy Garrett. Y que es posible
personalizar a fondo MoinMoin también. Con esfuerzo, pero es posible.&lt;/p&gt;
&lt;p&gt;Ya dimos los primeros pasos, y no fue tan complejo: Crear un nuevo tema,
"pyar", basado en el estándar "modern", limpiar el layout, mejorar las
fuentes, personalizar un poco los colores. Con el tiempo, será cuestión
de ir agregando detalles.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="conclusion"&gt;
&lt;h3&gt;Conclusión&lt;/h3&gt;
&lt;p&gt;La renovación del portal de PyAr es posible, y está en marcha. Hay pilas
de mucha gente para tener un portal mejor, y varias personas se
engancharon con la idea, y hasta estuvieron jugando con el portal de
prueba.&lt;/p&gt;
&lt;p&gt;El feedback recibido hasta ahora fue positivo, a todos les está
gustando. MoinMoin está probando ser una mejor alternativa que Zope +
Plone para nuestras necesidades, aunque por ahora es casi una
hipótesis... habrá que ver, si migramos, como terminan dándose las cosas
en la práctica, con el sitio real, y con el tiempo.&lt;/p&gt;
&lt;p&gt;Si todo sigue como hasta ahora, en pocos días más estaríamos en
condiciones de hacer la migración definitiva. :)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>moinmoin</category><category>pyar</category><category>Python</category><category>Software</category><guid>https://chaghi.com.ar/blog/migrando_la_pagina_de_pyar_a_moinmoin/</guid><pubDate>Thu, 26 Jan 2006 03:49:26 GMT</pubDate></item></channel></rss>