Wiki portable

Crea tu propio Wiki portable en Dropbox (o similar)

Buenas de nuevo. Los que nos dedicamos a esto de la informática valoramos bastante el disponer de procedimientos o guías para la realización de muchas tareas, sobre todo de las que no realizamos a menudo y tienden a perderse en esa maraña de neuronas que forma nuestro cerebro. Cierto es que no disfrutamos tanto a la hora de crearlos nosotros mismos, pero a la hora de tirar de ellos bien que nos lamentamos si no los encontramos. Al final, es cuestión de acostumbrarse a hacerlo, ya que en el futuro lo vamos a agradecer mucho.

Pero tener documentación no sólo es útil en informática, sino en cualquier otro ámbito de la vida. No hay más que echar un ojo a Wikipedia, uno de los mayores repositorios de información del mundo. A la vista está que tener un lugar donde acudir cuando necesitamos buscar información nos es de gran utilidad. Pero, ¿qué ocurre cuando esta información es muy concreta del trabajo que realizamos, o es difícil de encontrar, o la hemos creado nosotros mismos, y por lo tanto, no existe en otro sitio? ¿O si, simplemente, queremos explicar las cosas a nuestra manera?

Bueno, pues una buena manera de tener bien organizada nuestra documentación es creando nuestro propio Wiki. Así, tendremos nuestra información en un entorno amigable, fácil de editar, indexable y en el que se pueden realizar búsquedas. ¿Por qué es esto útil? Preguntádselo a alguien que tenga una carpeta con 500 procedimientos en ficheros de Word y no recuerde donde está el dato que busca.

Cuando estamos aprendiendo algo nuevo, siempre es bueno tener un lugar con nuestros apuntes al que podamos referirnos siempre que tengamos dudas. Este lugar puede ser un cuaderno, o bien un Wiki, al margen de que nuestros apuntes sean sobre Circuitos y Electrónica, programación en Python o procedimientos de administración de sistemas Linux.

Documentación digital

Mucha gente ya dispone de su propio Wiki en el trabajo, o en casa (ojo, los documentos confidenciales de trabajo se deben quedar en el trabajo), pero a no ser que estén en una web pública no podremos acceder a ellos desde ningún otro sitio. Hoy quiero mostraros cómo crear un Wiki portable, es decir, que podréis llevar en un pendrive o copiarlo en Dropbox, de manera que esté siempre sincronizado y accesible (en entornos windows), y cómo migrar a él el contenido de otro Wiki ya pre-existente. Pongo Dropbox porque es el servicio de almacenamiento online que más utilizo, pero en realidad podría servirnos cualquiera de características similares. Para ello vamos a utilizar DokuWiki, un software Open Source para creación de Wikis. No es del mismo estilo que Wikipedia, puesto que es mucho más sencillo, pero para nuestros propósitos es ideal. (Por si a alguno le interesa el software de Wikipedia es MediaWiki, también gratis y de código libre). En concreto utilizaremos DokuWiki on a stick, una versión portable de DokuWiki gracias a que incorpora su propio servidor web (mapache, o microapache).

Bueno, pongámonos manos a la obra.

1. INSTALACIÓN:

Lo primero que tendremos que hacer será descargar DokuWiki on a stick y descomprimirlo en la ruta dónde lo queramos tener (Yo lo tengo en una carpeta en Dropbox para mi documentación técnica). Una vez descomprimido, accedemos a la carpeta DokuWikiStick y ejecutamos el fichero “go.bat” que lanzará el servidor web microapache (debemos dejar la pantalla negra abierta mientras queramos que la web funcione). Puede que debamos otorgarle permisos en el firewall, que nos avisará automáticamente. Aceptamos y listo.

Accedemos mediante un navegador a la dirección http://localhost:8800/install.php y rellenamos la web con los datos necesarios para nuestro Wiki. Yo al mío lo he llamado Wikiteca. Podremos elegir la política de accesos inicial (Open, Public o Closed Wiki) en función de si queremos que todo el mundo pueda leer, escribir y subir ficheros, o limitarlo a los usuarios registrados.

Al aceptar los parámetros ya podemos acceder al Wiki con el usuario que hemos creado (con permisos de administración). Inicialmente está en inglés, pero, una vez dentro, en el apartado de administración podremos cambiar el idioma a español.

2. CONFIGURACIÓN:

También dentro del apartado de administración podremos especificar una ruta distinta para guardar los datos (por defecto es “./dokuwiki”). Esto puede ser útil si queremos mantener los ficheros de datos y documentación y las imágenes en otra ruta diferente, por ejemplo, para que muestre los datos de otro Wiki pre-existente.

