Question
Insertar una nota compartida en múltiples registros.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
Si alguién me puede indicar la “orden” necesaria, lo agradecería mucho (imaginad tenerlo que hacer manualment).Gracias.
www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- bertkoor
-
- Offline
- Platinum Member
-
- Greetings from Utrecht, Holland
How many records of "Capó" do you have? I'd just do it manually if it's less than 100.
stamboom.BertKoor.nl runs on webtrees v2.2.1
Please Log in or Create an account to join the conversation.
- Franz Frese
-
- Offline
- Platinum Member
-
¿La nota debe colocarse directamente en la etiqueta con el nombre?
¿O debería aparecer en Notas sobre la persona (pestaña Notas)?
Please Log in or Create an account to join the conversation.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
Les notes (compartides) es poden inserir en molts llocs.
Sí. Eso lo sé.
En principio es lo que me gustaría y lo que tenía decidido si no me aconsejáis otras opciones.¿La nota s'ha de col·locar directament a l'etiqueta amb el nom?
Podría ser una segunda opción, pero como las notas compartidas a las que me refiero corresponden a un pequeño estudio sobre los apellidos, considero que adjuntarlo a "nombre" sería más lógico.¿O hauria d'aparèixer en Notes sobre la persona (pestaña Notas)?
¿Qué pensáis?
Ejemplo:
Antonio Capó Roselló (X35936) …–… – QUI ES QUI A CALP I BENISSA. [Webtrees]
www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
Són muchos más. Se trata de un pequeño estudio sobre los apellidos más numerosos de mi árbol. Actualmente, tengo registrada la nota compartida en la persona «más antigua», pero como no siempre los visitadores de la web llegan tan lejos, me gustaría que apareciera en todos los registros.
www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- bertkoor
-
- Offline
- Platinum Member
-
- Greetings from Utrecht, Holland
Maybe it's easier to write an article in the FAQ and make a HTML block about it on the front page of the tree.
stamboom.BertKoor.nl runs on webtrees v2.2.1
Please Log in or Create an account to join the conversation.
- Franz Frese
-
- Offline
- Platinum Member
-
Please Log in or Create an account to join the conversation.
- Franz Frese
-
- Offline
- Platinum Member
-
Lo siento, olvidé incluir eso en el ejemplo.
Llevar
Texto de la sustitución (\1 is the first part before /Smith, \2 is the part behind /Smith)
Please Log in or Create an account to join the conversation.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
He efectuat una primera prova amb l'apel·latiu "Capó" i aquesta és la configuració que em funciona:
\n1 NOM(.+)\Capó(.+)\n
\n1 NOM\1Capó\2\n2 NOTA @X35973@\n
El resultat és el que necessitaba.
Com pots apreciar, hi ha petites diferències amb el teu codi (barras invertides i algun espai). Confírmame, per favor, que és correcte abans de començar fer canvis. Creo que funciona, pero tengo miedo a equivocarme gravement. (estoy haciendo canvis un per un per si acaso).
Moltes gràcies!
EDITO: en la captura aparece la nota como @35973@ cuando lo correcto es: @X35973@.
www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- Franz Frese
-
- Offline
- Platinum Member
-
Du willst die NAME - Zeile ja nicht ändern.
Da würde \Capo durch Capo ersetzt, was du bestimmt nicht willst.
Vermutlich kannst du auch einfach nach Capo suchen, statt \Capo
Der Nachname wird ja in / eingeschlossen (vermutlich ist das \ aus Versehen da rein gekommen),
In meinem obigen Beispiel steht /Smith, analog müsstest du /Capo suchen. Oder wie gesagt nur Capo, dann kann es an beliebiger Stelle in der Namenszeile sein.
Ein \ müsste wohl "Escaped" werden.
Ich bin nicht der Regex Experte!
Wo hast du Leerzeichen geändert?
Das Ergebnis der Änderung kann man sich ja in der Vorschau anzeigen lassen.
Und nicht vergessen vorher einen Gedcom Export (=backup) zu machen. Dann bist du auf der sicheren Seite.
Please Log in or Create an account to join the conversation.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
Saludos, Franz!Nein, es kann nicht richtig sein.
Du willst die NAME - Zeile ja nicht ändern.
Da würde \Capo durch Capo ersetzt, was du bestimmt nicht willst.
Vermutlich kannst du auch einfach nach Capo suchen, statt \Capo
Der Nachname wird ja in / eingeschlossen (vermutlich ist das \ aus Versehen da rein gekommen),
In meinem obigen Beispiel steht /Smith, analog müsstest du /Capo suchen. Oder wie gesagt nur Capo, dann kann es an beliebiger Stelle in der Namenszeile sein.
Ein \ müsste wohl "Escaped" werdenSaludos, Franz!
He estado haciendo pruebas y \n1 NAME(.+)\Capó(.+)\n me funciona correctamente. Mira las capturas 1 y 2. [No modifica el nombre]
Respecto a «un espacio», disculpa. Es un error por mi parte y, por supuesto, voy con mucho cuidado en las modificaciones.
Un par de preguntas más.
- Estas mismas instrucciones se pueden repetir en otros términos del lenguaje GEDCOM como por ejemplo: PLAC ?
- Como esta expresión regular la voy a repetir cada cierto tiempo, es posible completarla con una orden que evite «duplicar» la NOTE. Es decir, si ya está incluida, que no aparezca en la búsqueda para evitar una segunda anotación idéntica. [Se podría hacer manualmente, pero lleva mucho tiempo]
Saludos.
www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- Franz Frese
-
- Offline
- Platinum Member
-
I do not know how to avoid duplication.
There is no fixed position with a gedcom structure for notes, what makes changes even more complicated.
Please Log in or Create an account to join the conversation.
- elysch
-
- Offline
- New Member
-
- Posts: 59
Unos comentarios.
a) Como el primer paréntesis se cierra antes de la diagonal, en realidad no va a aparecer en el texto reemplazado.
Si el texto original es:
1 NAME Juan Bautista /Capó Ferrer/
Al reemplazar quedará:
1 NAME Juan Bautista Capó Ferrer/
Recomiendo cambiarlo a:
\n1 NAME(.+/)Capó(.+)\n
b) ¿Qué pasaría si Capó es el segundo apellido?
Recomiendo cambiarlo a:
\n1 NAME(.+/.*)Capó(.*/)\n
c) Si se puede hacer que lo reemplace solamente si el siguiente renglón no es una nota utilizando algo como esto
\n1 NAME(.+/.*)Capó(.*/)\n[^2][^ ][^N][^O][^T][^E][^ ][^\@][^X][^3][^5][^9][^7][^3][^\@]
El símbolo ^ es una negación cuando está al principio entre [ y ]
d) El reemplazo debe ser algo como esto:
\n1 NAME\1Capó\2\n2 NOTE @X35973@\n
e) Si se puede acomodar para agregar cosas después de PLAC
OJO: No pude probarlo antes de mandar este mensaje, pero está expresada la idea general. No recuerdo si se requiere usar [^\@] o simplemente [^@]
Saludos.
webtrees 2.1.22
Show-XREFs-UIDs Module
Enhanced Family Book Chart Module
Please Log in or Create an account to join the conversation.
- elysch
-
- Offline
- New Member
-
- Posts: 59
Se puede evitar así:
\n1 NAME(.+/.*)\<Capó\>(.*/)\n[^2][^ ][^N][^O][^T][^E][^ ][^\@][^X][^3][^5][^9][^7][^3][^\@]
webtrees 2.1.22
Show-XREFs-UIDs Module
Enhanced Family Book Chart Module
Please Log in or Create an account to join the conversation.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
Correcto. Lo he comprobado y funciona correctamente.a) Como el primer paréntesis se cierra antes de la diagonal, en realidad no va a aparecer en el texto reemplazado.
Si el texto original es:1 NAME Juan Bautista /Capó Ferrer/ -> Al reemplazar quedará: 1 NAME Juan Bautista Capó Ferrer/
Recomiendo cambiarlo a:\n1 NAME(.+/)Capó(.+)\n
No utilizo los «segundos apellidos», pero toma nota de tu solución por si lo necesitase en un futuro)b) ¿Qué pasaría si Capó es el segundo apellido?
Recomiendo cambiarlo a: \n1 NAME(.+/.*)Capó(.*/)\n
Creo entender tu lógica. Si después de la línea de NAME (con el valor que sea) NO hay otra línea con 2 NOTE @xxxxx@, entonces añadir línea de reemplazo.Si se puede hacer que lo reemplace solamente si el siguiente renglón no es una nota utilizando algo como esto
\n1 NAME(.+/.*)Capó(.*/)\n[^2][^ ][^N][^O][^T][^E][^ ][^\@][^X][^3][^5][^9][^7][^3][^\@]
o
\n1 NAME(.+/)Capó(.+)\n[^2][^ ][^N][^O][^T][^E][^ ][^\@][^X][^3][^5][^9][^7][^3][^\@]
Hasta este momento he estado realizando pruebas y no puedo confirmar que funcione correctamente. Creo que sí hace su trabajo buscando en los registros [2 NOTE @XXXX@], pero no los selecciona para ejecutar la línea de reemplazo. Es decir, me devuelve «0» resultados. He ensayado con [^\@] o simplemente [^@], pero no veo resultados positivos. He intentado «engañarle» para que busque una NOTE que no existe y, por lo tanto, me debía de haber encontrado todos los registros «Capó» y proponerme añadir la línea de reemplazo. Tampoco ha funcionado hasta ahora.
En los próximos días haré diferentes pruebas a ver si encontrase una forma de que funcione (o si he cometido algún error), pero si puedes dedicarle un poco de tu tiempo para comprobar tus órdenes, te lo agradecería mucho. Si no dispones de ese tiempo, lo comprendo e igualmente te agradezco tu interés en ayudarnos a los que ponemos más voluntad que sabiduría en estas cosas.
Lo dicho. Muchas gracias.
PS. Si fuera necesario, adjuntaría capturas de pantalla.
www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
He probado tu recomendación (con otro apellido) y en la captura te muestro el resultado.Esto también agregará la nota si existe alguna palabra que contenga Capó, es decir que tiene más letras antes o después.
Se puede evitar así:
\n1 NAME(.+/.*)\<Capó\>;(.*/)\n[^2][^ ][^N][^O][^T][^E][^ ][^\@][^X][^3][^5][^9][^7][^3][^\@]
Según entiendo yo: La orden pide que busque en el nombre [NAME] la palabra BAÑULS y compruebe si la línea siguiente NO TIENE el texto: 2 NOTE @10435@ [que seguro no tiene porque esa NOTE no existe]. Si se cumple [que no tiene la línea mencionada], sustituir por la nota @X10436@.
El sistema me devuelve «0» registros, como puedes ver en la captura.
Gracias por tu paciencia

