Moderación y Desarrollo
Notas sobre el setup de esta wiki y herramientas de moderación.
Revisión de Cambios
Cambios para aprobar
Lista de cambios sin aprobar, excluyendo comentarios:
No hay documentos pendientes de aprobación
Cambios recientes
Lista de cambios recientes excluyendo comentarios:
2023-05-21
- Etica y ejercicio profesional — Wiki Admin 2023/05/21 17:07
- Residuos solidos — Wiki Admin 2023/05/21 17:06
- Estadística aplicada — Wiki Admin 2023/05/21 17:06
- Economía — Wiki Admin 2023/05/21 17:06
- Microeconomía — Wiki Admin 2023/05/21 17:04
- Ing. En Transporte — Wiki Admin 2023/05/21 17:02
- Ingeniería en Alimentos — Wiki Admin 2023/05/21 17:02
Admin log
Deberíamos usar snippets
https://www.dokuwiki.org/plugin%3Asnippets
Agrega botoncitos para insertar plantillas de texto, serviria para linkear las carpetas de drive y esas cosas…
Para que sea util deberia poder usar macros, pero para eso hay que editar los templates: https://www.dokuwiki.org/namespace%20templates
Y para editar los templates hace falta esto: https://www.dokuwiki.org/plugin:templatepagename
No era tan facil…
Sidebars by namespace
Errores
20210430 - Sin espacio y páginas en blanco
La VM se quedo sin espacio (apt estaba usando 5 gb en /var/cache por algun motivo).
Parece que a dokuwiki no le gusta que la máquina se quede sin espacio. Pero en vez de avisar, se comporta de manera rara…
Me dejaba editar, pero varios sitios que tenían contenido empezaron a aparecer “en blanco”. Al editarlos, su contenido estaba ahí, pero no se mostraba en el render final.
Por ejemplo, dejó de verse la barra lateral, y tampoco se mostraba la página principal.
Otra cosa rara es que si bien no se renderizaba, el menú de navegación (para saltar entre títulos de una página) si estaba ahí… con todas las entradas.
Una vez que liberé espacio en la VM, visité cada sitio, y varios seguían en blanco. Se solucionó haciendo algún cambio mínimo y guardando.
Hice eso con todos los sitios, y parece que ahora todo está bien.
Google Analytics
Migrar del viejo Google sites
Usar: scripts.zip
Sintaxis: ./script.sh CARPETA
Importante: es recursivo!
Después se copa la carpeta a una nueva, omitiendo los archivos html originales y los intermediarios:
rsync -avr --exclude='*.html' --exclude='*.md' --exclude='*tmp' frubox-unsam-copia/ frubox-unsam-doku
Moderar discusiones
Desde el panel de administración (link).
Remover revisiones antiguas
https://www.dokuwiki.org/attic
Borrar líneas de meta/PAGINA.changes
no borra las revisiones realmente, solo las quita del menú de revisiones. Las páginas viejas todavía son accesibles a través de un enlace del estilo https://wiki.frubox.org/proyectos/linux?rev=1577925185
Ya sea porque Apache tiene su caché, o porque todavía está el archivo original. Los archivos de las revisiones están realmente en data/attic/
. Si el archivo en esa carpeta se borra, la página de la revisión vieja deja de existir.
Si se restaura el archivo, la página de esa revisión vuelve a aparecer.
Emojis
Instalé un plugin bastante útil pero me gustaría usar esto https://openmoji.org/
HTTPS con Let's Encrypt
Hay que renovarla cada 90 días.
Seguí la guía de bitnami. Acá hay más detalles.
Al final seguí esta solución.
sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="el@mail.com" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=wiki.frubox.org renew sudo /opt/bitnami/apache2/bin/httpd -f /opt/bitnami/apache2/conf/httpd.conf -k graceful
___ _ _ _ | _ |_) |_ _ _ __ _ _ __ (_) | _ \ | _| ' \/ _` | ' \| | |___/_|\__|_|_|\__,_|_|_|_|_| *** Welcome to the Bitnami DokuWiki 20180422b-4 *** *** Documentation: https://docs.bitnami.com/google/apps/dokuwiki/ *** *** https://docs.bitnami.com/google/ *** *** Bitnami Forums: https://community.bitnami.com/ *** user@computer:~$ sudo /opt/bitnami/bncert-tool An updated version is available. Would you like to download it? You would need to run it manually later. [Y/n]: Y The tool will exit now. To run the updated version run the following command: /opt/bitnami/bncert-tool user@computer:~$ sudo crontab -l -u bitnami 0 0 1 * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="email@example.com" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=wiki.frubox.org renew && sudo /opt/bitnami/apache2/bin/httpd -f /opt/bitnami/apache2/conf/httpd.conf -k graceful # bncert-autorenew user@computer:~$ sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="email@example.com" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=wiki.frubox.org renew && sudo /opt/bitnami/apache2/bin/httpd -f /opt/bitnami/apache2/conf/httpd.conf -k graceful 2019/08/16 18:44:22 [INFO] [wiki.frubox.org] acme: Trying renewal with 0 hours remaining 2019/08/16 18:44:22 [INFO] [wiki.frubox.org] acme: Obtaining bundled SAN certificate 2019/08/16 18:44:22 [INFO] [wiki.frubox.org] AuthURL: 2019/08/16 18:44:22 [INFO] [wiki.frubox.org] acme: Could not find solver for: tls-alpn-01 2019/08/16 18:44:22 [INFO] [wiki.frubox.org] acme: use http-01 solver 2019/08/16 18:44:22 [INFO] [wiki.frubox.org] acme: Trying to solve HTTP-01 2019/08/16 18:44:29 [INFO] [wiki.frubox.org] The server validated our request 2019/08/16 18:44:29 [INFO] [wiki.frubox.org] acme: Validations succeeded; requesting certificates 2019/08/16 18:44:30 [INFO] [wiki.frubox.org] Server responded with a certificate.
Redirect IP to URL
En teoría esto hace que Google indexe el sitio por URL en vez de por IP.
sudo nano /opt/bitnami/apache2/conf/bitnami/bitnami.conf sudo /opt/bitnami/ctlscript.sh restart apache
Editar y reiniciar apache después.
# Default Virtual Host configuration. <IfVersion < 2.3 > NameVirtualHost *:80 NameVirtualHost *:443 </IfVersion> <VirtualHost _default_:80> DocumentRoot "/opt/bitnami/apache2/htdocs" RewriteEngine On RewriteCond %{HTTP_HOST} ^35\.198\.17\.227 RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1) RewriteRule ^/(.*) https://wiki.frubox.org/$1 [R=301,L] # BEGIN: Enable HTTP to HTTPS redirection RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1) RewriteCond %{REQUEST_URI} !^/\.well-known RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L] #RewriteRule ^/(.*) https://wiki.frubox.org/$1 [R,L] # END: Enable HTTP to HTTPS redirection <Directory "/opt/bitnami/apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride All <IfVersion < 2.3 > Order allow,deny Allow from all </IfVersion> <IfVersion >= 2.3 > Require all granted </IfVersion> </Directory> # Error Documents ErrorDocument 503 /503.html # Bitnami applications installed with a prefix URL (default) Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf" </VirtualHost>
Notificaciones Push
Este tutorial es increíble.
Lo que no sé, es cómo integrarlo con dokuwiki quizás con Onesignal.
<head> <link rel="manifest" href="/manifest.json"> <script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script> <script> var OneSignal = window.OneSignal || []; OneSignal.push(["init", { appId: "YOUR_APP_ID" }]); </script> </head>
Hypothesis en Bootstrap
Para intsertar Hypothes.is en la wiki, edité el template de Bootstrap:
sudo nano /opt/bitnami/apps/dokuwiki/htdocs/lib/tpl/bootstrap3/main.php
Y le enchufé esto al final del head:
<script type="text/javascript" async>
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) { alert(alert("Bienvenidx a la nueva wiki de Frubox \u{1F333}.\n\nPara usar Hypothes.is en esta wiki, entrá desde una compu.\n\nToca aceptar/OK para continuar. Provecho!");); } else { var script = document.createElement("script"); script.type = "text/javascript"; //src="https://hypothes.is/embed.js" async script.src = "https://hypothes.is/embed.js"; // https://stackoverflow.com/questions/14666658/document-createelementscript-vs-script-src // https://www.w3schools.com/jsref/dom_obj_script.asp script.async = true document.getElementsByTagName("head")[0].appendChild(script); }
</script>
Notificar una sola vez
https://stackoverflow.com/questions/24768067/display-alert-only-once
<script type="text/javascript"> var alerted = localStorage.getItem('alerted') || ''; if (alerted != 'yes') { alert("My alert."); localStorage.setItem('alerted','yes'); } </script>
Usar emojis en JavaScript
Extensiones
Ver extensiones instaladas en la página de administración.