Enlaces que sobreviven a un cambio de nombre

Productivity

Quien haya mantenido un archivo de notas enlazadas durante más de un año se ha topado con este fallo.

Escribiste una nota llamada Q3 planning. En ocho meses, otras treinta notas llegaron a hacer referencia a ella. Luego terminó el tercer trimestre y la renombraste a Q3 planning (2025), que es lo obviamente correcto.

Se rompieron treinta enlaces. Sin hacer ruido. Siguen mostrándose, siguen pareciendo enlaces y ahora apuntan a una nota que no existe. Algunos sistemas, muy serviciales, se ofrecen a crearla por ti, y acabas con una segunda nota Q3 planning vacía rondando por tu grafo.

La causa es que la mayoría de las apps de notas al estilo wiki guardan el enlace como el título. [[Q3 planning]] es literalmente la cadena "Q3 planning", que al mostrarse se resuelve buscando una nota con ese nombre. El enlace es una suposición que casi siempre acierta.

Notez guarda el ID.

Qué inserta realmente [[

Escribe [[ en el editor y se abre un selector con las notas de tu espacio de trabajo. Elige una (o crea una nota nueva desde el mismo selector) y lo que llega al documento es un nodo con dos datos:

  • noteId — el identificador real de la nota de destino

  • fallbackTitle — el título que tenía en el momento en que lo insertaste

El ID es el enlace. El título de respaldo es un rótulo de último recurso.

Al cargarse, el chip busca la nota de destino por su ID y muestra su título actual. Renombras la nota de destino y todos los chips que apuntan a ella se actualizan, en todas partes, al instante. Nada que reparar, ningún buscar y reemplazar masivo en todo tu archivo, ningún informe de "enlaces sin resolver" que revisar un domingo.

Esto también hace que los enlaces sean inequívocos de un modo que los enlaces por título nunca pueden serlo. Dos notas pueden compartir título. Dos notas no pueden compartir ID.

Los retroenlaces son una consulta, no algo que tengas que mantener

Como los enlaces se guardan en forma de referencias reales, la dirección inversa sale gratis.

Cada vez que se guarda una nota, Notez recorre el documento guardado, reúne los ID de las notas a las que hace referencia y compara ese conjunto con lo que tenía registrado: inserta los enlaces nuevos y borra los que se quitaron. La tabla de enlaces es una función pura de tu contenido. No puede desincronizarse de lo que escribiste, porque se reconstruye a partir de lo que escribiste en cada guardado.

En esa pasada se filtran algunas cosas, cada una por un motivo concreto:

  • Enlaces a sí misma. Una nota que se enlaza a sí misma no es una relación.

  • Destinos en otro espacio de trabajo. Solo se conservan las notas del mismo espacio de trabajo. Por eso un enlace desde tu espacio de trabajo laboral nunca puede revelar que existe una nota personal: no por una regla, sino por cómo está construido.

  • ID mal formados. Las notas que llegan de un importador pueden traer referencias provisionales sin resolver antes de que la importación termine de conectarlas. Esas se descartan en lugar de dejar que hagan fallar el guardado.

Los retroenlaces son entonces la misma tabla leída al revés: todas las notas cuyo contenido hace referencia a esta. No hay un índice de retroenlaces aparte que reconstruir ni un modo de mantenimiento. La sección Notas vinculadas de una nota muestra las dos direcciones.

Dos tipos de enlace, a propósito

Los enlaces [[ dentro del texto no son la única forma en que las notas se apuntan entre sí. La otra es la propiedad personalizada de tipo relación: un campo tipado cuyo valor es otra nota. Por ejemplo, una propiedad Client en cada nota de reunión, que apunta a la nota de ese cliente.

Se parecen, pero se guardan de forma totalmente distinta. Los enlaces dentro del texto se escriben en la tabla de enlaces al guardar. Los enlaces de relación se calculan al leer y nunca se escriben ahí.

El motivo es un fallo que no quiero llevar a producción dos veces. La conciliación al guardar compara el conjunto entero de enlaces de una nota y borra todo lo que no está en el contenido. Si los enlaces de las propiedades de relación se mezclaran en esa misma tabla, el siguiente guardado del contenido de esa nota miraría el documento, no los encontraría y los borraría. Tus relaciones Client se evaporarían nota a nota, justo en el momento en que editaras cada una; es decir, sin que nadie lo viera y solo en tus notas más activas.

Así que los dos tipos se guardan por separado y se unen al leerlos. Un poco más de trabajo en cada lectura; ninguna posibilidad de que uno se coma al otro en silencio.

La diferencia práctica para ti:

  • Los enlaces dentro del texto son prosa. Van en mitad de una frase, donde la conexión es una idea que estás teniendo: "esto viene de [[el postmortem de los reintentos]]".

  • Las propiedades de relación son estructura. Tienen sentido cuando todas las notas de un tipo tienen ese mismo puntero y quieres filtrar y ordenar por él.

Usa los dos. Responden a preguntas distintas.

El grafo

Cuando los enlaces son referencias reales, una vista de grafo es solo una forma de dibujar datos que ya tienes, no algo aparte que construir. La sección Notas vinculadas de cualquier nota se puede ver como lista o como grafo de lo que enlaza y de lo que la enlaza a ella.

Una salvedad. Una vista de grafo es útil de verdad para la exploración local: ver el entorno de una nota, descubrir un grupo de notas que no habías planeado. Es mucho menos útil para visualizar el archivo entero. Diez mil notas dibujadas como una maraña son un salvapantallas. Hice el grafo local.

Qué hacen los enlaces en una nota compartida públicamente

Comparte una nota públicamente y sus enlaces dentro del texto se comportan con cuidado. La vista pública no tiene acceso a tu espacio de trabajo, así que el chip muestra el fallbackTitle guardado al insertarlo (el rótulo de último recurso por fin sirve para algo) y solo se convierte en un enlace que funciona si la nota de destino también está compartida públicamente.

Si no lo está, el chip aparece como texto gris e inactivo. Le dice al lector que ahí se hace referencia a algo, sin revelar su título actual ni darle acceso.

Es el comportamiento correcto por defecto, y conviene saberlo antes de compartir una nota: una nota compartida no arrastra consigo a la vista pública las notas que enlaza. Si quieres que un conjunto de notas enlazadas se pueda leer, comparte cada una de ellas.

Cómo usarlo en la práctica

Enlazar es de esas funciones que es fácil planificar de más y luego no usar nunca. Lo que funciona:

  1. Enlaza mientras escribes, no después. El momento en que escribes una frase que se refiere a algo que ya escribiste es el momento en que sabes que el enlace existe. Más tarde no lo recordarás.

  2. No lo enlaces todo. Una nota enlazada desde cuarenta sitios no te dice nada. Los enlaces solo aportan información cuando son selectivos.

  3. Revisa los retroenlaces antes de escribir una nota nueva. Abre la nota sobre el tema, mira qué apunta ya a ella y a menudo descubrirás que escribiste la mayor parte de la nota nueva hace ocho meses.

  4. Convierte un enlace repetido en una propiedad de relación. Si has enlazado a mano la nota de un cliente desde cada nota de reunión, eso ya no es prosa: es un campo. Conviértelo en uno y tendrás filtros y orden sin trabajo extra.

  5. Renombra sin miedo. De eso se trata. Los títulos son descripciones, no identificadores, y deberías poder mejorarlos cada vez que se te ocurra uno mejor.

Esto último es la ventaja discreta de los enlaces por ID, y tarda en notarse. En un sistema que enlaza por título dejas poco a poco de renombrar cosas, porque renombrar tiene un coste y ya te ha salido caro alguna vez. Acabas con un archivo lleno de títulos con los que te conformaste.

Con enlaces que sobreviven a un cambio de nombre, los títulos siguen mejorando.

Sigue leyendo