www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- elysch
-
- Offline
- New Member
-
- Posts: 59
Lamento que no funcionara a la primera. Ya encontré el error. Utilicé expresiones regulares del lenguaje de programación C (editor de texto vi) y webtrees utiliza expresiones regulares del lenguaje de programación Perl.
Esta es la expresión de búsqueda corregida (espero):
\n1 NAME(.+/.*)\bCapó\b(.*/)\n(?!2 NOTE @X35973@\n)
Cambié:
\< y \> por \b para indicar inicio o fin de palabra
Y utilicé ahora una opción llamada "Negated lookahead":
(?! )
¿Puedes probar por favor?
Saludos
webtrees 2.1.22
Show-XREFs-UIDs Module
Enhanced Family Book Chart Module
Please Log in or Create an account to join the conversation.
- Bernat
-
Topic Author
- Offline
- Junior Member
-
Esta es la expresión de búsqueda corregida (espero):
\n1 NAME(.+/.*)\bCapó\b(.*/)\n(?!2 NOTA @X35973@\n)
Cambié:
\< y \> por \b para indicar inicio o fin de palabra
Y utilicé ahora una opción llamada "Negated lookahead":
(?! )
Funciona perfectamente!!!!! Muchísimas gracias.

Ver las capturas:
Una última cuestión. La mayoría de las ocasiones, necesitaría aplicar la inscripción de la NOTE cuando el apellido ocupe el primer lugar. La orden que estoy utilizando y parece funcionar es: \n1 NAME(.+/)Bañuls(.+)\n(?!2 NOTA @X10435@\n)
¿Es correcto?
Nuevamente, muchísimas gracias.
www.quiesquiacalp.es
webtrees 2.2.
Servidor MySQL 8.0.36
Servidor web: nginx/1.18.0
Versión PHP 8.3.3.
Hosting a webtrees.net
Please Log in or Create an account to join the conversation.
- elysch
-
- Offline
- New Member
-
- Posts: 59
Tal vez exagero, pero es importante poner \b para evitar el cambio en otro apellido que comience igual. (Mejor exagerar que corregir después, creo)
\n1 NAME(.+/)Bañuls\b(.+)\n(?!2 NOTE @X10435@\n)
(Al principio de la palabra no importa porque está la diagonal)
Por lo visto ya le entendiste.

PS: Discovered it had "NOTA" instead of "NOTE". Fixed it
Saludos.
webtrees 2.1.22
Show-XREFs-UIDs Module
Enhanced Family Book Chart Module
Please Log in or Create an account to join the conversation.
- hermann
-
- Offline
- Elite Member
-
Hermann
Designer of the custom module "Extended Family"
webtrees 2.2.1 (all custom modules installed, PHP 8.3.12, MariaDB 10.6) @ ahnen.hartenthaler.eu
Please Log in or Create an account to join the conversation.