Notas acerca de la instalación, configuración, uso y mantenimiento de esta instalación de DokuWiki.
Ver también las notas sobre la instalación original (oct 2006).
Versión: 2007-06-26 (por pura casualidad, la descubrí el mismo día)
Instrucciones tomadas de http://wiki.splitbrain.org/wiki:install:upgrade
Atención: para poder editar los parámetros de configuración desde el wiki, tuve que chmod g+w conf/
Atención: a los archivos de /data/pages/wiki (syntax.txt y dokuwiki.txt) conviene reemplazarlos por los nuevos.
El índice se actualiza automáticamente al visitar cada página, o bien se puede usar un script: /bin/indexer.php (no me da resultado)
Revisar que el archivo wordblock.conf se siga actualizando periódicamente. Verificado 27-06-2007.
Traducciones: visitar http://wiki.splitbrain.org/wiki:multilanguage
Hubo un error en mi PC usando Firefox: al salir (logout), podía continuar usando el wiki como si no hubiese salido. Lo resolví eliminando las cookies… pero es un serio problema (si la falla llega a ser del wiki). Ahora anda bien.
Pedí ayuda en #dokuwiki (FreeNode). Me registré en http://wiki.splitbrain.org/ como efege.
Siguiente asunto a resolver: cómo ocultar los “folders” correspondientes a espacios de nombres no visibles para usuarios comunes. Encontré que alguien había preguntado lo mismo en el foro, pero sin recibir respuesta, y volví a hacer la pregunta. También encontré esta otra discusión, pero probé (muy rápidamente) esa solución y no me anduvo. La respuesta es: activar la opción de config sneaky_index. Funciona bien. (Responder y agradecer en http://forum.dokuwiki.org/post/3295)
Backups periódicos: ver http://wiki.splitbrain.org/wiki:tips:backup_script (Probé con la 1ra versión PHP que hay allí, sin tocarle nada, y no anduvo. Revisar.)
Para hacer pequeñas correcciones al template default, podemos crear un nuevo template, haciendo una copia de la carpeta lib/tpl/default, y luego modificar las hojas de estilo en las partes que nos interese. Pero yo preferiría tener un único archivo (e.g. overrides.css) donde estén solamente las reglas que me interesa modificar. ¿Es factible esto? Consulta enviada al foro: http://forum.dokuwiki.org/thread/1037. Respuesta: usar el archivo conf/userstyle.css.
Hice algunas pequeñas modificaciones al template default, ver conf/userstyle.css. Leer wiki:stylesheets. UPDATE 2009-02-27: esa página no existe; ver devel:css.
Cambiar color de fondo para bloques de código.
Modificar las hojas de estilo para darle un look similar al de http://inmabb.criba.edu.ar/catalis/
Quiero que el botón “Editar” para cada sección de una página aparezca junto al header de la sección (como en MediaWiki), y no al pie de la misma. Ver el plugin plugin:editsections (instalado 2007-07-08).
Probar algún template que permita tener el Índice siempre a la vista. Algunos templates interesantes: Arctic (screenshot); mmClean, mmKanso, mmZire. Probar éste: r7throot1.
Barra lateral (sidebar): http://wiki.jalakai.co.uk/dokuwiki/doku.php
ATENCION: es necesario que los links en la barra lateral contengan espacios en lugar de underscores, para que puedan entrar en varias líneas cuando son largos (esto puede servir: http://wiki.jalakai.co.uk/dokuwiki/doku.php/tutorials/removing_underscores).
Cómo poner una imagen (logo) en la cabecera: wiki:tips:image-in-the-upper-right-corner.
¿Links en lugar de botones? Buscar tpl_actionlink.
Hoja de estilo para impresión (conf/userprint.css) quitar text-align: justify (hecho), font-size más pequeño.
Revisar estos cambios de estilo hechos en instalaciones anteriores:
[~]$ find htdocs/dokuwiki_backup/lib/ | grep css | xargs grep -i 'fg' htdocs/dokuwiki_backup/lib/tpl/default/design.css: /*text-align: justify; NO ME GUSTA (FG) */ htdocs/dokuwiki_backup/lib/tpl/default/print.css: /*text-align: justify;*/ /* no me gusta (FG) */ htdocs/dokuwiki_backup/lib/tpl/sidebar-rc2006-09-28/sidebar.css: overflow: scroll; /* FG */ [~]$ find htdocs/dokuwiki_backup_20070626/lib/ | grep css | xargs grep -i 'fg' htdocs/dokuwiki_backup_20070626/lib/tpl/sidebar-rc2006-09-28/sidebar.css: overflow: scroll; /* FG */
Usar vertical-align:top para celdas de tablas. [Listo, modifiqué conf/userstyle.css, 2007-07-18]
IMPORTANTE: agregar subrayado a todos los links (don't rely on color alone!)
Modificar div.success (agregar padding y corregir posición de la imagen de fondo)
Cambiar el color para los “search snippets”, está muy claro:
div.dokuwiki .search_snippet {
color:#888888;
}
2007-07-05: Modifiqué los parámetros userewrite (2) y useslash (1), para que las URLs usen una barra (/) como separador de espacios de nombres, en lugar de dos puntos (:). TO-DO: ¿podemos eliminar doku.php de las URLs? Leer URL Rewriting.
La opción config:useheading permite que se muestre el texto del primer encabezado h1 de una página como texto de los links a esa página. Por defecto está deshabilitada, la habilité en 2007-07-20 para probarla.
ATENCION: para poder instalar plugins utilizando el Plugin manager (es decir, desde la interfaz del wiki), hay que habilitar permiso de escritura en el directorio lib/plugins. Aun así, todavía no hice una instalación exitosa de un plugin desde el wiki. Para arreglar en traducciones: “Incapaz de descargar el arhcivo del plugin”.
Instalé el plugin commentsrc, que permite encerrar comentarios entre !- y -!.
Muy interesante: Presentaciones S5 (las de Eric Meyer): permite crear una presentación a partir de cualquier página de DokuWiki. [Instalado: 2007-07-06]. Duda: ¿por qué no puedo abrir una presentación S5 offline (i.e., guardada como un archivo + carpeta auxiliar)?
Hay plugins para presentar fórmulas matemáticas, como http://wiki.splitbrain.org/plugin:math2
Boxes para encerrar y resaltar porciones de una página. Plugin relacionado: Note (notas: important, tip, warning). Note instalado 2007-07-08, no funcionaba inicialmente, ahora sí. En IE el fondo de las imágenes no es transparente, faltan padding y bordes redondeados.
Instalé el plugin box en 2007-07-20. El markup se genera, pero no aparecen los estilos. En la página del plugin hay un comentario reciente que simplemente dice “no anda con la última versión de DW”.
Hay varios plugins para usar listas de definiciones: definitionlist, deflist, dl (es raro que la sintaxis de DokuWiki no las tenga en cuenta).
2007-07-19: instalé plugin:nbsp para poder usar non-breaking spaces.
Las páginas en DokuWiki son simples archivos de texto, no hay una base de datos detrás. Esto facilita la creación dinámica de páginas, por medio de scripts.
Por ejemplo, este comando mx permite crear una nueva página del wiki con un listado de todas las publicaciones seriadas que hay en la base del OPAC:
mx ~/bases/catalis_pack_demo_devel/opac/bibima/biblio lw=3000 "pft=if v907='s' then ' * 'replace(replace(replace(replace(v245*4,'^b',' '),'^c',' '),'^n',' '),'^p',' '),'\\\\ ',v866^a/ fi" now | sort | iconv -f latin1 -t utf8 > ~/htdocs/dokuwiki/data/pages/inmabb/listado-seriadas.txt
Observaciones:
'\\\\ ' para generar '\\ ', lo que produce un salto de línea sin crear un nuevo párrafo.lw=3000 para evitar saltos de línea en el caso de existencias muy extensas (e.g. Zentralblatt).sort no está ignorando los artículos iniciales.Mediante crontab podemos regenerar esta página periódicamente para mantenerla actualizada. Si es apropiado, se pueden presentar los listados como tablas.
TODO: los scripts que generan páginas del wiki deben generar un título y alguna información adicional, como p.ej. fecha de ejecución.
¿Y qué sucede con la historia de una página generada por scripts?
Podemos armar páginas del wiki compuestas de partes fijas (editadas como una página ordinaria del wiki) y partes variables procedentes de consultas a bases de datos (generadas p.ej. vía cron como decimos arriba). El plugin include permite hacer esto. (Notar que los parámetros de configuración de este plugin parecen estar muy orientados a su uso en el contexto de un blog; habría que ver qué efecto tendría eso en el caso que estamos considerando aquí.)
La sintaxis para la inclusión de páginas tiene dos formas posibles:
{{page>[id]#[section]&[flags]}}
{{section>[id]#[section]&[flags]}}
Estas son las tareas programadas, al 5 de julio de 2007:
# actualiza la lista negra anti-spam para DokuWiki día por medio (o días pares?) 00 06 */2 * * ~/bin/update-blacklist.sh # hace un backup del DokuWiki cada día 00 07 * * * ~/bin/wiki-backup.sh # actualiza el listado de seriadas de la base bibima (semanal) 00 05 */7 * * ~/bin/listado-seriadas.sh # actualiza el listado de libros para reparar de la base bibima (semanal) 05 05 */7 * * ~/bin/listado-reparar.sh
ATENCION: los scripts que generan listados no se ejecutaban correctamente usando crontab, pues no encontraban el comando mx. No bastó con modificar el PATH en el archivo .bashrc, y tuve que declarar el PATH en cada archivo .sh.
Ver estás páginas: wiki:images, wiki:mime, wiki:mediamanager.
¿El acceso a esos archivos también puede restringirse mediante namespaces? Me refiero a la posibilidad de ver los archivos; ya sé que para poder subirlos y/o eliminarlos el usuario debe tener permisos. En wiki:mediamanager se explica que es posible organizar los archivos en espacios de nombres; me falta verificar que los permisos establecidos con ACL afectan igualmente a páginas y archivos dentro de un mismo namespace.
conf.conf/userscript.js.2009-02-26: hice algunas correcciones en http://translate.dokuwiki.org/translate.php?lang=es. Bajé el archivo .zip con los cambios; hay que enviarlos al desarrollador: dokuwiki-es.zip (pero antes mejor hacer más correcciones)
¿Has olvidado tu contraseña? Consigue una nueva.: (sobra punto)En esta página tu puedes agregar y quitar permisos para la página actual y todos los espacios de nombres en los que está. Tu deberías leer la documentación oficial sobre ACL para comprender completamente cómo funcionan el control de acceso.
La página muestra todos los permisos que son significativos para la página actual. Los permisos relativos a otras páginas no se muestran – para editarlos, primero navega a la página correspondiente y luego vé a la administración de ACL.
En el menú de admin, se repite el texto para los plugins acl y superacl2:
# Administración de lista de control de acceso # Administración de lista de control de acceso
El instalador encontró algunos problemas, se muestran abajo. No se puede continuar la instalación hasta que usted no los corrija.
Es necesario establecer correctamente los permisos de este directorio!
Wiki “abierta, pública, cerrada” (por qué femenino?). Otros: “esta wiki”, “la wiki completa”.
action.php, tenemos<input class="button comment_submit" type="submit" name="submit" accesskey="s" value="<?php echo $lang['btn_save'] ?>" title="<?php echo $lang['btn_save']?> [ALt+S]" tabindex="7" />
El problema es que $lang['btn_save'] es “Save” o “Guardar”, pero tratándose de un comentario sería más apropiado algo como “Enviar comentario” o “Publicar comentario”.
Instalé la versión rc2008-03-31.
De acuerdo con las indicaciones en http://wiki.splitbrain.org/wiki:install:upgrade pisé la instalación anterior. Luego borré los archivos viejos (no necesarios), volví a comentar unas líneas en el .htaccess, ajusté los permisos en data/.
PENDIENTE: actualizar plugins.
Estos son los plugins instalados:
drwxr-xr-x 4 catalis catalis 4096 May 29 2006 editsections drwxr-xr-x 5 catalis catalis 4096 Apr 3 2007 s5 drwxrwxr-x 3 catalis catalis 4096 May 18 2007 superacl drwxrwxr-x 2 catalis catalis 4096 Jun 26 2007 comment drwxrwxr-x 2 catalis catalis 4096 Jun 26 2007 commentsrc drwxr-xr-x 2 apache apache 4096 Jul 6 2007 tmp drwxrwxr-x 3 catalis catalis 4096 Jul 8 2007 note drwxrwxr-x 2 catalis catalis 4096 Jul 19 2007 nbsp drwxrwxr-x 2 catalis catalis 4096 Jul 20 2007 _downloaded_files drwxrwxr-x 3 catalis catalis 4096 Jul 20 2007 box
<pre class=“code python”> anidados. Para un ejemplo ver http://wiki.splitbrain.org/wiki:syntax#syntax_highlighting
TO-DO: instalar la nueva versión, dokuwiki-2008-05-05.tgz.
Instalé la versión 2009-02-14.
Hice backup completo. Borré archivos viejos (usando los comandos sugeridos).
Actualicé manualmente el plugin s5 (error de download al usar Plugin Manager). Se arregló el problema de visualización de fechas mencionado arriba.
Actualicé manualmente el plugin note (versión 2008-02-17).
TO-DO: actualizar otros plugins!
Tuve que tocar permisos en conf para poder modificar local.php vía web (esto no parece estar claramente explicado en los docs)
chmod g+w conf/
Los textos en español siguen teniendo varios errores. Me gustaría hacer las correcciones y ponerlas disponibles para la siguiente versión de DokuWiki.
DokuWiki: An elegant and lightweight wiki engine, by Dmitri Popov on June 25, 2008 (linux.com).
Dado mi interés actual en implementar un blog, estoy dando un vistazo a los tips para convertir DokuWiki en un blog. (Feb 2009)
La funcionalidad de blog se obtiene mediante una familia de plugins, de los cuales tres son obligatorios (blog, pagelist, include), y los restantes opcionales (discussion, tag, etc.). Para obtener en un solo paquete los plugins deseados se puede usar: DokuWiki Blogsuite BundleHub.
<note important> Hay una nueva opción, aún en desarrollo: plugin:blogtng. </note>
Instalé manualmente los plugins blog, pagelist. Solucionado el problema del proxy HTTP (no aparecía en la config), instalé automáticamente el plugin include.
¿Podemos tener una página llamada blog (la “página del blog” propiamente dicha), y —al mismo nivel— un namespace llamado blog (donde viven las entradas del blog)? Eso parecen estar haciendo http://www.7throot.com/blog y http://simpleinvoices.org/blog.
Por el contrario, en http://profs.if.uff.br/tjpp/blog tenemos una página :blog y un namespace :blog:entradas.
En http://foosel.org/ no estoy seguro de la estructura…
Ver cómo generar automáticamente prefijos con la fecha de creación de las entradas, para organizarlas en namespaces por fecha.
?id=tag:inmabb&do=showtag&tag=inmabb) puede presentar páginas no pertenecientes al blog.Instalé (para probarlo) un nuevo template: usable, que parece ser uno de los mejorcitos. A modo de ejemplo podemos mirar http://contentfilter.futuragts.com/wiki/doku.php
Problemas para resolver con este template:
action=“/doku.php/” en lugar de action=“/doku/doku.php/”)Varios templates provienen de 7throot, y el sitio de su autor es un bonito ejemplo de uso de DokuWiki, con blog incluído: http://www.7throot.com/blog
Si queremos usar una única instalación de DokuWiki para varios “sitios” (blog, wiki, etc.), y queremos usar un template diferente para cada uno, la solución es este template: Multitemplate.
Pasos para activar multitemplate:
*.html.lib/tpl/multitemplate/meat.php.Los puntos 1 y 2 implican que, llegado el momento de actualizar cualquiera de estos templates (incluyendo, posiblemente, el template default), tendremos que volver a aplicar las modificaciones.
Esta configuración anduvo OK:
$multitemplate['playground:playground'] = 'default'; $multitemplate['catalis'] = 'doogiestpl'; $multitemplate[''] = 'monobook';
Pero luego encuentro lo que parece un bug: desde la página principal (monobook) busco “catalis”, y la página de resultados aparece en doogiestpl (que corresponde al namespace catalis); si busco “playground:playground” la página de resultados aparece en default. Esto parece deberse a la forma de la URL de una búsqueda:
http://127.0.0.1/dw/doku.php?do=search&id=catalis
La presencia de id=catalis “confunde” a multitemplate. Consulta enviada al foro de DokuWiki y al wiki del autor.
TODO: ver otra alternativa, plugin:loadskin
Veo que en algunas instalaciones de DokuWiki (p.ej. en la oficial) al pasar el mouse por el botón “Editar” asociado a una sección, el bloque de la sección aparece resaltado, para dejar en claro a qué bloque está asociado ese botón. No sé cómo se activa esa funcionalidad.
Cuando DokuWiki informa sobre errores, muestra un mensaje en la parte superior de la página, que no se destaca lo suficiente como para llamar la atención. TO-DO: modificar hoja de estilo:
div.error { background-position: 0.5em 1em; font-weight: bold; padding: 1em 3em; }
Tal vez lo mismo para div.info, div.success, …
Otro lindo wiki, con el template arctic: cdli:wiki (Cuneiform Digital Library Initiative)
27-05-2009: FS#1700 - Local File Inclusion with register_globals on
No verifiqué si teníamos el problema, pero seguí las instrucciones y modifiqué inc/init.php.
dokuwiki