Para copiar el theme desde otro Wiki deberemos copiar la carpeta “www/lib/tpl/nombre-theme” a la ruta “DokuWikiStick/dokuwiki/lib/tpl/”. Actualmente yo utilizo el tema MrBertie-taratasy, pues me parece muy elegante. Lo mismo sucede con los plugins. Podemos copiarlos de “www/lib/plugins/nombre-plugin” a “DokuWikiStick/dokuwiki/lib/plugins/”. Tan sólo lo he probado con el plugin indexmenu y he tenido que actualizarlo para que funcione (administrar -> administrador de plugins -> indexmenu, actualizar), pero no me ha dado mayores problemas.

3. MIGRACIÓN DE CONTENIDO:

Si disponéis de un Wiki ya funcionando (debe ser con DokuWiki, por supuesto) y buscáis hacerlo portátil, esta sección os va a encantar. Porque, en realidad, migrar el contenido de un DokuWiki a otro es tan simple como sobrescribir la carpeta “dokuwiki/data” (del DokuWiki on a stick) por “www/data” (de nuestro Wiki previo). Ahí se encuentran todos los datos, documentos e imágenes que le dan contenido a nuestro sitio. Así, mantener actualizado nuestro Wiki portable con otro que no lo sea, se reduce simplemente a copiar y pegar esa carpeta en sucesivas ocasiones. Difícil, ¿verdad? Si sois demasiado vagos podéis haceros un script.

4. CONSIDERACIONES ADICIONALES:

Es posible que a pesar de seguir los pasos anteriores tu Wiki no se muestre correctamente en la página inicial. Esto puede ser debido a que sea necesaria una configuración adicional, por ejemplo, por la forma en que utilices los namespaces. Un namespace en DokuWiki es similar a una carpeta. Es una forma de englobar un determinado conjunto de información. Por ejemplo, todo lo relativo a documentos de ofimática. Se crean automáticamente si especificamos uno que no existe y se separan de los pagenames mediante el símbolo “:” (Desde el apartado de administración puede modificarse este comportamiento para utilizar el más habitual símbolo “/”, mediante la opción “useslash”). Por otra parte, los pagenames son los equivalentes a los ficheros, y son los documentos dónde finalmente escribiremos y mostraremos la documentación. De hecho, si curioseamos dentro de la carpeta «data/pages/«, veremos que, efectivamente, los namespaces son carpetas y los pagenames simples ficheros de texto (.txt).

En mi caso, por mi configuración, en este punto aún no puedo ver el contenido en la página principal, ya que he creado un namespace en el que englobo todos los documentos para luego catalogarlos internamente con más namespaces. Para poder ver el contenido tendría que irme a “Índice”, dónde vería listados todos los namespaces de nivel superior.

5. MEJORAR LA APARIENCIA:

Por supuesto, hay cosas que podemos hacer para darle cierto estilo a nuestro wiki. Si no nos gusta que nos muestre el mensaje “Este tema no existe todavía” cada vez que accedemos al inicio de nuestra Wikiteca, podemos crear esa página e incluir alguna imagen o logo representativo. Podemos, incluso, utilizar etiquetas HTML si habilitamos dicha opción en el menú de administración “htmlok”. Mi fichero de portada es tan simple como esto:

<html><br><br><br></html>
{{ :wikiteca.jpg }}

Si ya disponemos de esta página de portada (de nuestro anterior Wiki) pero el nombre de su fichero no es start.txt podremos indicar el nombre de la página de inicio en la opción “start”.

Otra opción que le da un mejor aspecto a nuestro Wiki es, en administración, “useheading”, “Siempre”.

Con el theme que yo utilizo es posible especificar las proporciones que deben ocupar la página principal y la barra de navegación mediante la opción “tpl»MrBertie-taratasy-cf02d14»nsWidth”. Mi configuración actual es “wikiteca 100% 23em”. Podemos especificar distintas configuraciones para distintos namespaces separándolos por “;”.

Le diremos qué fichero debe utilizar como barra de navegación lateral mediante el parámetro “tpl»MrBertie-taratasy-cf02d14»sidebarID”. El nombre de fichero aquí especificado corresponde a un fichero de texto en nuestro namespace raíz. Este fichero podemos editarlo mediante el propio editor del Wiki, pero sería un texto fijo escrito a mano, por lo que deberíamos actualizarlo manualmente cada vez que incluyésemos un nuevo tema. ¿Un índice de navegación estático? Es cierto, tenéis razón, esto no mola nada. Veamos cómo podemos solucionarlo.

Aunque DokuWiki es muy fácil de utilizar, a pesar de su extraña sintaxis, a veces nos encontramos con que no dispone de determinadas funciones que nos facilitarían mucho la vida. Esto ocurre, por ejemplo, con el ya mencionado índice dinámico en la barra de navegación lateral. Para poder disponer de este índice es necesario utilizar un plugin externo, en mi caso indexmenu. (Recordemos que lo hemos instalado al comienzo).

