domingo, 30 de diciembre de 2007
Definiendo la arquitectura general
Por otro lado, teniendo en cuenta las ventajas inherentes al uso de patrones de diseño, lo más lógico sería utilizar el patrón de diseño MVC (Modelo-Vista-Controlador).
Pues bien, ya que si desarrollásemos el wiki desde cero lo haríamos organizando la arquitectura (a alto nivel) por capas mediante el patrón MVC, sería ideal escoger como base para la arquitectura un wiki que estuviese implementado siguiente dicho patrón de diseño. En nuestro caso tenemos 2: JSPWiki y bitweaver. El primero, como ya se señaló en entradas anteriores, está mejor construido que el segundo, que aprovecha lo poco estricto que es PHP en muchos sentidos para realizar un desarrollo mezclando paradigmas estructurado y orientado a objetos, por poner un ejemplo.
En conclusión, considero que la arquitectura "general" de JSPWiki es la más idónea de todos los wikis que son objeto de estudio.
Por otro lado, ahora el trabajo consistirá en "entrar" dentro de cada capa y tratar de estructurarla mediante patrones de diseño.
¡A trabajar!
sábado, 22 de diciembre de 2007
Vuelta al trabajo
En primer lugar, he decidido mantener la decisión de utilizar JSPWiki. Para justificar esta decisión, diré a modo de resumen (para saber más detalles recomiendo leer las entradas anteriores del blog) que se trata de uno de los más interesantes.
Por otro lado, descarto ScrewTurn Wiki, que si llegó tan adelante fue por ser el más indicado dentro de su lenguaje.
Sin embargo, el wiki bitweaver sí considero que tiene la calidad suficiente como para continuar trabajando con él (más detalles en las entradas anteriores).
En cuanto a los wikis descartados, Daisy wiki es, teniendo en cuenta el proyecto que se pretende desarrollar uno de los más interesantes. Esto es así debido a su arquitectura interna, que, como expliqué en entradas anteriores, está dividida en dos partes: un respositorio accesible a través de servicios web REST y una interfaz web.
XWiki parece también un wiki interesante tras el análisis, todavía no muy profundo realizado. Además, a estas alturas, ya tienen actualizado el servidor de documentación, que era la única pega que le encontré en estudios anteriores al wiki.
En conclusión, éstos son los wikis que considero más interesantes desde el punto de vista de la arquitectura interna:
- bitweaver
- Daisy wiki
- JSPWiki (Java)
- XWiki
Ahora el trabajo consistirá en encontrar los puntos fuertes de cada uno en cuanto a su arquitectura, la manera de aunarlos todos en uno, analizar el posible uso de patrones de diseño para resolver ciertos problemas,...
¡A por ello!
domingo, 9 de diciembre de 2007
MI decisión final
Arquitectura externa
Lo primero que hice cuando me decidí a elegir uno de los tres candidatos "finalistas" fue volver a realizar la comparación de wikimatrix. Tal y como era de esperar la comparación dio como resultado que todos son bastante parejos en características, especialmente en las más relevantes (lógico, pues habían pasado la criba inicial en función de estas características). En cuanto a las menos relevantes, cabe destacar que ScrewTurn wiki es el traducido a más lenguas, mientras que los otros dos, sólo disponen de interfaz en inglés. Por otra parte, en el resto de aspectos están en general más fuertes JSPWiki y bitweaver, aunque las características peores de uno suelen coincidir con las mejores del otro de manera que, por decirlo de alguna manera, se compensan y ninguno destaca por encima del otro. Conclusión: si cabe, el peor hasta ahora es ScrewTurn.
Arquitectura interna
En primer lugar, cabe destacar la poca versatilidad que le confiere al wiki ScrewTurn la necesidad del framework .NET (teóricamente paliable a través del ya citado Proyecto Mono.
Por otro lado, si entramos a estudiar someramente la arquitectura de los 3 wikis, veremos que es el único que no utiliza el patrón de diseño MVC, lo que lo relega casi irremediablemente a la tercera plaza. Continuemos con los otros dos. Sabmos que ambos están implementados siguiendo el patrón de diseño MVC, lo que los hace relativamente parecidos. Sin embargo, tal como se puede comprobar si se examina el código detalladamente, los desarrolladores de bitweaver aprovechan la manga ancha que da PHP a la hora de codificar para codificar algunas partes de manera digamos que menos limpia/elegante (como muestra algunos archivos de la carpeta users). Esto no puede ocurrir en Java, por lo que me decantaría más a favor de JSPWiki.
Aspectos personales
Dado que tendré que trabajar durante algún tiempo con el wiki seleccionado, opino que es importante tenerme en cuenta como un factor más a la hora de llevar a cabo la elección.
Como se especificó al principio del proceso de selección todos los lenguajes me son familiares, aunque unos más que otros. El orden de familiaridad, de mayor a menor sería: Java, PHP y ASP.NET. En este último es en el que menos experiencia tengo puesto que sólo he desarrollado algunos proyectos académicos de tamaño pequeño-medio. En el caso de PHP, he desarrollado varios proyectos por mi cuenta y alguno académico, aunque, de nuevo, todos eran de tamaño pequeño-medio. En el caso de Java, he desarrollado varios proyectos académicos, de diversa envergadura, desde pequeños hasta medianos-grandes.
Así pues, MI orden de preferencia de los wikis sería JSPWiki, Bitweaver y ScrewTurn.
Conclusiones
Las conclusiones extraídas de toda esta entrada se pueden resumir en que JSPWiki es el candidato más firme en todos los sentidos, seguido de Bitweaver y, por último, ScrewTurn, que parece el menos indicado para el proyecto.
viernes, 7 de diciembre de 2007
Casting de wikis escritos en Java
Por otra parte, pude observar que la gran mayoría de los wikis seleccionados para esta fase del proceso de selección, independientemente del lenguaje de programación en que estaban escritos, eran proyectos muy serios, cuyo código respondía a las espectativas que su funcionalidad externa había generado.
Así las cosas, presento a continuación las conclusiones del estudio de los wikis escritos en Java.
Daisy
Este wiki es bastante curioso por su arquitectura, ya que está divido en 2 partes bien diferenciadas:
- Un repositorio accesible a través de HTTP/XML (usando servicios web REST).
- Una interfaz web para edición y publicación.
Esto hace que me plantee qué sería lo que podríamos aportar debido a la idiosincrasia del proyecto que pensamos desarrollar. Aparentemente no tendríamos nada que hacer pues ya está todo desarrollado, no obstante sería necesario profundizar en el estudio del código para estar seguros de ello.
Por otra parte, cabe destacar también una documentación bastante buena y el hecho de estar construido utilizando el framework MAVEN.
JAMWiki
En este caso se trata de un wiki pensado para ofrecer las mismas características que MediaWiki pero desarrollado en Java. De nuevo, está construído utilizando el ya citado framework MAVEN y a simple vista parece una opción interesante.
Sin embargo, hay un par de detalles preocupantes, como son la escasa documentación y el hecho de tratarse de una versión 0.x,con lo que ello conlleva (no obstante, en la página www.wikimatrix.org el autor asegura que se trata de un software en etapa madura).
JSPWiki
Hay poco que decir sobre este wiki, pero la verdad que todo es bueno. Además de estar implementado utilizando el patrón de diseño MVC y todo lo que ello conlleva en muchos sentidos (como ya he dicho, queda fuera de los objetivos de este blog hablar de las ventajas del uso de patrones de diseño, aunque a lo mejor un día me animo :D), está el hecho de contar con una documentación de calidad, que permitirá comprender mejor y más rápidamente el sistema.
SnipSnap
Este wiki no tiene nada especialmente interesante que comentar. Parece interesante y tiene una documentación relativamente amplia. Nada más.
VQWiki
En este caso los desarrolladores se han "olvidado" de documentar lo desarrollado. El wiki parece interesante. Nada más.
XWiki
Se trata de un wiki bastante interesante. Posee abundante documentación, que, según me indican no está obsoleta a pesar de lo que se indica en su sitio web. No obstante, me dicen que el próximo lunes estará disponible el nuevo servidor de documentación, así que habrá que echar un ojo.
yaWiki
Este wiki está tan falto de documentación que me ha sido imposible averiguar nada más sobre él.
Teniendo todo lo anterior en cuenta, opino que el mejor candidato es JSPWiki, aunque en este caso la diferencia ya no es nada ostensible. Sin embargo, las razones expuestas en su favor me parecen tan importantes que, mientras no sea necesario el cambio tras un estudio más profundo, considero que es el único wiki escrito en Java que continúa con el proceso. De este modo, las listas quedarían de la siguiente manera:
C#/ASP.NET
- ScrewTurn wiki
JAVA
- JSPWiki
PHP
- bitweaver
En este momento, creo que lo mejor sería consultar con el director del proyecto para definir la dirección a tomar, aunque es posible que escriba una nueva entrada con el que considero el mejor wiki para trabajar.
¡Hasta pronto!
jueves, 6 de diciembre de 2007
Casting de wikis en PHP
Bitweaver
En principio parece el mejor wiki de todos los escritos en PHP y, además, con bastante diferencia. Dicha diferencia se debe principalmente en el hecho de que está implementado basándose en el patrón de diseño Modelo-Vista-Controlador. Además de lo apropiado del patrón para el problema que plantea el desarrollo de wikis, están todas las ventajas inherentes al uso de patrones de diseño. Creo que a estas alturas, hablar de dichas ventajas sería prolongar innecesariamente esta entrada, por lo que remito a aquellos que las desconozcan a alguno de los muchos sitios web especializados en el tema.
Por otra parte la documentación me ha parecido bastante buena. En principio parece extensa y de calidad. Además, los ficheros están autodocumentados con un sistema parecido al javadocs.
Además el código es orientado a objetos, lo que, en mi opinión, supone una ventaja importante a la hora de trabajar con el wiki (suponiendo, claro, que el diseño sea apropiado).
Por todo ello, si tuviera que quedarme con un wiki escrito en PHP sería con éste sin lugar a dudas.
DekiWiki
Se trata de un wiki externamente muy interesante, aunque su arquitectura interna me ha parecido un poco extraña. Tiene varias características muy originales y es un buen candidato, bien documentado además, pero me lo pensaría un poco si tuviera que trabajar con él.
MediaWiki
Probablemente ha sido el wiki que ha contado con mejores recursos para su desarrollo (ojo porque no hablo de recursos económicos necesariamente) y tiene algunas características en las que sobrepasa con creces a sus competidores, como por ejemplo su interfaz traducida a 100 lenguas (el siguiente debe estar traducido a 20 ó 30). Sin embargo su arquitectura es bastante farragosa y no está especialmente bien documentado. A simple vista da la impresión de ser un sistema diseñado ad hoc en su día para unas circunstancias concretas y al ir creciendo no se ha modificado, sino más bien parcheado.
Por ello,no creo que sea la mejor opción para trabajar con él.
PhpWiki
Este wiki tiene una arquitectura un tanto extraña. Su sitio web es un poco pobre en cuanto a recursos y la documentación del sistema es bastante mejorable.
No creo que sea tampoco una opción interesante puestos a trabajar como desarrollador sobre él.
TikiWiki
Se trata de un wiki con una documentación extensísima, que dispone además de un buen sitio web (aunque algún diagrama se agradecería). En principio parece una opción más "apetecible" que algunas de las anteriores, pero lo considero peor que Bitweaver.
WikkaWiki
Se trata de un wiki muy ligero y rápido, que dispone de bastante documentación y de bastante calidad. Está implementado utilizando el paradigma de orientación a objetos lo que lo convierte en un candidato serio, pero no tanto como Bitweaver.
WikyBlog
Este wiki está implementado usando también el paradigma de la orientación a objetos, pero me parece perfectamente descartable debido a que no dispone de documentación alguna.
Por todo lo dicho considero que el wiki más interesante escrito en PHP es Bitweaver y, de momento, es el único que sigue en el proceso de selección.
Por tanto, las listas quedarían así:
C#/ASP.NET
- ScrewTurn wiki
JAVA
- Daisy
- JAMWiki
- JSPWiki
- SnipSnap
- VQWiki
- XWiki
- yawiki
PHP
- bitweaver
Ahora "sólo" resta hacer lo mismo con los wikis escritos en JAVA, cosa que ya de por si es más complicada puesto que están a un nivel muy similar entre ellos.
¡A trabajar!
lunes, 3 de diciembre de 2007
Último descarte (+ Lista 12)
He decidido descartar el wiki Wiclear, aún a pesar de sus virtudes, como generar xhtml 1.0 strict o soporte para contenidos en varios lenguajes, porque me ha parecido ligeramente inferior a sus competidores (menos flexible, peor documentado,...) y he encontrado algunos inconvenientes al usarlo (sobre todo con el navegador Mozilla Firefox) como el menú de contenidos que se superpone al de herramientas y al de feeds, impidiendo su uso mientras no lo desplacemos de nuevo, entre otros. También he encontrado algún pequeño inconveniente, como el uso de un plug-in para la conversión a UTF-8, cosa que podría causar algun problema en algunos sistemas (en realidad lo ideal sería probarlo en varios sistemas y ver el resultado, pero hacerlo con todos los wikis sería demasiado costoso a nivel temporal).
Por todo lo dicho, elimino el wiki de la lista, dejándola como sigue:
- bitweaver
- Daisy
- DekiWiki
- JAMWiki
- JSPWiki
- MediaWiki
- PhpWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- VQWiki
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
En este momento, con sólo 15 wikis candidatos, comienzo el proceso anteriormente citado de seleccionar los mejores para cada lenguaje, contando con 7 wikis escritos total o parcialmente en PHP, 7 en JAVA y 1 en C#/ASP.NET. Por ello, éste último (ScrewTurn wiki) estaría automáticamente clasificado y solamente haría falta realizar el proceso con los wikis en PHP y en JAVA.
C#/ASP.NET
- ScrewTurn wiki
JAVA
- Daisy
- JAMWiki
- JSPWiki
- SnipSnap
- VQWiki
- XWiki
- yawiki
PHP
- bitweaver
- DekiWiki
- MediaWiki
- PhpWiki
- TikiWiki
- WikkaWiki
- WikyBlog
PmWiki descartado (+Lista 11)
Por otra parte, una característica que me sorprendió positivamente de PmWiki fue el hecho de que la interfaz estuviera traducida a más de 20 idiomas, tan sólo superado de manera clara por MediaWiki.
Por todo lo dicho, he tomado la decisión de eliminarlo de la lista y, por tanto, ésta queda de la siguiente forma:
- bitweaver
- Daisy
- DekiWiki
- JAMWiki
- JSPWiki
- MediaWiki
- PhpWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- VQWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
Para finalizar, decir que ahora sí que creo que es prácticamente imposible eliminar ningún otro wiki de la lista por lo que, sería interesante agruparlos por lenguajes y tratar de elegir los 2 ó 3 mejores de cada lenguaje.
¡Mañana más!
jueves, 29 de noviembre de 2007
Corendal Wiki descartado (+ Lista 10)
Por otra parte, me gustaría resaltar que éstas no han sido las únicas razones que me han llevado a tomar la decisión, sino que, en última instancia lo que me ha decidido ha sido el hecho de que sus competidores sean un poco mejores en características generales.
Por todo lo dicho anteriormente, descarto Corendal wiki de la lista, dejándola como sigue:
- bitweaver
- Daisy
- DekiWiki
- JAMWiki
- JSPWiki
- MediaWiki
- PhpWiki
- PmWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- VQWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
Un descarte más(+ Lista 9)
De este modo, la lista queda de la siguiente forma:
- bitweaver
- Corendal Wiki
- Daisy
- DekiWiki
- JAMWiki
- JSPWiki
- MediaWiki
- PhpWiki
- PmWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- VQWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
miércoles, 28 de noviembre de 2007
Primer descarte: ProntoWiki (+ Lista 8)
Todas las razones citadas me llevan a tomar la decisión de descartar ProntoWiki de la lista:
- bitweaver
- Corendal Wiki
- Daisy
- DekiWiki
- JAMWiki
- JSPWiki
- MediaWiki
- PhpWiki
- PmWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- VQWiki
- WackoWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
Conclusiones sobre el trabajo realizado hasta este momento
En consecuencia, para continuar con la selección, opino que lo mejor es invertir el procedimiento de selección/eliminación de candidatos: hasta ahora se eliminaban aquellos que presentaban alguna carencia concreta. A partir de ahora la idea sería analizar cada uno por separado y, teniendo en cuenta las conclusiones de dicho análisis, elegir los wikis más apropiados. En otras palabras: antes me centraba en eliminar los "malos" y a partir de ahora me centraré en seleccionar los "buenos". El motivo de este cambio de perspectiva es que me permitirá formarme una idea de la calidad de la arquitectura externa de cada wiki en particular en su conjunto y no de una parte concreta.
Por otra parte, mi idea continúa siendo realizar el proceso restante de selección en 3 fases:
- Primera: Elección de los 10-15 mejores wikis.
- Segunda: Elección de los 5-6 wikis más apropiados.
- Tercera: Análisis de la arquitectura interna de esos 5-6 wikis para seleccionar el definitivo.
Así que, ¡a trabajar!
martes, 27 de noviembre de 2007
Lista 7 de wikis
En otro orden de cosas, también considero importante trabajar con un wiki que se encuentre en un estado maduro de desarrollo, evitando así de antemano los problemas derivados del trabajo con versiones beta (bugs, partes sin desarrollar, cambios "inoportunos" de versión...). En general podría decirse que la estabilidad que ofrece una versión madura a priori me hace decidirme en favor de las mismas. Por ello, elimino de la lista los dos wikis en estado de desarrollo beta, a saber: IkeWiki y UniWakka.
Estas últimas decisiones, dejan la lista como sigue:
- bitweaver
- Corendal Wiki
- Daisy
- DekiWiki
- JAMWiki
- JSPWiki
- MediaWiki
- PhpWiki
- PmWiki
- ProntoWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- VQWiki
- WackoWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
Lista 6 de wikis
Teniendo en cuenta esta idea, se podrían descartar 2 wikis:
- Midgard wiki
- miniWiki
En el primer caso, no podría ejecutarse, por ejemplo, sobre la plataforma Windows y el segundo caso, sólo podría ejecutarse en entornos Unix/Linux.
De este modo, la lista resultante sería:
- bitweaver
- Corendal Wiki
- Daisy
- DekiWiki
- ErfurtWiki
- IkeWiki
- JAMWiki
- JSPWiki
- MediaWiki
- PhpWiki
- PmWiki
- ProntoWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- UniWakka
- VQWiki
- WackoWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
Lista 5 de wikis
- bitweaver
- Corendal Wiki
- Daisy
- DekiWiki
- ErfurtWiki
- IkeWiki
- JAMWiki
- JSPWiki
- MediaWiki
- Midgard Wiki
- miniWiki
- PhpWiki
- PmWiki
- ProntoWiki
- ScrewTurn wiki
- SnipSnap
- TikiWiki
- UniWakka
- VQWiki
- WackoWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
Una vez llegados a este punto, debemos proceder a un estudio somero tanto de los wikis candidatos como de la documentación disponible sobre los mismos. Lo más interesante sería poder descartar algún wiki por su arquitectura externa, ya que entrar a analizar la interna supondría un enorme gasto temporal (recordemos que se trataría de hacerlo con 25 wikis). Así pues, éste será el trabajo para los próximos días, que debería dar como fruto una breve lista de wikis (recordemos, de 5 ó 6) para seleccionar el más idóneo.
¡A trabajar!
P.D.: Teniendo en cuenta que todos los criterios de eliminación aplicados hasta aquí son condiciones sine qua non, en caso de tener que recomenzar el proceso, bastaría con retornar hasta este punto.
lunes, 26 de noviembre de 2007
Cambios
Lista 4 de wikis
- bitweaver
- Corendal Wiki
- Daisy
- DekiWiki
- ErfurtWiki
- IkeWiki
- JAMWiki
- JSPWiki
- MediaWiki
- Midgard Wiki
- miniWiki
- PhpWiki
- PmWiki
- ProntoWiki
- ScrewTurn Wiki
- SnipSnap
- TikiWiki
- UniWakka
- VQWiki
- WackoWiki
- Wiclear
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
Como se puede comprobar, la lista aún es relativamente extensa (25 wikis), por lo que, atendiendo a razones que describiré en su momento, considero que debería reducirse aún hasta 15 o como mucho 20. De esta manera, la elección de los wikis a estudiar exhaustivamente resultará menos complicada. No obstante, la criba ha resultado efectiva, pues de una lista inicial de 106 wikis se llegó a una final de 25, habiendo eliminado aproximadamente un 75% de los mismos.
Por otra parte, cabe reseñar que finalmente se ha decidido eliminar los wikis escritos en Ruby.
¡Mañana más!
Lista 3 de wikis
- bitweaver
- ButorWiki
- Corendal Wiki
- Daisy
- DekiWiki
- DokuWiki
- ErfurtWiki
- FlexWiki
- Friki
- Giki
- IkeWiki
- Instiki (Ruby)
- JAMWiki
- JaWiki
- JSPWiki
- LunaWiki
- MediaWiki
- Midgard Wiki
- miniWiki
- MoniWiki
- Perspective
- PhpWiki
- Pimki (Ruby)
- PmWiki
- ProntoWiki
- PukiWiki
- Riki (Rails)
- ScrewTurn Wiki
- SnipSnap
- TiddlyWiki (JavaScript no tiene parte servidor)
- TikiWiki
- UniWakka
- VQWiki
- WackoWiki
- Wiclear
- Wikepage
- WikiNi
- WikiRootry
- WikkaWiki
- WikyBlog
- XWiki
- yawiki
- ZAPwiki
Como se puede ver, aún queda una lista bastante extensa (44 wikis) por lo que habrá que refinarla aún más, siguiendo los criterios anteriormente descritos, así que ¡a ello voy!
domingo, 25 de noviembre de 2007
Lista 2 de wikis
- bitweaver
- ButorWiki
- CanvasWiki
- Corendal Wiki
- Daisy
- DekiWiki
- DokuWiki
- ErfurtWiki
- FlexWiki
- Friki
- Gazest
- GeboGebo
- Giki
- IkeWiki
- ikiwiki
- Instiki
- JAMWiki
- JassWiki
- JaWiki
- JSPWiki
- KeheiWiki
- KWikiKWiki
- Luminotes
- LunaWiki
- MediaWiki
- MicKI
- Midgard Wiki
- miniWiki
- MoinMoin
- MoniWiki
- Oddmuse
- OpenWikiNG
- Perspective
- PhpWiki
- Pier
- Pimki
- PmWiki
- PodWiki
- ProntoWiki
- ProWiki
- PukiWiki
- Riki
- ScrewTurn Wiki
- SnipSnap
- SubWiki
- Sycamore
- TiddlyWiki
- TikiWiki
- TracWiki
- TWiki
- UniWakka
- UseMod
- VQWiki
- WackoWiki
- Wala Wiki
- Wiclear
- Wikepage
- Wiki-Toolkit
- WikiASP
- WikiNi
- WikiRootry
- WikiSH
- WikkaWiki
- WikyBlog
- wxWikiServer
- XWiki
- yawiki
- ZAPwiki
- Zwiki
Como se puede ver, la lista se ha reducido sensiblemente. No obstante, para refinarla aún más, se continuará aplicando los criterios restantes. En la siguiente entrada, se habrán eliminado de la lista aquellos wikis no escritos en los lenguajes aceptados, esto es: PHP, Java y ASP.NET
Lista inicial de wikis
- @Wiki
- AspWiki
- ArtificialMemory
- bitweaver
- bLADE Wiki
- BrainKeeper
- ButorWiki
- CanvasWiki
- CentralDesktop
- CityWiki
- Clearspace
- ClearWiki
- codeBeamer
- Confluence
- Corendal Wiki
- Cospire
- Csa Wiki
- Daisy
- DekiWiki
- DokuWiki
- EditMe
- ErfurtWiki
- FlexWiki
- FpWiki
- Friki
- Gazest
- GeboGebo
- Giki
- Groupswiki
- IkeWiki
- ikiwiki
- Incentive
- Instiki
- JAMWiki
- JassWiki
- JaWiki
- JSPWiki
- KeheiWiki
- KWikiKWiki
- Luminotes
- LunaWiki
- MediaWiki
- Metadot Wiki
- MicKI
- Midgard Wiki
- miniWiki
- MoinMoin
- MoniWiki
- Netcipia
- nexdo
- Oddmuse
- OpenWikiNG
- PAUX
- PBwiki
- Perspective
- PhpWiki
- Pier
- Pimki
- PmWiki
- PodWiki
- ProjectForum
- ProntoWiki
- ProWiki
- PukiWiki
- Qwik
- Qwikiwiki
- Riki
- SamePage
- ScrewTurn Wiki
- ScribbleWiki
- SeedWiki
- SnipSnap
- Socialtext
- StikiPad
- SubWiki
- Sycamore
- telepark.wiki
- TiddlyWiki
- TikiWiki
- TracWiki
- TWiki
- UniWakka
- UseMod
- VQWiki
- WackoWiki
- Wala Wiki
- Wetpaint
- Wiclear
- Wikepage
- Wiki Spot
- Wiki-Toolkit
- Wikia
- WikiASP
- WikiDoc
- Wikidot
- WikiNi
- WikiRootry
- WikiSH
- Wikispaces
- WikkaWiki
- WikyBlog
- wxWikiServer
- XWiki
- yawiki
- ZAPwiki
- Zwiki
Como se puede ver, la lista es bastante extensa, aún cuando podemos estar seguros de que no se hallan recogidos todos los wikis existentes (si bien si los más conocidos).
A partir de este punto, el trabajo consistirá en reducir esta lista eliminando aquellos wikis que no cumplan los criterios establecidos en la entrada anterior. De este modo, se efectuará una criba inicial que permitirá un estudio superficial de los candidatos para seleccionar aquellos más interesantes.
Ahora, ¡a trabajar!
viernes, 23 de noviembre de 2007
Primeros pasos
Los primeros pasos de este proyecto consisten en llevar a cabo la selección del wiki más indicado para trabajar sobre el mismo posteriormente. Sobre dicho trabajo posterior prefiero obviar comentarios al no contar aún con el beneplácito del director del Proyecto para la publicación de información sobre el proyecto en este blog. Inicialmente se consiguió una (muy) extensa lista de wikis candidatos. A la hora de seleccionar los wikis más indicados para la realización del Proyecto se tendrá en cuenta, dicho grosso modo, la arquitectura interna (cómo está construido el wiki) y la arquitectura externa (funcionamiento externo del wiki, principalmente desde el punto de vista de los usuarios).
Por otra parte, existen también una serie de factores que no encajan en ninguno de los grupos anteriores y que son de vital importancia a la hora de llevar a cabo la selección. De entre ellos, cabe destacar los siguientes:
- Licencia: Debemos obtener el código fuente de la aplicación por lo que el wiki debe estar publicado bajo licencia GNU/GPL, lo que permitirá descartar rápidamente varios candidatos.
- Lenguaje en que está escrito el wiki: El lenguaje de programación en que esté escrito el wiki, salvo excepciones, debería ser conocido por el desarrollador (un servidor). El motivo principal de ello es facilitar dicho desarrollo, teniendo en cuenta que esto no supone una gran desventaja al existir, como se verá más adelante, buenos wikis escritos en todos los lenguajes. La lista inicial de lenguajes aceptados se reducirá a Java, PHP y ASP.NET.
- Sistema de almacenamiento: Preferentemente se elegirán aquellos wikis que utilicen bases de datos en lugar de ficheros, por la facilidad/comodidad de consulta posterior.
- Historial de cambios: Dado que se pretende trabajar con un wiki de carácter general, no específico para ningún ámbito sino lo más amplio posible, es importante almacenar el historial de cambios de una página. Si el wiki fuera para uso privado/personal, no sería imprescindible, pero en caso de ser público, es el mejor método que conocemos acualmente para luchar contra el spam y el vandalismo.
Así pues, teniendo en cuenta los criterios descritos, se procederá a la selección de un grupo reducido (un máximo de 5 ó 6) de wikis para realizar un estudio exhaustivo de cada uno de ellos y elegir finalmente el que se considere más idóneo para el trabajo posterior. Ya que se trata de un trabajo muy abstracto, deberé concretar en cada caso cuáles fueron las razones que motivaron la toma de las decisiones (al menos de aquellas más relevantes) para conseguir que el proceso de selección resulte verdaderamente útil.
Y de nuevo, nada más por hoy. ¡Mañana más!
jueves, 22 de noviembre de 2007
Inauguración
Si has llegado hasta aquí y algún artículo te resulta interesante, o quieres realizar algún comentario o corrección, no dudes en dejar tu comentario.
Por hoy esto es todo... ¡Mañana más!