Lección 8: Enlaces Internos y Externos en JW Library

En esta lección aprenderás cómo funcionan los enlaces internos y externos en JW Library.

Además de las citas bíblicas que JW Library despliega a nuestro costado, otra de sus maravillosas funciones son los enlaces a información adicional.

Entre ellas podemos encontrar, las referencias extraídas de nuestras publicaciones, notas a pie de página y enlaces directos a otros documentos.

Así que revisaremos su estructura y por supuesto lo incluiremos a nuestro Docu-test. Verás que es muy parecido a nuestros enlaces a citas bíblicas.

Enlaces Internos

Llamaremos enlaces internos a aquellos que hacen referencia a un documento dentro de la propia publicación. Como te habrás dado cuenta cada entrada tiene su propio documento, pero mientras un enlace se refiera a un documento dentro de la misma base de datos, es un enlace interno.

¿Tenemos disponible un ejemplo?

Tabla de contenidos de nuestro folleto th-E

Si claro en nuestra publicación th_E donde extrajimos el archivo Study 1.htm podemos encontrar enlaces internos. Específicamente en el TOC, o Tabla de contenidos. Lo que en español sería el Índice de la publicación. Mientras tengas el jw-token de esta publicación puedes extraer cualquier información que almacene en su base de datos.

 

 

 

 

Así que vamos a cargar la base de datos del folleto “Teaching” (th_E) o “Maestros” en la versión en español y exportaremos el archivo binario de la Tabla de Contenidos o índice. ¿Recuerdas cómo hacerlo? Vamos a la Tabla Document y nos situamos en el campo blob llamado content de la fila que corresponde al índice de la publicación y exportamos el archivo.

Este lo guardaré como TOC.txt tú puedes guardarlo como Índice si lo deseas. Ahora debemos convertir este archivo binario a html.

 

 

Ya una vez colocado el jw-token del th-E y la carpeta de salida, podemos agregar nuestro archivo TOC.txt y le damos clic en Procesar.

Listo ahora abriremos nuestro archivo TOC.htm en Sigil. A continuación revisemos el documento.

Iremos al código fuente del documento y nos situaremos sobre el primer enlace llamado “A Letter From the Governing Body” (Carta del Cuerpo Gobernante).

El código de esta parte del documento es el siguiente:

<p id="p3" data-pid="3" class="sm"> <a class="it" href="jwpub://p/E:1102018440/">A Letter From the Governing Body</a></p>

Ya vimos que un párrafo contiene la etiqueta <p> y esta a su vez lleva sus atributos. Y además ahora tiene un atributo global class que es igual a “sm” , y eso ¿qué significa?

La lección anterior explicamos qué es un atributo class, y en este caso tiene que ver con la apariencia del texto. Si observas el documento en JW Library verás que los textos de las lecciones en el índice, además de ser enlaces lucen más remarcados en negrita como si llevaran la etiqueta <strong> pero en el código no aparece esta etiqueta. ¿Qué sucede?

Es términos básicos JW Library se encarga de que todos los textos que lleven la clase “sm” luzcan como si llevaran la etiqueta strong. Pero además esta clase puede tener otros atributos cómo que todos se muestren alineados a la derecha o que tengan un tipo de letra distinta y esto es gracias a un archivo de estilos ya instalado en la aplicación.

Digamos que ese archivo luce así:

class
.sm {
En negrita <strong>
Alineación a la derecha
Fuente de letra: Arial Black

}

En lugar de ir poniendo <strong> <bold> <font> o más etiquetas en cada párrafo, se hace un archivo como el de arriba que indique que todos los textos de clase “sm” llevarán esas etiquetas. Y si más adelante JW Library se actualiza y decide que debe agregarse otra etiqueta, por ejemplo una que haga que el texto sea cursiva, no tendrá que hacerlo párrafo por párrafo. Simplemente irá al archivo de arriba, localizará la clase “sm” y la añadirá, afectando a todos los que sean clase “sm”. Ahorrándonos mucho tiempo.

Se que nos salimos un poco del tema de los enlaces pero es importante dejar claro para que sirve este atributo ya que seguiremos viendolo en otros documentos. Y solo a base de experimentar podrémos entender que efecto tienen estos elementos en la aplicación.

Pasemos al enlace:

<a class="it" href="jwpub://p/E:1102018440/">A Letter From the Governing Body</a></p>

Abriendo con la etiqueta <a> ya sabemos que se trata de un enlace. Tiene un atributo class con valor “it” que debemos decir solo lo tienen los enlaces internos (“it” de internal ?). Así que recuerda bien ese detalle. Nuestro atributo href nos dice que la dirección interna, iniciando con el formato jwpub:// debe buscar en p/ una publicación, en la versión en inglés /E: del documento con el MEPS ID 1102018440/ .

Gracias al atributo class=“it” la aplicación sabe que debe buscar de forma interna en la base de datos local y desplegará el contenido que encuentre en el campo MepsDocumentId con ese número.

Si vemos la base de datos con DB Browser y revisamos que fila tiene ese MepsID

Veremos que corresponde precisamente al de “A Letter From the Governing Body”

Esa es la estructura de un enlace interno.

Pasemos a otro tipo de enlaces.

Enlaces externos

Los enlaces externos son aquellos que hacen referencia a documentos fuera de la base de datos. En este caso queremos tratar los enlaces a las referencias de nuestras publicaciones. Por tanto hablamos de enlaces a bases de datos de otros JWPUB.

JW Library tiene una función muy especial, pues cuando hacemos tab o clic a una referencia la información se despliega tengamos o no descargada la publicación. Por ejemplo si tengo mi “Meeting WorkBook” (Guía de Actividades) y quiero ver una referencia a una Atalaya del 2010. Al costado podemos ver la porción a la que se hace referencia.