Indexmenu es un plugin muy potente, de complejidad media, que puede desorientarnos un poco al principio debido a su sintaxis. Sin embargo, una vez comprendido su funcionamiento es bastante sencillo de utilizar. En mi caso, para mostrar el índice dinámico en la barra de navegación, tan sólo he tenido que editar el fichero sidebar y añadirle el texto “{{indexmenu>wikiteca#1|js tsort}}”.  Con ello, le decimos que genere un index del namespacewikiteca” y que lo ordene (alfabéticamente). Se pueden consultar multitud de opciones y posibilidades en la web del plugin.

Por último, otros parámetros que podremos utilizar para “limpiar” nuestro índice de archivos auxiliares (por ejemplo start o sidebar) o que, simplemente, no queremos mostrar (contenido enlazado en otras páginas pero que, por sí mismos no requieren un apartado propio), son “plugin»indexmenu»skip_index” y “plugin»indexmenu»skip_file”. En estos incluiremos, en forma de expresiones regulares, aquellos namespaces o pagenames, respectivamente, a ocultar.

Ignorar namespaces y pagenames

Por supuesto, DokuWiki dispone de muchas posibilidades de configuración que no podemos repasar aquí, sobre todo si contamos la utilidad que le dan los numerosos plugins como indexmenu. Tampoco hemos hablado nada de la gestión de usuarios y grupos, ni de las listas de control de accesos (ACLs), ambas simples pero efectivas.

Una vez aceptados todos estos cambios ya podemos dirigirnos al inicio y comenzar a disfrutar de nuestro Wiki portátil. Y lo mejor es que puedo ponerlo en Dropbox para acceder desde cualquier parte o copiármela en un pendrive si no dispongo de conexión a internet. Tan sólo necesito un ordenador con Windows y un navegador web. Os dejo una imagen de mi Wikiteca particular.

Wikiteca

A partir de ahora tengo trucos, procedimientos, tutoriales y documentos a los que podré acceder en, prácticamente, cualquier momento y lugar.

¡Disfrutad de vuestros wikis!

10 Comments

  • Novato dice:

    La primera que entré en el link «localhost:8800/install.php» no tuve problema pero luego no he podido volver a entrar ¿?

  • Hola, en install.php sólo debes acceder la primera vez, para terminar de configurar los parámetros del Wiki. Las sucesivas veces debes acceder tan sólo a «http://localhost:8800». Y por supuesto, debes asegurarte de tener el servidor web arrancado mientras quieras poder acceder.

    Un saludo!

  • Novato dice:

    Gracias! Ahora ya puedo entrar. Lo que no entiendo es si la información que introduzca estará sólo en mi ordenador o alojada en un servidor externo. Supongo que sólo puedo acceder yo (o los usuarios a los que haya dado permiso) pero me gustaría saber dónde está alojada realmente la información por si deseo introducir datos confidenciales.

    Y si la información está en mi ordenador ¿puedo acceder a ella sin estar conectado a Internet?

    Disculpa mi ignorancia y la avalancha de preguntas y gracias nuevamente.

  • Mario dice:

    Muy bueno el post chavales, la verdad es que no tenía ni idea de que se pudiera hacer. Vaya pasada, a ver si un día le echo tiempo y me curro una para mis cosas.

    Seguid dándole a ese peaso de blog 🙂

  • Hola de nuevo Novato, pues mira, dependerá de si has escogido la opción de subirlo a Dropbox o dejarlo en un pendrive (o carpeta local en tu ordenador). En cualquiera de los dos casos la información debería ser privada, únicamente para ti, a no ser que la hayas ubicado en la carpeta pública de Dropbox (aún así los posibles usuarios deberían conocer tu dirección pública de Dropbox y tener usuario de acceso al wiki) o en alguna compartida. Si lo tienes en un pendrive o carpeta local no se podrá acceder a él a través de internet, aunque sí podrán hacerlo usuarios en tu red local sustituyendo «localhost» por la dirección IP de tu ordenador. Al igual que antes, además necesitarán un usuario con permisos de acceso al wiki. Si no recuerdo mal la configuración por defecto permite crear usuarios con permisos básicos sin necesidad de autorización por parte del administrador. Ojito con esto.

    Un saludo.

  • Muy buenas Mario! Y muchas gracias. Un wiki de estos para los asuntillos de las clases puede venir bien, no? Y si no para los articulitos del blog, jeje. Dale caña que también tiene muy buena pinta!

    Saludetes.

  • Novato dice:

    Gracias nuevamente!!

  • Novato dice:

    Me ha funcionado perfectamente hasta hace unos días. Ahora el servidor da un mensaje de error, algo de que no puede cargar un módulo. Lo más sorprendente es que probé a usar en otro ordenador una copia que tenía en un pendriver. Funcionó la primera vez pero a la segunda dio el mismo error que en el primer caso. Hace aprox. un año que lo descargué, de manera que sospecho si no estará programado para durar sólo ese tiempo. Cuando lo vuelvo a descargar desde la página de dokuwiki me da un mensaje de que «el archivo está dañado».

  • Lucia dice:

    Y para Mac como se hace

  • Otra opcion bastante buena y decente es ZIM wiki portable, lo he usado algun tiempo y cabe decir que almenos saca del apuro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.