forked from livrasand4testing/Reviw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmanifestInfo.sublime-snippet
129 lines (101 loc) · 8.88 KB
/
manifestInfo.sublime-snippet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<snippet>
<content><![CDATA[
Los archivos en formato json, son utilizados por aplicaciones, y páginas web para guardar
estructuras de datos simples que sean legibles en un formato de texto normal. En el caso de JW Library, los archivos manifest.json, podríamos decir de forma sencilla que son
la carta de presentación del archivo JWPUB que se instalará. Pues contienen datos informativos, entre ellos, el tipo de publicación que contiene, el título, categoría, tamaño, firmas, etc.
Te mostraré a grandes rasgos para que se usa cada campo y conjunto de bloques, (aunque en
json se les llama claves a estos objetos, pero para no confundirnos simplificaremos) a fin de que puedas comprenderlo y aplicarlo a tus archivos una vez termines tu proyecto.
"name": "jy_E.jwpub", nombre de la empaquetación final en el formato JWPUB. Por
supuesto consiste en el símbolo de la publicación y el código de idioma. Más la extensión jwpub.
"hash": "925a0fb987fba9a80fa86345944340d1c092622be7dd584b7afb88ab14bb176c", firma
única o hash de cada publicación empaquetada (Archivo contents) con el algoritmo SHA-256.
Para conseguir esta firma solo necesitas un software que pueda calcular el hash o firma del
archivo contents. Puedes hacer lo siguiente, cuando hayas terminado tu proyecto, selecciona todos los archivos, a excepción del archivo manifest.json para comprimir las imágenes jpg y el archivo *.db en formato zip. Puedes usar winrar u otro software similar. El archivo resultante debes renombralo como “contents” sin extensión. Vamos a usar la aplicación HxD, un editor hexadecimal para calcular el hash del archivo contents.
Puedes abrir la aplicación y arrastrar el archivo contents sobre ésta o de la forma tradicional desde el menú de esta herramienta. A continuación ve al menú Análisis y selecciona la opción Sumas de verificación… Al abrirse el cuadro “Generar sumas de verificación”, selecciona el algoritmo SHA-256. El programa tardará un momento dependiendo de la longitud del archivo y te arrojará una firma única o hash que no será igual al de ninguna otra publicación. Selecciónala y dale copiar.
Pega esa firma en el archivo manifest, del campo “hash”. Hemos conseguido un hash o firma formado por letras y números, tal y como lo establece este algoritmo. Pero esas letras debemos convertirlas a minúsculas.
A continuación verás algunos parámetros fáciles que puedes deducir por ti mismo. Pero aún así incluyen una breve explicación. Los valores que no tengan ninguna explicación, puedes optar por poner el mismo valor en tus archivos. Otros campos incluyen además una explicación más amplia por lo que te invito a analizarlos detenidamente.
"timestamp": "2017-02-23T16:36:56Z", fecha y hora de creación en la publicación, en formato Año/Mes/Día
"version": 1,
"expandedSize": 48278439, tamaño del archivo desempaquetado (contents) en bytes. Este campo se refiere al tamaño que ocupa la publicación una vez que se hayan descomprimido las imágenes y la base de datos. Para obtener este valor, puedes ver el tamaño del archivo (más
bien carpeta contents) haciendo clic derecho sobre este y viendo las propiedades. Copiando el tamaño en bytes, asignarás un valor exacto del tamaño de tu publicación.
Estos valores pueden dejarse como están:
"contentFormat": "z-a",
"htmlValidated": false,
"mepsPlatformVersion": 2.100000,
"mepsBuildNumber": 7098,
Pasemos al siguiente bloque:
"publication": {
"fileName": "jy_E.db", Nombre de la base de datos local.
"type": 1,
Estos serán los títulos completos y abreviados que aparecerán en el catálogo de publicaciones. Por favor respeta el siguiente formato una vez que hagas tu proyecto:
"title": "Jesus—The Way, the Truth, the Life",
"shortTitle": "Jesus—The Way",
"displayTitle": "Jesus—The Way (jy)",
"referenceTitle": "Jesus—The Way",
"undatedReferenceTitle": "Jesus—The Way",
Símbolo de la públicación sin código de idioma.
"symbol": "jy",
"uniqueEnglishSymbol": "jy",
"uniqueSymbol": "jy",
"undatedSymbol": "jy",
"englishSymbol": "jy",
"language": 0, “0” Número de lenguaje correspondiente al idioma inglés. Para ver el número
de tu idioma consulta: ayuda>lenguajes.
"hash": "36ff59b6a914874aeb5f4e7d27e48655735db107", Firma única o hash de la base de datos local *.db en el algoritmo SHA-1
Este valor se obtiene de la misma manera que el hash del archivo contents. (Revisa el
procedimiento) Pero en su lugar abrirás el archivo de la base de datos (*.db con HxD y
seleccionarás el algoritmo SHA-1)
"minPlatformVersion": 1,
"schemaVersion": 8, Versión del esquema de la base de datos local.
"year": 2023, Año en que se editó la publicación en el lenguaje local.
"issueId": 0,
"issueNumber": 0, Número de publicación basado en la fecha de documentos mensuales o
quincenales como las revistas, ministerios y Guía de Actividades. Puedes darte una idea de su formato abriendo el archivo manifest.json de alguna de estas publicaciones y replicandolas en tus proyectos.
"variation": "", Se modifica este valor en caso de publicaciones que hayan sido editadas
para una región específica. Como Nuestro Ministerio del Reino que variaba por Sucursal. Al
momento no he visto una publicación oficial usando este campo.
"publicationType": "Book", Tipo de publicación en este caso “Libro”
Puedes consultar las categorías disponibles en ayuda>categorias.
"rootSymbol": "jy", Símbolo de la publicación base sin el código de idioma.
"rootYear": 2023, Año en el que se editó por primera vez esta publicación, casi siempre en
inglés.
"rootLanguage": 0, Número de Idioma en la que fue editada originalmente la publicación, o
idioma base. Casi siempre “0” (Inglés)
A continuación el siguiente bloque corresponde a las imágenes de presentación de la
publicación. (Portadas y miniaturas por ejemplo que se verán en JW Library)
"images": [
{
"signature": "220b2bd1a7a8471b75733c39b056ad62d3666ec8:1200:1543", Firma
única en algoritmo SHA-1 más las dimensiones de la imagen. Obtén la firma de la misma manera que con el archivo contents y el *.db, usando el HxD y seleccionando el algoritmo SHA-1. Después a la firma resultante agrega los valores de altura y anchura de la imagen. En el caso de las imagenes tipo T (tile) puedes obtener la firma de la imagen más grande 600×600 y repetir la firma en el resto de las imagenes del mismo tipo. Solo no olvides agregar los valores de tamaño.
"fileName": "1102014600_E_cvr.jpg", – Nombre del archivo en formato JPG "type": "c", Tipo “c” (cover), le indica a la aplicación que se trata de la Portada de la publicación en la primera página. Tipo “t” (Tile) indica que es la imagen que aparecerá en las miniaturas del catálogo y las referencias. Verás que hay otros tipos como “lsr” y “pnr” pero estas imágenes son opcionales. Ya que no son visibles al usuario. Así que no es necesario agregar imágenes de este tipo. Si más adelante JW Library se actualiza y hace uso de estos archivos podremos ampliar este tema en un futuro.
"attribute": "r", Archivo “only-read” (solo lectura)
"width": 1200, Anchura de la imagen en píxeles.
"height": 1543 -Altura de la imagen en píxeles
},
Fin del bloque o ficha de la imagen.
Ahora viene la parte final del archivo.
"categories": [
"bk"
], Aquí se coloca el valor de la categoría de forma abreviada. “bk” por “book”. Para ver otras categorías de las publicaciones, consulta ayuda>categorias. El resto de los valores permanece en blanco.
"attributes": [
],
"issueAttributes": [
],
Este bloque final llamado “issuesProperties” (como dije antes en json a este objeto con llaves o corchetes se les llama “claves”) se le agregan valores solo cuando se trata de una publicación periodica. Revisa una Guía de Actividades o revista como referencia para saber cómo debes llenar este campo.
"issueProperties": {
"title": "",
"undatedTitle": "",
"coverTitle": "",
"symbol": "",
"undatedSymbol": ""
}
Se cuidadoso y revisa que cada llave o corchete, así como las comas estén en su lugar, ya que una mala edición en este archivo simplemente no permitirá la instalación de tu JWPUB. Por lo que te recomiendo que siempre tengas abierta en otra pestaña un archivo manifest.json de una publicación oficial y compares mientras editas tu propio archivo.
Ya que hayas terminado de editar el archivo manifest.json no olvides guardar los cambios.
Solo queda, finalizar el archivo. Recuerda que debes comprimir todos los archivos, a excepción del archivo json. en formato zip y renombrarlo a contents. Luego comprime o empaqueta nuevamente tanto el archivo contents como el archivo manifest en un nuevo archivo zip. Que renombrarás al nombre de tu publicación o proyecto con la extensión jwpub.
¡Y listo! Ya tendrás un JWPUB hecho por ti, listo para ser instalado.
¡Enhorabuena! 👏👏👏
]]></content>
<tabTrigger>ayuda>manifest</tabTrigger>
<description>Información del archivo manifest</description>
<scope>text.html</scope>
</snippet>