Al hacer clic en la miniatura de la publicación, podremos acceder al documento completo de esa Atalaya. Si no la tenemos descargada se nos presentará la opción de hacerlo.

Y una vez descargada se nos dirigirá a la publicación.

¿Que hay detrás de esta función?

Bien pues sigue conmigo la lección y descarga el archivo mwb_E_201901.jwtkn del área de descargas. Vamos a procesar el archivo binario de esta publicación con JWBlober, específicamente la página de la imagen de arriba y veremos el código del documento html en Sigil.

El párrafo empieza en la línea 56, pero nos centraremos en el enlace que nos llevará a la Atalaya del 2010. El código es el siguiente:

<a class="xt" data-xtid="12" href="jwpub://p/E:2010084/13-16"><em>w10 </em>2/1 13 ¶2–14 ¶2</a>

En sí el código es muy similar al enlace interno que ya vimos más arriba. Pero claro con atributos que harán que se comporte de manera distinta.

El atributo class indica que es un enlace de tipo externo (“xt” external?) por lo que buscará fuera de la base de datos de la Meeting WorkBook. (Guía de Actividades) y se preparará para dirigirse a la base de datos de la Atalaya del 2010. Pero ¿puedes ver que hay otro atributo llamado data-xtid que es igual a 12? Eso significa que antes de ir a la Atalaya, hará una búsqueda en la misma base de datos, aunque no en la Tabla “Document” que es la única que hemos visto hasta ahora. Sino en la Tabla “Extract” que veremos a continuación.

Carguemos la base de datos de la Guía de Actividades (Meeting Workbook) de Enero del 2019 en DB Browser y pasemos de la tabla Document a la tabla Extract. Una vez aquí nos encontraremos con todas las porciones extraídas a las publicaciones que nuestra Guía de Actividades (Meeting WorkBook) hace referencia. ¿Dónde encontraremos nuestra Atalaya del 2010?

El mismo atributo data-xtid ya lo indicaba ¿lo notaste? dice que es igual a “12” y si buscamos el campo ExtractId con el número 12, podemos hallar nuestra referencia.

Si nos fijamos en los siguientes campos de esta fila, llegaremos a un campo BLOB también llamado “Content” . Es decir un archivo binario como los que tenemos en la Tabla “Document”.

Para ver el contenido de este BLOB, podemos hacerlo con el mismo token con el que procesamos los binarios de la tabla Document.

¿Hacemos la prueba? Exportaremos el binario de la referencia 12, que es nuestra Atalaya 2010 y lo convertiremos a html con JWBlober, veamos que encontramos.

Efectivamente ese archivo binario tiene la porción del artículo a la que hace referencia.

De manera que antes de dirigirse a la base de datos de la Atalaya, la aplicación busca de forma interna en la Tabla Extract y despliega la información que hay en el campo content con la ayuda del atributo data-xtid que le dice en que “fila” buscar.

Así es como funciona esta bondad de la aplicación, y de esa forma no es necesario descargar nada. Todo ya está almacenado para la comodidad de nuestro estudio.

Pero supongamos que queremos ver el artículo completo y no solo unos cuantos párrafos o los demás artículos de la revista. Es allí cuando entra en función lo que decíamos anteriormente, haciendo tab/clic en la portada en miniatura ahora sí nos envía a la publicación completa si ya está instalada o podemos descargarla.

Ahora bien, esta referencia por ejemplo solo cita una porción (cuatro párrafos) en la que se basará el discurso y no el artículo completo. ¿Has notado cómo al acceder al artículo completo, JW Library te resalta solo la porción de la referencia mientras atenúa el resto?

Para entender cómo se logra esto analicemos el resto del enlace:

<a class="xt" data-xtid="12" href="jwpub://p/E:2010084/13-16"><em>w10 </em>2/1 13 ¶2–14 ¶2</a>

Ya se le indicó a la app que va a buscar de forma externa. Ahora nuestro href nos dice que la aplicación debe dirigirse a /p una publicación, la versión en Inglés /E: del documento con el MEPSID 2010084/ que corresponde a la Atalaya, 1 de Febrero del 2010 y por último a los párrafos que tengan los atributos data-pid 13 hasta el 16.

Viendo el primer párrafo de la referencia, encontramos que su atributo data-pid es precisamente el 13 y bueno se entiende que los siguientes párrafos contienen la secuencia hasta el 16. Lo que hace que JW Library pueda encontrar fácilmente la porción a resaltar.

Esto es lo que está detrás de un enlace externo. ¿Sabrías cómo hacer tus propios enlaces internos y externos a a partir de ahora? Al menos en esta lección haremos una pausa a nuestro Docutest y no experimentaremos con él, pero quizás podremos empezar a tratar con publicaciones que se puedan utilizar cómo el bosquejo de un discurso.

Por último, ¿ves que hay una nueva etiqueta en nuestro enlace llamado <em>?

<em>w10 </em>2/1 13 ¶2–14 ¶2</a>

Este es similar a nuestra etiqueta <strong>, pero esta se encarga de que el texto entre las etiquetas se muestre como cursiva, una característica muy propia de las referencias, las cuales deben marcar como cursiva el símbolo de la publicación, en este caso solo se muestra en cursiva la parte de w10 mientras el resto permanece simple.

Así que tenlo presente cada vez que hagas un enlace a una publicación externa, pues aunque no afecta en nada al funcionamiento de la aplicación, se mantiene el formato y así se respeta la uniformidad del documento.

En la siguiente lección aprenderemos sobre cómo se implementan las footnotes, o en español las notas a pié de página.

Siguiente

Anterior

You may also like...

Deja un comentario