1 00:00:11,520 --> 00:00:13,600 Os voy 2 00:00:13,600 --> 00:00:16,200 a comentar un poco la experiencia que hemos tenido 3 00:00:16,200 --> 00:00:19,480 en la Biblioteca UNED con el tema de la bibliografía 4 00:00:19,480 --> 00:00:22,480 recomendada. 5 00:00:23,920 --> 00:00:26,920 Primero, poniendo un poco en contexto, 6 00:00:27,080 --> 00:00:28,840 me imagino que todos conocéis la. 7 00:00:28,840 --> 00:00:31,840 Es una universidad nacional 8 00:00:31,920 --> 00:00:35,360 que tiene rango estatal con bibliotecas distribuidas por todo el territorio. 9 00:00:36,480 --> 00:00:40,560 Al ser a distancia hace un uso bastante intensivo de la bibliografía 10 00:00:40,560 --> 00:00:44,360 recomendada porque tiene un modelo mixto con tutorías 11 00:00:44,360 --> 00:00:47,360 presenciales, 12 00:00:47,360 --> 00:00:51,400 clases que se imparten online y demás, pero también se maneja 13 00:00:51,400 --> 00:00:52,800 muchísimo la bibliografía recomendada, 14 00:00:52,800 --> 00:00:55,440 tener mucha importancia para los estudiantes. 15 00:00:55,440 --> 00:00:57,000 Además, 16 00:00:57,000 --> 00:01:00,360 hay una red de centros que pertenecen a la estructura 17 00:01:00,360 --> 00:01:02,640 académica de la universidad, pero que tienen autonomía. 18 00:01:02,640 --> 00:01:03,760 Eso es importante. 19 00:01:03,760 --> 00:01:08,000 Luego, a la hora de las adquisiciones que os comentaré un poquito después, 20 00:01:09,360 --> 00:01:12,360 como os comentaba, está dispersa por todo el territorio 21 00:01:12,800 --> 00:01:15,920 y es bastante relevante a la hora de hacer una búsqueda para un estudiante 22 00:01:16,480 --> 00:01:17,760 saber dónde está el libro. 23 00:01:17,760 --> 00:01:21,400 Si yo busco y hago una búsqueda general de toda la bibliotecas, 24 00:01:21,840 --> 00:01:22,640 pues me voy a encontrar. 25 00:01:22,640 --> 00:01:26,640 Si estoy en La Gomera y me dice que hay un libro en A Coruña, 26 00:01:26,640 --> 00:01:29,600 pues no me va a servir de nada. Entonces necesito poder acotar 27 00:01:30,840 --> 00:01:32,680 esto es bastante importante 28 00:01:32,680 --> 00:01:36,240 que no ocurre en todas las universidades cuando están en un campo limitado. 29 00:01:36,400 --> 00:01:38,640 No sé, se me ocurre la Autónoma de Madrid, 30 00:01:38,640 --> 00:01:42,120 que es un conjunto de bibliotecas relativamente próximas. 31 00:01:42,480 --> 00:01:46,800 Si yo estudio derecho, pero tengo necesidad de un libro de 32 00:01:47,280 --> 00:01:50,600 tecnológico de de la Facultad de Ingeniería, 33 00:01:50,600 --> 00:01:54,120 pues puedo desplazarme unos metros y conseguirlo. 34 00:01:54,120 --> 00:01:57,120 Pero aquí es fundamental no tener un 35 00:01:58,080 --> 00:01:59,400 bien. 36 00:01:59,400 --> 00:02:02,760 Esto al tener esta necesidad 37 00:02:02,760 --> 00:02:05,760 ya se planteó cuando teníamos Symfony 38 00:02:06,000 --> 00:02:10,880 en utilizábamos en desarrollamos un sistema para poder buscar 39 00:02:10,880 --> 00:02:16,960 por por las asignaturas y ya sabéis que se incluyen, se incluyen unos códigos 40 00:02:16,960 --> 00:02:20,120 en los registro bibliográficos que corresponden a la asignatura concreta. 41 00:02:20,720 --> 00:02:23,960 Entonces lo que desarrollamos fue una página 42 00:02:25,280 --> 00:02:28,280 estructurada con HTML, CSS y JavaScript 43 00:02:28,800 --> 00:02:32,640 para para conseguir presentar de forma amigable 44 00:02:32,640 --> 00:02:36,400 al usuario que no tenga que recordar el código de la asignatura concreta, 45 00:02:36,400 --> 00:02:39,640 sino que pueda, a través de desplegables, en un formulario 46 00:02:40,720 --> 00:02:43,400 pueda localizar la asignatura que le interesa. 47 00:02:43,400 --> 00:02:46,920 No tenga que acordarse ni de nombre ni de código ni de nada parecido 48 00:02:47,520 --> 00:02:50,920 y pueda pueda seleccionar la opción y buscar 49 00:02:51,440 --> 00:02:54,440 entonces en 50 00:02:54,480 --> 00:02:56,520 en este esquema 51 00:02:56,520 --> 00:03:00,600 digamos que el HTML lo que hace, ya sabéis, es estructurar la página. 52 00:03:00,920 --> 00:03:04,280 Son las etiquetas que dan formato a los contenidos. 53 00:03:04,880 --> 00:03:07,880 Incluso ya en un futuro 54 00:03:08,240 --> 00:03:11,320 formato semántico, el CSS aporta 55 00:03:11,800 --> 00:03:14,960 la configuración de la presentación con los colores, 56 00:03:15,480 --> 00:03:20,440 los márgenes, la centrado de elementos que fluyen, que se colocan en línea, 57 00:03:21,200 --> 00:03:24,480 en fin, elementos que se visualizan o no se visualizan. 58 00:03:25,200 --> 00:03:29,360 Y JavaScript lo que aportan Este conjunto es la capacidad de interactuar, 59 00:03:29,400 --> 00:03:33,560 no tener una página estática, sino que sea dinámica y responda 60 00:03:33,640 --> 00:03:36,640 ante los requerimientos del usuario. 61 00:03:37,680 --> 00:03:42,120 Lo que se hizo fue construir una una pequeña aplicación. 62 00:03:42,120 --> 00:03:46,600 Se le puede llamar la aplicación porque ya pasa de ser una página con muchas capas. 63 00:03:46,600 --> 00:03:51,600 Bueno, la idea es un poco pedestre, es construir muchas capas en las que 64 00:03:51,640 --> 00:03:56,760 tienes una capa para así vaya a mostrar diferentes tipos de bibliografía. 65 00:03:56,920 --> 00:04:01,840 Tienes contenidas todas las titulaciones, por ejemplo de grado en una capa, 66 00:04:02,520 --> 00:04:06,760 todas las de máster en otra capa y así si puedes dentro de esa 67 00:04:06,760 --> 00:04:10,680 y otras capas que tú haces visibles según la titulación que elijas. 68 00:04:11,400 --> 00:04:12,800 Esta sería un poco la idea. 69 00:04:12,800 --> 00:04:16,680 Y entonces, en una primera fase lo que hicimos fue construir el documento 70 00:04:16,680 --> 00:04:21,640 HTML a mano, sea lo que es directamente ponerse aquí mostrado 71 00:04:22,840 --> 00:04:25,840 una imagen de cómo lo teníamos cuando lo hacíamos en 72 00:04:26,320 --> 00:04:29,360 en Symfony a fijáis se podía se puede seleccionar la bibliografía, 73 00:04:29,360 --> 00:04:33,400 el tipo de bibliografía que queremos que titulación sea el curso de acceso UNED, 74 00:04:33,800 --> 00:04:38,160 Si eso es un grado, si son licenciaturas antiguas, si son postgrados, eliges 75 00:04:38,600 --> 00:04:43,560 con botones radiales y entonces te aparece ya la titulación correspondiente. 76 00:04:44,080 --> 00:04:48,000 Esa era un poco la idea entonces que todo esto era un trabajazo impresionante. 77 00:04:48,520 --> 00:04:52,080 Los inicios, dos semanas, una persona construyendo la página 78 00:04:53,080 --> 00:04:57,600 directamente sin más, con todo lo que implica de propensión 79 00:04:57,600 --> 00:05:01,800 a errores, un trabajo alienante, absurdo y que no tiene más, 80 00:05:02,080 --> 00:05:05,160 pero que en ese momento nos sirvió un poco porque era lo que teníamos 81 00:05:05,880 --> 00:05:08,880 entonces al llegar es Libris 82 00:05:09,240 --> 00:05:11,280 con Alma Primo, 83 00:05:11,280 --> 00:05:13,440 Los que hicimos fue trasladar ese mismo esquema 84 00:05:13,440 --> 00:05:16,880 y adaptarlo a los links que ofrece Alma. 85 00:05:18,240 --> 00:05:18,760 Adaptarlo 86 00:05:18,760 --> 00:05:19,480 a la estructura de 87 00:05:19,480 --> 00:05:23,920 taxi scout que ofrece para para seleccionar el tipo de documentos 88 00:05:23,920 --> 00:05:28,200 que vamos a buscar, si son bibliografía, si son recursos electrónicos, 89 00:05:28,200 --> 00:05:32,200 si son recursos convencionales en papel y demás, 90 00:05:33,480 --> 00:05:36,480 entonces hemos mantenido 91 00:05:36,600 --> 00:05:40,560 la misma estructura con HTML, CSS, JavaScript y manipulando 92 00:05:41,200 --> 00:05:44,800 con todas las complejidades que esto que esto 93 00:05:46,040 --> 00:05:46,840 trae aparejado. 94 00:05:46,840 --> 00:05:49,920 Bueno, si os fijáis un poco en Las Hurdes, 95 00:05:50,520 --> 00:05:53,520 en los links estos permanentes que genera Primo, 96 00:05:53,800 --> 00:05:58,120 podéis ver que la parte del inicio se corresponde con la institución. 97 00:05:58,600 --> 00:06:01,600 Hablando de Primo Classic, que es lo que nosotros tenemos, 98 00:06:01,920 --> 00:06:04,920 luego después de que tú seleccionas el tipo de 99 00:06:05,760 --> 00:06:07,680 donde vas a buscar, si vas a buscar en un campo 100 00:06:07,680 --> 00:06:10,680 determinado en qué campo vas a buscar de primo, 101 00:06:11,240 --> 00:06:13,480 si va a ser una búsqueda 102 00:06:13,480 --> 00:06:16,880 con contains o va a ser exact, o va a ser del tipo de búsqueda 103 00:06:16,880 --> 00:06:20,240 que vas a generar el tab en el que estás haciendo 104 00:06:21,200 --> 00:06:23,200 la búsqueda 105 00:06:23,200 --> 00:06:25,560 y el escoge a que da, a que la limitas. 106 00:06:25,560 --> 00:06:27,000 Y por supuesto, 107 00:06:27,000 --> 00:06:30,840 la vista que se corresponde con el idioma normalmente lo tenemos todos configurado 108 00:06:31,240 --> 00:06:34,680 en una vista para castellano, esta para inglés, otra para sí. 109 00:06:34,720 --> 00:06:37,720 Depende de cada universidad, si tiene catalán, gallego o lo que sea 110 00:06:38,320 --> 00:06:41,320 en primo vía y una situación análoga, 111 00:06:41,640 --> 00:06:45,360 entonces el problema de todo esto, si hacemos una gestión manual, 112 00:06:45,480 --> 00:06:48,880 ya se ha comentado, es algo que consume mucho tiempo. 113 00:06:48,880 --> 00:06:53,040 Cada vez tenemos menos personal, no podemos dedicar personal 114 00:06:53,040 --> 00:06:58,880 especializado a hacer una una labor, pues eso no tiene ningún sentido. 115 00:06:58,880 --> 00:07:02,160 Es necesario automatizar, pero es necesario automatizar la gestión 116 00:07:02,160 --> 00:07:05,160 no solo de la generación de la web, 117 00:07:05,600 --> 00:07:09,240 sino de la gestión del llenado de las etiquetas. 118 00:07:09,240 --> 00:07:14,280 O sea, cada año, al inicio de curso hay que retirar los códigos de la 911 119 00:07:14,280 --> 00:07:15,920 de las asignaturas, que 120 00:07:15,920 --> 00:07:18,920 si ya no está recomendado en un texto hay que ir al registro bibliográfico, 121 00:07:18,920 --> 00:07:22,600 hay que identificarlo, hay que abrirlo, hay que quitar, hay que cerrar. 122 00:07:23,240 --> 00:07:27,480 Ese trabajo es propensa a errores, quedan códigos que no deberían quedar. 123 00:07:28,720 --> 00:07:29,320 Es difícil. 124 00:07:29,320 --> 00:07:29,760 ¿Entonces? 125 00:07:29,760 --> 00:07:32,880 Bueno, pues aquí en nuestra ayuda a nuestro amigo Poisson, que 126 00:07:33,480 --> 00:07:37,160 nos permite automatizar lo que dice Poison, dice cualquier otro. 127 00:07:38,160 --> 00:07:39,440 Otro. 128 00:07:39,440 --> 00:07:41,880 Otro lenguaje de programación de alto nivel. 129 00:07:41,880 --> 00:07:43,840 Pero yo es que soy especialmente 130 00:07:43,840 --> 00:07:47,400 forofo de Python porque ofrece muchísimas ventajas a los bibliotecarios. 131 00:07:47,400 --> 00:07:49,840 A mi juicio, muchísimas. 132 00:07:49,840 --> 00:07:51,600 Es un lenguaje de alto nivel. 133 00:07:51,600 --> 00:07:55,560 Bueno, ya sabéis, está orientado a objetos como la mayoría, 134 00:07:56,120 --> 00:07:59,120 es sencillo y legible y es fácil de aprender. 135 00:07:59,840 --> 00:08:01,920 Es interpretado y además es multiplataforma. 136 00:08:01,920 --> 00:08:03,280 Se puede ejecutar en cualquier sitio. 137 00:08:03,280 --> 00:08:05,880 Simplemente nosotros tenemos un programa que se interpreta, 138 00:08:05,880 --> 00:08:08,800 tenemos instalado el intérprete y lo ejecutamos 139 00:08:08,800 --> 00:08:12,160 y tiene una comunidad de desarrollo de desarrolladores amplísima, 140 00:08:12,600 --> 00:08:16,560 con lo cual siempre hay soluciones que tú puedes incorporar en tu en tu código. 141 00:08:17,320 --> 00:08:21,440 A través de módulos podéis gestionar el XML, que para nosotros es fundamental. 142 00:08:22,040 --> 00:08:24,080 Puedes incluso gestionar registros. 143 00:08:24,080 --> 00:08:29,400 Hay módulos para la gestión de registro en Mac hasta para clientes de 39 50. 144 00:08:29,400 --> 00:08:31,480 Ya con todo lo que eso implica. 145 00:08:31,480 --> 00:08:34,480 Y además las APIs de armas son bastante sencilla de 146 00:08:34,960 --> 00:08:37,600 implementar en el Poisson 147 00:08:39,000 --> 00:08:39,360 para mí, 148 00:08:39,360 --> 00:08:42,360 ya digo que soy súper forofo, ya el mejor amigo del bibliotecario. 149 00:08:43,120 --> 00:08:47,680 Entonces lo que paso siguiente que seguimos fue generar ese 150 00:08:47,760 --> 00:08:51,040 en lugar de estar introduciendo modificaciones a mano 151 00:08:51,680 --> 00:08:55,040 manualmente tocando el HTML, que te equivocas. 152 00:08:56,200 --> 00:08:58,800 Aunque los navegadores son muy muy 153 00:08:58,800 --> 00:09:02,520 tolerantes, a fallos, a errores, a etiquetas más cerradas y demás, 154 00:09:02,880 --> 00:09:05,560 pues la lías, la puede liar y hacer que no funcione nada y te 155 00:09:05,560 --> 00:09:09,320 puedes tirar horas revisando un tocho gigante que tiene 156 00:09:09,920 --> 00:09:12,920 un montón de titulaciones y un montón de 157 00:09:13,440 --> 00:09:16,080 capas de por cada una 158 00:09:16,080 --> 00:09:17,840 infumable. No puedes, no puedes. 159 00:09:17,840 --> 00:09:23,360 ¿Entonces, cuál fue la la idea de generar un partir de la idea? 160 00:09:23,400 --> 00:09:27,760 Nosotros podemos en nuestro departamento de adquisiciones nos facilita un Excel 161 00:09:28,360 --> 00:09:30,720 en el que se ha estructurado la información. 162 00:09:30,720 --> 00:09:34,840 ¿Hemos incluido el código de titulación, el nombre de la titulación, el curso 163 00:09:34,840 --> 00:09:38,480 si lo tiene el código de asignatura, a qué habría que añadir? 164 00:09:39,080 --> 00:09:41,400 Porque aquí en la UNED, como ya conoces un poco, 165 00:09:42,440 --> 00:09:43,640 habría que añadir otra, 166 00:09:43,640 --> 00:09:47,400 otra columna más que incluyera el tipo de estudio de que se trata. 167 00:09:47,400 --> 00:09:50,760 Si es un grado o si es un máster o si es un curso de acceso. 168 00:09:52,640 --> 00:09:54,480 Tenemos también el nombre de la asignatura 169 00:09:54,480 --> 00:09:57,840 y su código de código es el que se corresponde con la 911. 170 00:09:58,720 --> 00:10:01,680 Entonces, en el caso de la UNED tenemos muchísimas bibliotecas, 171 00:10:01,680 --> 00:10:06,720 tenemos más de 80, entonces lo gestionamos también con otro, otro Excel, 172 00:10:07,880 --> 00:10:11,040 con la biblioteca, su nombre, su nombre y su. 173 00:10:12,840 --> 00:10:15,000 La cuestión es hemos desarrollado un programa 174 00:10:15,000 --> 00:10:18,480 que toma como entrada esos dos, esos dos ficheros 175 00:10:19,000 --> 00:10:23,640 y te genera el HTML para cargar en el servidor en un servidor 176 00:10:23,640 --> 00:10:26,880 que es ajeno al primo, es totalmente externo. 177 00:10:27,880 --> 00:10:31,040 ¿Esa es un poco la idea, entonces lo ejecutas, 178 00:10:31,560 --> 00:10:34,560 te puede hacer muchas cosas, te hace recuento, cuántas asignaturas 179 00:10:34,560 --> 00:10:38,880 tienes, cuántos títulos titulaciones tienes, cuántas son de grado, cuántas son? 180 00:10:39,720 --> 00:10:43,720 ¿Sacas la haces, la las ordenas? 181 00:10:43,720 --> 00:10:48,680 Puedes, por ejemplo, una cuestión simplemente cuando metimos todos los 182 00:10:49,920 --> 00:10:52,920 en la página web la construimos manualmente. 183 00:10:53,040 --> 00:10:55,960 No se nos ocurrió ordenar las asignaturas ni ponerlas por curso. 184 00:10:55,960 --> 00:11:00,080 Y ahora tengo que ponerme a mirar si ordeno esta 185 00:11:00,840 --> 00:11:04,240 me imposible con este, con el programa. 186 00:11:04,240 --> 00:11:08,360 Tú las ordenas, tú las colocas por curso y ya lo tienes funcionando. 187 00:11:09,000 --> 00:11:11,040 Os voy a mostrar 188 00:11:11,040 --> 00:11:13,600 un poco cómo es, 189 00:11:13,600 --> 00:11:16,600 porque lo mejor es verlo. 190 00:11:37,400 --> 00:11:37,800 Ya os digo 191 00:11:37,800 --> 00:11:43,240 que está en un en un servidor ajeno a primo. 192 00:11:43,440 --> 00:11:43,680 Entonces 193 00:11:43,680 --> 00:11:46,840 nosotros seleccionamos que queremos buscar bibliografía impresa audiovisual. 194 00:11:46,840 --> 00:11:49,800 Por eso lo que os comentaba de las bibliotecas, 195 00:11:49,800 --> 00:11:53,160 entonces elegimos que biblioteca queremos, vamos a decir que todas, 196 00:11:53,160 --> 00:11:56,160 pero vamos, podríamos decir que lo queremos buscar en la central. 197 00:11:56,400 --> 00:11:59,960 Elegimos el curso de acceso y ya se nos despliega un desplegable 198 00:11:59,960 --> 00:12:01,880 con todas las asignaturas del curso de acceso. 199 00:12:01,880 --> 00:12:05,280 Entonces en Guadalajara, Italiano le damos a buscar 200 00:12:06,840 --> 00:12:08,160 y ya lo tenemos aquí. 201 00:12:08,160 --> 00:12:11,600 Nos ha hecho la búsqueda de todo lo que hay en la Biblioteca Central 202 00:12:12,240 --> 00:12:17,160 que incluya en la 911 el código 001063. 203 00:12:17,160 --> 00:12:19,800 Es el que se corresponde con italiano. 204 00:12:19,800 --> 00:12:22,800 Volvemos para atrás y si ahora queremos un grado 205 00:12:23,200 --> 00:12:26,040 más o elegimos el grado, 206 00:12:26,040 --> 00:12:29,040 elegimos la asignatura. 207 00:12:29,080 --> 00:12:30,400 ¿Que faltaría incluir? 208 00:12:30,400 --> 00:12:34,880 Pues con un CSS poner que los cursos estén en otro color para diferenciar. 209 00:12:35,480 --> 00:12:38,800 Pero bueno, es una cuestión que es fácil de elegimos. 210 00:12:38,800 --> 00:12:39,680 ¿Que asignatura queremos? 211 00:12:39,680 --> 00:12:42,680 Historia antigua Al mundo clásico le damos 212 00:12:46,360 --> 00:12:47,760 y aquí lo tenemos. 213 00:12:47,760 --> 00:12:50,760 Entonces tenemos una gestión sencilla, 214 00:12:51,560 --> 00:12:52,760 fácil de implementar, 215 00:12:52,760 --> 00:12:55,760 que no coste cero, que podemos adaptar. 216 00:12:56,440 --> 00:12:59,440 Cuál es el problema que presenta esto 217 00:13:01,280 --> 00:13:03,360 que es para extrapolarlo a otro sitio, 218 00:13:03,360 --> 00:13:07,640 para llevarlo a otra, a otra, hacer modificaciones. 219 00:13:07,640 --> 00:13:09,000 El programa es complejo. ¿Por qué? 220 00:13:09,000 --> 00:13:13,080 Porque mezcla una estructura de capas muy dependiente del HTML. 221 00:13:13,080 --> 00:13:16,440 ¿El JavaScript está muy condicionado por el HTML y lo que necesitamos 222 00:13:16,960 --> 00:13:20,520 es primero poderlo integrar en primo, integrarlo de verdad 223 00:13:21,080 --> 00:13:23,560 y segundo, que sea modificable, que sea fácil, 224 00:13:23,560 --> 00:13:25,960 porque cuando ya pasa un tiempo, incluso la persona que lo ha hecho 225 00:13:25,960 --> 00:13:29,240 pasado un tiempo te vuelves loco intentando 226 00:13:30,120 --> 00:13:34,800 ver por qué hacías esta historia, por qué modificaba esto, 227 00:13:34,800 --> 00:13:38,360 porque hacías llevar la cuenta de qué capas haces visibles, cuales no? 228 00:13:38,400 --> 00:13:40,920 En fin, es complejo. Entonces 229 00:13:43,440 --> 00:13:44,040 estas son 230 00:13:44,040 --> 00:13:47,280 un poco las razones, la voluntad de incluirlo como un addon 231 00:13:47,280 --> 00:13:50,320 en primo que nos permite primo nos permite. 232 00:13:50,800 --> 00:13:53,800 Ya sabéis que Alma y primo son un poco como un iceberg. 233 00:13:53,880 --> 00:13:55,600 Tú tienes una parte visible 234 00:13:55,600 --> 00:13:59,000 que es lo que utilizas, pero luego tienes por debajo un conjunto de APIs, 235 00:13:59,560 --> 00:14:02,760 un conjunto de servicios que tú puedes utilizar, 236 00:14:02,760 --> 00:14:05,960 incluyendo el primer Open Discovery Framework para hacer 237 00:14:06,600 --> 00:14:10,080 añadir tú mejoras a Primo y que se compartan con otros usuarios. 238 00:14:10,320 --> 00:14:13,360 Entonces, con la forma en la que lo tenemos planteado no es posible. 239 00:14:14,160 --> 00:14:15,160 ¿Qué hemos hecho entonces? 240 00:14:15,160 --> 00:14:20,600 Pues mirar cuáles son esos requerimientos y se trata de aplicar Angular. 241 00:14:20,600 --> 00:14:22,520 JS que es un angular. 242 00:14:22,520 --> 00:14:25,520 JS Es un framework que desarrolló Google 243 00:14:26,240 --> 00:14:29,960 para hacer aplicaciones web, simplifica muchísimo. 244 00:14:29,960 --> 00:14:33,840 O sea, en lugar de tú hacer ahí de forma artesanal 245 00:14:34,360 --> 00:14:38,120 la página, controlándolo todo y manipulando ya directamente 246 00:14:39,240 --> 00:14:41,400 angular lo que hace es controlar, 247 00:14:41,400 --> 00:14:45,800 controlar versiones según los navegadores que se utilicen y demás. 248 00:14:45,840 --> 00:14:48,680 Y tú ya de todo eso haces abstracción y te olvidas. 249 00:14:48,680 --> 00:14:53,080 Simplemente utilizas una serie, defines unas directivas, 250 00:14:53,080 --> 00:14:56,080 1,1 modelo, 251 00:14:56,680 --> 00:15:00,600 te vas haciendo la la gestión. 252 00:15:01,040 --> 00:15:04,400 Entonces se trata de construir un SP a single, el PS 253 00:15:04,440 --> 00:15:07,120 application, una verdadera app 254 00:15:07,120 --> 00:15:09,280 que haga ese desarrollo 255 00:15:09,280 --> 00:15:13,760 y todo eso, pero que sea escalable mantenerla y que se pueda aplicar 256 00:15:13,760 --> 00:15:16,240 incluso a otras instituciones. ¿Entonces, la idea cómo hacer esto? 257 00:15:16,240 --> 00:15:18,360 Porque una de los problemas que tienes 258 00:15:18,360 --> 00:15:21,960 es que tú has metido los códigos en la 911, pero no tienes asociado 259 00:15:22,280 --> 00:15:25,440 en el sistema en Alma tú no tienes metido los nombres de las titulaciones, 260 00:15:25,840 --> 00:15:28,840 ni de las asignaturas, ni de nada parecido. 261 00:15:29,360 --> 00:15:32,600 Entonces esa información tiene que venir fuera como lo teníamos 262 00:15:32,600 --> 00:15:36,920 metido en la página, pero eso hace que sea complejo de manejar. 263 00:15:37,400 --> 00:15:41,400 Entonces la idea utilizando estas tecnologías, las que las que te pide, 264 00:15:43,680 --> 00:15:44,280 es libre. 265 00:15:44,280 --> 00:15:47,400 Esto utilices para poder crear un addon que es utilizar 266 00:15:47,400 --> 00:15:51,600 HTML5, AngularJS, JS, JavaScript subsidiariamente 267 00:15:52,480 --> 00:15:57,160 y CSS tres y a las que añadimos JSON y JSON 268 00:15:57,160 --> 00:16:00,640 porque va a ser la forma en la que nosotros presentemos en la web 269 00:16:01,280 --> 00:16:03,800 la información sobre nombres de titulación, 270 00:16:03,800 --> 00:16:06,720 nombres de asignaturas y demás. 271 00:16:06,720 --> 00:16:09,120 Lo que hacemos es bueno. 272 00:16:09,120 --> 00:16:12,200 Estas son las ventajas Eliminamos problemas de versiones, 273 00:16:12,200 --> 00:16:14,240 reducimos drásticamente la cantidad de código 274 00:16:14,240 --> 00:16:17,400 que hemos tenido que utilizar para para gestionar 275 00:16:18,440 --> 00:16:21,440 toda la lógica de la página 276 00:16:22,360 --> 00:16:25,320 y centramos los esfuerzos en la lógica del programa, 277 00:16:25,320 --> 00:16:29,440 no en estar viendo si esta capa se saca, se mete, la hacemos visible. 278 00:16:29,800 --> 00:16:33,880 Lo que nos ocupamos es cómo queremos que funcione. 279 00:16:34,960 --> 00:16:37,080 Entonces, el modelo en el que se basa Angular 280 00:16:37,080 --> 00:16:41,000 JS es MVC, modelo vista, controlador. 281 00:16:41,000 --> 00:16:44,280 Tenemos un modelo de datos que es la información que va a utilizar 282 00:16:44,280 --> 00:16:47,280 como alimento, la página, la información que va a presentar 283 00:16:47,440 --> 00:16:50,440 una vista, que es lo que ve el usuario, con lo que interactúa 284 00:16:51,000 --> 00:16:54,360 y un controlador que es el que sostiene la lógica y que interconecta 285 00:16:55,840 --> 00:16:58,640 de alguna manera el modelo de datos. 286 00:16:58,640 --> 00:17:01,640 Con la vista, el controlador hace la gestión, 287 00:17:01,880 --> 00:17:06,360 si hay es el usuario interactúa con la vista, pasa al controlador, 288 00:17:06,360 --> 00:17:09,480 al controlador, reacciona, modifica el modelo y se modifica la vista. 289 00:17:09,600 --> 00:17:10,680 ¿A que me estoy refiriendo? 290 00:17:10,680 --> 00:17:13,800 Pues si tú al interactuar con la página 291 00:17:14,520 --> 00:17:17,200 seleccionas que quieres hacer un grado, 292 00:17:17,200 --> 00:17:21,600 pues esa información que está en la vista pasa al controlador, el controlador 293 00:17:21,600 --> 00:17:25,280 la gestiona y cambia, carga una información del modelo 294 00:17:25,920 --> 00:17:28,800 modificando la vista, de forma que ahora ya te aparece 295 00:17:28,800 --> 00:17:30,720 la lista de titulaciones de grado. 296 00:17:30,720 --> 00:17:32,680 No te aparecen todas las demás. 297 00:17:32,680 --> 00:17:34,480 Está todo más claro, más limpio. 298 00:17:34,480 --> 00:17:36,200 Eliges una titulación. 299 00:17:36,200 --> 00:17:39,560 Vuelvo otra vez a hacer el mismo proceso y ahora te muestra el 300 00:17:40,800 --> 00:17:43,640 desplegable de las asignaturas 301 00:17:43,640 --> 00:17:47,960 de la titulación y sólo de esa ordenadas y con su 302 00:17:51,560 --> 00:17:54,560 Entonces, para hacer esto lo que necesitamos es 303 00:17:54,760 --> 00:17:59,200 cargar esa información, alimentar la web para que sea una única web que 304 00:17:59,200 --> 00:18:03,440 pueda funcionar en diferentes bibliotecas, porque nosotros lo centramos un poco. 305 00:18:03,440 --> 00:18:07,240 Lo que hemos buscado siempre es tener una aplicación que sea utilizable, 306 00:18:07,240 --> 00:18:10,960 que nos saque del problema que tenemos ahora, pero podemos ir haciendo mejoras, 307 00:18:11,440 --> 00:18:14,120 pero que sea funcional, que no sirva. 308 00:18:14,120 --> 00:18:18,720 Ya no había, no habíamos cambiado cosas porque tampoco teníamos necesidad, 309 00:18:18,720 --> 00:18:21,760 pero sí lo queremos compartir con otras universidades, universidades 310 00:18:21,800 --> 00:18:23,120 o bibliotecas. 311 00:18:23,120 --> 00:18:27,200 Necesitaremos que la web no esté condicionada 312 00:18:27,200 --> 00:18:30,720 por la estructura particular, sino que en base a unas entradas 313 00:18:32,280 --> 00:18:34,680 se genere adaptada a lo que quiere esa biblioteca. 314 00:18:34,680 --> 00:18:38,480 Entonces tendremos un fichero con información de la biblioteca 315 00:18:38,520 --> 00:18:42,280 que componen esa entidad, esa institución, otro que contiene 316 00:18:42,600 --> 00:18:46,520 las titulaciones y las asignaturas, y otro de configuración en el que se 317 00:18:47,720 --> 00:18:50,360 incluya la la URL de base. 318 00:18:50,360 --> 00:18:53,720 Si vamos a hacer diferenciación entre bibliografías, porque puede ser 319 00:18:54,320 --> 00:18:57,560 que haya quien no necesite que salga la lista de biblioteca, 320 00:18:57,560 --> 00:19:00,200 simplemente me hace una búsqueda general y ya está. 321 00:19:00,200 --> 00:19:02,760 Que no me diferencia entre si es electrónica 322 00:19:02,760 --> 00:19:06,120 y si es impresa, simplemente que me lo muestre todo. 323 00:19:06,600 --> 00:19:09,600 Entonces eso se configurará en un fichero 324 00:19:09,720 --> 00:19:14,080 y ese fichero al cargarse haría que por el modelo que he comentado 325 00:19:14,880 --> 00:19:18,720 la web se adapte a eso y te muestre esa configuración. 326 00:19:19,880 --> 00:19:24,360 Entonces esa sería un poco la idea, como cómo enviar esa información, 327 00:19:24,600 --> 00:19:27,360 esa información, la forma mejor de gestionarla. 328 00:19:27,360 --> 00:19:30,360 Vamos, Bajo mi punto de vista, podría haberse enviado 329 00:19:30,360 --> 00:19:33,520 un XML o otra alternativa, pero el JSON está muy bien. 330 00:19:34,000 --> 00:19:37,440 No es un formato de objetos de JavaScript. 331 00:19:37,880 --> 00:19:42,080 Un objeto es en realidad una entidad que tiene diferentes 332 00:19:42,080 --> 00:19:45,280 características, y esas características pueden ser otro objeto. 333 00:19:46,200 --> 00:19:49,720 Entonces, ahí donde la información, por ejemplo, si se trata de los grados, 334 00:19:49,840 --> 00:19:53,080 tenemos una serie de información del código del grado, el nombre del grado, 335 00:19:53,480 --> 00:19:55,520 el nombre largo del grado. 336 00:19:55,520 --> 00:19:57,000 Esto lo vamos a explico la razón 337 00:19:57,000 --> 00:20:00,360 y las asignaturas que tal y para cada asignatura reproduce. 338 00:20:00,600 --> 00:20:02,880 Reproducimos a través la información. Para 339 00:20:04,080 --> 00:20:07,680 cada asignatura incluye su código, su nombre largo, 340 00:20:07,680 --> 00:20:12,240 su nombre corto el curso al que pertenece una serie de informaciones. 341 00:20:12,240 --> 00:20:14,280 Esto lo podríamos generar incluso manualmente. 342 00:20:14,280 --> 00:20:17,000 El problema es que si lo haces manualmente te vas a volver mico. 343 00:20:17,000 --> 00:20:19,440 Y además, en cuanto a que te falta una coma 344 00:20:19,440 --> 00:20:23,520 o pongas mal una llave o hagas mal, aparte de la pérdida de tiempo que supone, 345 00:20:23,520 --> 00:20:26,520 entonces la idea ha sido esto 346 00:20:26,600 --> 00:20:29,600 lo gestionamos con un programa en Python 347 00:20:30,000 --> 00:20:33,080 que tome como entrada el Excel que nos ha facilitado nuestro servicio 348 00:20:33,080 --> 00:20:39,240 de adquisiciones con los titulaciones y las asignaturas y sus códigos. 349 00:20:39,960 --> 00:20:43,120 Y lo que hacemos es a partir de ese 350 00:20:43,120 --> 00:20:46,280 generarlo JSON, cargarlo JSON y ya tienes. 351 00:20:46,280 --> 00:20:49,200 Cada vez que haya una modificación a primeros de año o cuando sea se. 352 00:20:49,200 --> 00:20:53,400 En la nueva asignatura se ha incluido un nuevo o lo que sea 353 00:20:53,680 --> 00:20:57,480 ya quitado esta asignatura, sea ha cambiado el código no cambia 354 00:20:57,480 --> 00:21:00,640 porque eso es fijo, es el nombre del código de la asignatura. 355 00:21:01,800 --> 00:21:02,720 Pues tú metes 356 00:21:02,720 --> 00:21:05,960 los en el programa, metes esos ficheros como entrada, 357 00:21:05,960 --> 00:21:09,080 el te genera los JSON, muévelo JSON al servidor y ya 358 00:21:09,080 --> 00:21:12,880 tener la página totalmente ha cambiado, se ha creado una nueva biblioteca. 359 00:21:12,880 --> 00:21:14,000 Pues lo pones. 360 00:21:14,000 --> 00:21:18,480 Querías poner la bibliografía recomendada electrónica separada de la otra, 361 00:21:18,480 --> 00:21:21,480 pues luego lo cambias y ya lo tienes. 362 00:21:22,560 --> 00:21:24,160 Luego hay que recalcar 363 00:21:24,160 --> 00:21:28,080 que AngularJS JS tiene unas facilidades para el testeo, bastante 364 00:21:28,600 --> 00:21:31,600 incluso para una aplicación tan sencillita como sería esta. 365 00:21:31,920 --> 00:21:35,800 Puedes tener estado sin consistentes, puedes tener cuestiones raras que no te 366 00:21:36,480 --> 00:21:39,480 que no te funcionen y aquí es bastante fácil. 367 00:21:41,200 --> 00:21:42,040 Y bueno, esta sería 368 00:21:42,040 --> 00:21:45,040 ya sea bastantes como era su funcionamiento 369 00:21:45,240 --> 00:21:48,240 y las ideas que tenemos para el futuro. 370 00:21:48,400 --> 00:21:51,520 Sería ir un poco más allá, no solo gestionar 371 00:21:51,840 --> 00:21:54,840 la presentación que se da al usuario, primero desarrollarlo 372 00:21:55,040 --> 00:21:59,520 e incluirlo dentro de de Primo, porque la idea lo mejor sería 373 00:21:59,520 --> 00:22:02,120 que estuviese dentro del mismo, pero ya tiene otras complicaciones. 374 00:22:02,120 --> 00:22:03,840 De momento a cumplir con Angular. 375 00:22:03,840 --> 00:22:07,840 JS Ya lo tenemos más fácil y al haber separado la configuración, 376 00:22:08,200 --> 00:22:11,040 claramente la estructura de la página 377 00:22:11,040 --> 00:22:14,040 de lo que es el 378 00:22:14,240 --> 00:22:18,360 el, la parte digamos ejecutable, la lógica del programa, 379 00:22:18,720 --> 00:22:21,720 pues lo tenemos más sencillo, entonces 380 00:22:22,000 --> 00:22:24,480 esa es una de las de los 381 00:22:24,480 --> 00:22:27,600 ejes incluirlo y quien quiera utilizarlo 382 00:22:27,600 --> 00:22:30,600 que lo pueda utilizar la vez que nos lo ha aprobado sí que nos lo dan. 383 00:22:31,240 --> 00:22:34,600 Pues que se pueda utilizar, si no, si no fuera factible incluirlo, 384 00:22:34,600 --> 00:22:38,280 pues lo seguiríamos manteniendo fuera, porque funcionar nos funciona 385 00:22:39,480 --> 00:22:40,880 otra cosa también lo hemos hecho 386 00:22:40,880 --> 00:22:44,360 responsive, porque claro, al hacer la la 387 00:22:45,880 --> 00:22:47,640 la página pues te encuentras con que 388 00:22:47,640 --> 00:22:50,680 hay nombres de titulaciones monstruosas, larguísimas 389 00:22:51,080 --> 00:22:53,560 y entonces de ahí, al tener que recortarlas 390 00:22:53,560 --> 00:22:56,720 el hacerlo responsive, porque sino te podría quedar ortopédico 391 00:22:56,720 --> 00:22:58,960 cuando tienes un formulario está condicionando el tamaño 392 00:22:58,960 --> 00:23:00,800 de todo lo que se presenta y para verlo en un móvil. 393 00:23:00,800 --> 00:23:03,520 Ahora ya si está bien adaptado. 394 00:23:03,520 --> 00:23:05,880 Y la idea sería crear un sistema 395 00:23:05,880 --> 00:23:08,880 que nos permita un portal, realmente sería un portal 396 00:23:08,880 --> 00:23:12,480 para mostrar la bibliografía no sólo como entrada, 397 00:23:12,480 --> 00:23:15,480 sino teniendo la entrada del fichero que mandan los profesores. 398 00:23:15,920 --> 00:23:16,240 Ficha lo 399 00:23:16,240 --> 00:23:17,880 que nuestro departamento de adquisiciones incluirá 400 00:23:17,880 --> 00:23:20,280 todo lo que le hayan mandado los profesores. 401 00:23:20,280 --> 00:23:25,280 Poder coger con los y s venes de la DS de ese fichero y los código 402 00:23:25,280 --> 00:23:29,520 de las asignaturas en la que están recomendados y informes de Analytics. 403 00:23:30,240 --> 00:23:33,920 Poder fusionar todo esto y generar en línea 404 00:23:34,200 --> 00:23:38,240 un portal que se mantenga en la actualización diaria de forma automática, 405 00:23:38,720 --> 00:23:42,480 que te muestre qué bibliografía tienes de la biografía recomendada 406 00:23:42,960 --> 00:23:46,560 en tu biblioteca que tienes y que te falta, que tienes que adquirir 407 00:23:47,040 --> 00:23:49,840 y que lo junte con la información de los préstamos ya prestado. 408 00:23:51,000 --> 00:23:53,720 Pues a lo mejor te considera como para otros. 409 00:23:53,720 --> 00:23:58,240 Todo esto viene a cuento de lo que os comenté a principio de que la UNED tiene 410 00:23:58,840 --> 00:24:00,960 una estructura descentralizada a los centros asociados 411 00:24:00,960 --> 00:24:03,960 realmente no forman parte de la estructura orgánica de la UNED y son 412 00:24:04,000 --> 00:24:05,440 tienen bibliotecas pequeñas. 413 00:24:05,440 --> 00:24:06,360 La gestión de adquisiciones 414 00:24:06,360 --> 00:24:09,480 la hacen por separado y no pueden consumir mucho tiempo. 415 00:24:09,480 --> 00:24:14,280 Revisando si yo tengo este libro, lo busco, no tengo ejemplares, no tengo. 416 00:24:14,280 --> 00:24:15,680 ¿Cuántos se ha prestado? 417 00:24:15,680 --> 00:24:18,680 Necesitan verlo de forma rápida. 418 00:24:18,840 --> 00:24:23,240 Entonces, si tú tienes esa información, tú le muestras qué hay en esa biblioteca. 419 00:24:23,280 --> 00:24:27,440 Sí, miro en Lugo, que de cálculo 420 00:24:27,440 --> 00:24:30,760 uno tengo todos estos libros y todos estos títulos que me faltan. 421 00:24:31,280 --> 00:24:34,280 Veo o de este que ha habido muchísima demanda 422 00:24:34,280 --> 00:24:37,680 y podría considerar comprar otro ejemplar, pues tener esa información 423 00:24:38,880 --> 00:24:40,760 accesible. 424 00:24:40,760 --> 00:24:43,760 Esa sería un poquito la idea. 425 00:24:45,240 --> 00:24:46,480 Y esto es todo. 426 00:24:46,480 --> 00:24:52,040 Ya os comenté que es una cosa bastante humilde, que no tiene grandes alharacas, 427 00:24:52,040 --> 00:24:55,680 pero sí que ha sido funcional, ha sido útil para los 428 00:24:56,880 --> 00:24:59,560 para los usuarios. 429 00:24:59,560 --> 00:25:02,560 Os comentaba llevando 430 00:25:19,960 --> 00:25:22,400 algunos lo mostraría, pero ahora mismo no, 431 00:25:22,400 --> 00:25:26,600 que es totalmente responsive, se adapta cualquier dispositivo móvil 432 00:25:26,920 --> 00:25:27,960 y puede presentar 433 00:25:27,960 --> 00:25:30,720 en el momento que se incluya en prima, pues nos llevaríamos la ventaja. 434 00:25:30,720 --> 00:25:34,240 Nos tenemos que preocupar de simular un aspecto 435 00:25:35,040 --> 00:25:37,280 parecido a 436 00:25:37,280 --> 00:25:39,520 al de para que el usuario 437 00:25:39,520 --> 00:25:42,520 no note la diferencia, aunque sí que bueno, 438 00:25:42,600 --> 00:25:45,280 si está dentro de primo ya tendrías todas las ventajas.