Diplomado 2021: Semana 4, sesión 10.
Mini Agenda:
- Recuento
-
Repositorios en Fossil.
- [x]Archivos no versionados.
- [ ]Archivos versionados.
-
Introducción a Glamorour Toolkit.
- Archivos no versionados
-
Retrono TiddlyWiki:
- Transclusión
- Macros y
- Filtros.
- Pharo 101 y el Glamorous
Recuento y expansión
Humor Nerd:
- Los exploits de una mamá
- Gabriela Colleman en su tesis doctoral muestra apartes de cómo dicho humor se expresa en el código y se adentra en un ejemplo de éste para explicarlo
Repositorios en Fossil
Crear repositorios remotos en Chisel.
Realizaremos las actividades de TiddlyWiki en Chisel empezando por Crear y configurar un repositorio remoto.
Una vez hallamos seguido los pasos descritos en los tiddlers deberíamos:
-
Tener un usuario en Chisel (servicio web de repositorios en Fossil) Enlazarlo a continuación
-
Tener un repositorio para nuestra copia de wikilexias (u otra cosa) hospedado en chisel. Enlazarlo a continuación:
Recomendaciones
- Tenener en cuenta que el usuario y contraseña de la cuenta en chisel pueden ser distinta a la de los repositorios.
- Cada repositorio puede tener contraseñas diferentes.
- A menos de que se use la misma contraseña para todos, es recomendable tener un registro de las contraseñas en los repositorios con herramientas como KeepassXC, y en general, funciona bien tener un administrador de contraseñas para la vida.
Subir contenidos locales al repo remoto
Seguir la instrucciones del tiddler Clonar el repositorio de Chisel como repositorio local
:::info Adaptar el ejemplo concreto del repo y usuario offray para nuestros propios usuarios y repos. :::
Colocar nuestro enlace a nuestra copia de wikilexias en el repositorio remoto
Representaciones de los datos
Por lo pronto hemos considerado la representación en HTML de TiddlyWiki y la hemos tratado como una aplicación (Single Page Application), donde en una única página se repreesentan contenido (en HTML), funcionalidad (en JavaScript) y apariencia (en CSS). Sin embargo también podemos interactuar con otro tipo de represetanción del TiddlyWiki, que son sus datos expresados en el formato JSON.
Revisemos la representación en JSON de nuestros wikis. Para ello los podemos cargar desde dos lugares: TiddlyHost, Chisel:
- TiddlyHost:
-
Compostaje Digital:
-
Vista HTML: https://composta-digital.tiddlyhost.com
-
Vista JSON: https://composta-digital.tiddlyhost.com/tiddlers.json
-
-
Nótese que una se obtiene de la otra a partir de agregar /tiddlers.json
a la dirección de wiki.
Vista master
- HTML :https://tekios.tiddlyhost.com/
- JSON: https://tekios.tiddlyhost.com/tiddlers.json
:::info La vistas desde Glamorous en forma de grafo de nuestros wikis fueron obtenidas a partir de la representación JSON de los mismos.
:::
Aprenderemos cómo hacer que la representación JSON de nuestro wiki, sea parte de nuestro repositorio de código:
-
Ingresamos a la carpeta donde tenemos nuestro wiki de Chisel clonado.
-
Abrimos el archivo del wiki desde nuestro navegador web.
-
Entrar a la barra principal para exportar los tiddlers como archivo
tiddlers.json
-
Argregamos el archivo
tiddlers.json
como archivo no versionado a nuestro repositorio. -
Sincronnizamos nuestros archivos no versionados locales y los remotos.
-
Listamos el enlace a nuestro archivo
tiddlers.json
en el repositorio remoto y ponerlo a continuación:
Hagamos unas consideraciones sobre las múltiples representaciones del wiki:
-
Su tamaño: La representación HTML (1) es 20 veces mayor que la representación JSON (2). Esto se debe a que el JSON tiene los datos "desnudos", mientras que el HTML es toda una aplicación web con funcionalidad (en JavaScript), apariencia (en CSS) y contenido (HTML).
-
El archivo JSON cuando se abre en un editor de texto (ventana izquierda) está representado en un archivo de una sóla línea y ~1700 caracterés. Algunos sistemas de control de versiones, en particular Fossil, consideran que cuando uno tiene un archivo con líneas muy largas se trata de un archivo binario y no de un archivo textual. Lo antiores le hace esta representación JSON de los tiddlers en una sóla línea bastante hostil para el control de versiones y mirar los cambios en el mismo.
La transformación a una representación extra, llamada STON, resolverá problema de control haciéndolo amigable al mismo (o diff friendly).
Errores
Something failed during the creation process please try again. Error:
fossil new failed: SQLITE_CANTOPEN(14): cannot open file at line 40257 of [5c9a6c0687]
SQLITE_CANTOPEN(14): os_unix.c:40257: (2) open(/data/diplo-masterius.fossil) - No such file or directory
Database error: [/data/diplo-masterius.fossil]: unable to open database file
- Error al momento de sincronizar archivos locales con repositorio remoto
en este caso particular se require sincronizar el usuario local con el repo remoto
fossil sync https://choff@chiselapp.com/user/choff/repository/choff-wikilexias