{"id":168,"date":"2018-09-12T23:22:24","date_gmt":"2018-09-12T23:22:24","guid":{"rendered":"https:\/\/bookgame.me\/blog\/?p=168"},"modified":"2018-09-12T23:22:24","modified_gmt":"2018-09-12T23:22:24","slug":"copias-de-seguridad-de-los-librojuegos","status":"publish","type":"post","link":"https:\/\/bookgame.me\/blog\/copias-de-seguridad-de-los-librojuegos\/","title":{"rendered":"Copias de seguridad de los librojuegos"},"content":{"rendered":"<p>Cuando cre\u00e9 la primera versi\u00f3n de bookgame.me me di cuenta de lo doloroso que es perder un texto que te ha llevado un buen rato escribir. Es por ello que me propuse crear un sistema robusto para evitar que alguien pueda perder el trabajo de forma accidental. Esto podr\u00eda ocurrir por varios motivos:<\/p>\n<ol>\n<li>El escritor se pone a escribir. Se va del ordenador sin guardar. Vuelve al cabo de un rato y ha caducado la sesi\u00f3n. Por tanto, no puede guardar lo que ya ha hecho y tiene delante de sus narices.<\/li>\n<li>Hay un error en el sistema y no deja guardar en un momento determinado.<\/li>\n<\/ol>\n<p>Para evitar este problema hice dos cosas:<\/p>\n<ol>\n<li>Autoguardado cada vez que modificas un nodo o un enlace. Por tanto no hace falta pulsar el bot\u00f3n verde de arriba a la derecha. Os habr\u00e9is dado cuenta ya que aparece arriba a la derecha un texto de Guardando&#8230; que desaparece al segundo.<\/li>\n<li>Cada vez que se guarda, que quede tambi\u00e9n <strong>un hist\u00f3rico<\/strong> con la versi\u00f3n anterior del cap\u00edtulo.<\/li>\n<li>Alertar al usuario cada vez que haya caducado la sesi\u00f3n para que guarde lo que tiene delante de la pantalla en ese momento.<\/li>\n<\/ol>\n<p>Hasta ahora he ido guardando hist\u00f3ricos de los librojuegos cada vez que alguien modificaba uno. Pero los usuarios no ten\u00edas forma de ver la versi\u00f3n anterior. He a\u00f1adido una opci\u00f3n para poder ver la versi\u00f3n anterior de una p\u00e1gina. De esta forma, si en alg\u00fan momento necesit\u00e1is recuperar el texto de la p\u00e1gina, lo podr\u00e9is hacer f\u00e1cilmente. Las otra opciones de la p\u00e1gina (objetos ganados, perdidos, etc.) tambi\u00e9n est\u00e1n guardados. Pero tengo que crear la funcionalidad para poder restablecer un cap\u00edtulo entero de golpe. Lo que he hecho de momento es un poco rudimentario, pero funciona:<\/p>\n<p><img data-attachment-id=\"169\" data-permalink=\"https:\/\/bookgame.me\/blog\/copias-de-seguridad-de-los-librojuegos\/copiasseguridad\/\" data-orig-file=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?fit=1109%2C849&amp;ssl=1\" data-orig-size=\"1109,849\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Copiasseguridad\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?fit=300%2C230&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?fit=1024%2C784&amp;ssl=1\" loading=\"lazy\" class=\"alignnone size-large wp-image-169\" src=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?resize=1024%2C784&#038;ssl=1\" alt=\"\" width=\"1024\" height=\"784\" srcset=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?resize=1024%2C784&amp;ssl=1 1024w, https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?resize=300%2C230&amp;ssl=1 300w, https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?resize=768%2C588&amp;ssl=1 768w, https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?w=1109&amp;ssl=1 1109w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" data-recalc-dims=\"1\" \/><\/p>\n<p>Y ya puestos, he a\u00f1adido una opci\u00f3n para que os pod\u00e1is descargar la \u00faltima versi\u00f3n del cap\u00edtulo. Est\u00e1 en formato JSON, que es como se guardan los cap\u00edtulos, con todos los par\u00e1metros, en base de datos.<\/p>\n<p><img data-attachment-id=\"170\" data-permalink=\"https:\/\/bookgame.me\/blog\/copias-de-seguridad-de-los-librojuegos\/json\/\" data-orig-file=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/json.png?fit=952%2C321&amp;ssl=1\" data-orig-size=\"952,321\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"json\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/json.png?fit=300%2C101&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/json.png?fit=952%2C321&amp;ssl=1\" loading=\"lazy\" class=\"alignnone size-full wp-image-170\" src=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/json.png?resize=952%2C321&#038;ssl=1\" alt=\"\" width=\"952\" height=\"321\" srcset=\"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/json.png?w=952&amp;ssl=1 952w, https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/json.png?resize=300%2C101&amp;ssl=1 300w, https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/json.png?resize=768%2C259&amp;ssl=1 768w\" sizes=\"(max-width: 952px) 100vw, 952px\" data-recalc-dims=\"1\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cuando cre\u00e9 la primera versi\u00f3n de bookgame.me me di cuenta de lo doloroso que es perder un texto que te ha llevado un buen rato escribir. Es por ello que me propuse crear un sistema robusto para evitar que alguien pueda perder el trabajo de forma accidental. Esto podr\u00eda ocurrir por varios motivos: El escritor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":169,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[4],"tags":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/09\/Copiasseguridad.png?fit=1109%2C849&ssl=1","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9L3hO-2I","jetpack-related-posts":[{"id":66,"url":"https:\/\/bookgame.me\/blog\/guardado-automatico-a-la-hora-de-escribir-tus-librojuegos\/","url_meta":{"origin":168,"position":0},"title":"Guardado autom\u00e1tico a la hora de escribir tus librojuegos","date":"9 abril, 2018","format":false,"excerpt":"Cada vez que guardas uno de los nodos (p\u00e1ginas) o enlaces entre p\u00e1ginas, se guarda autom\u00e1ticamente el librojuego. Si os fij\u00e1is, en la barra superior ver\u00e9is aparecer un mensaje que dice Guardando... Adem\u00e1s, internamente, cada vez que se guarda el librojuego, queda guardado en la base de datos cada una\u2026","rel":"","context":"En \u00abTutoriales\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/04\/guardando.png?fit=1163%2C442&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":69,"url":"https:\/\/bookgame.me\/blog\/edicion-de-los-nodos-paginas-y-los-enlaces\/","url_meta":{"origin":168,"position":1},"title":"Edici\u00f3n de los nodos (p\u00e1ginas) y los enlaces","date":"10 abril, 2018","format":false,"excerpt":"Escribir un librojuego no es una tarea f\u00e1cil. Adem\u00e1s de la complejidad de escribir un libro, se le a\u00f1ade que la narraci\u00f3n tienen varias ramas. Bookgame.me, como se focaliza en el g\u00e9nero librojuegos, a priorizado que el escritor tenga un diagrama visual de lo que est\u00e1 escribiendo. Por eso, al\u2026","rel":"","context":"En \u00abTutoriales\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/04\/diagramacoloresespecail.png?fit=623%2C423&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":29,"url":"https:\/\/bookgame.me\/blog\/como-escribir-diferenciando-si-el-personaje-es-masculino-o-femenino\/","url_meta":{"origin":168,"position":2},"title":"C\u00f3mo escribir diferenciando si el personaje es masculino o femenino","date":"10 abril, 2018","format":false,"excerpt":"Una de las gracias que tienen los librojuegos interactivos con jugabilidad de rol, es que da mucha libertad de acci\u00f3n al lector para configurar su personaje y para tomar sus propias decisiones durante la narraci\u00f3n. Esto acarrea mucha m\u00e1s complejidad para el escritor de librojuegos, ya que tiene que tener\u2026","rel":"","context":"En \u00abTutoriales\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/03\/45476958-low-poly-man-and-woman-symbol.jpg?fit=1200%2C878&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":183,"url":"https:\/\/bookgame.me\/blog\/ver-el-tiempo-dedicado-a-la-escritura-de-tu-librojuego\/","url_meta":{"origin":168,"position":3},"title":"Ver el tiempo dedicado a la escritura de tu librojuego","date":"23 octubre, 2018","format":false,"excerpt":"Nueva peque\u00f1a mejora que os puede ser de utilidad a los escritores: \u00bfcuanto tiempo he dedicado a escribir mi librojuego? Desde el principio de la creaci\u00f3n de bookgame.me me enfrent\u00e9 a algunos errores en la programaci\u00f3n de la plataforma que hac\u00eda que a veces \"petara\" mientras estaba escribiendo uno de\u2026","rel":"","context":"En \u00abNoticias\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/10\/Captura.png?fit=714%2C483&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":148,"url":"https:\/\/bookgame.me\/blog\/mensajes-de-los-lectores-al-escritor-y-recompensas\/","url_meta":{"origin":168,"position":4},"title":"Mensajes de los lectores al escritor y recompensas","date":"20 agosto, 2018","format":false,"excerpt":"Al lanzar la app de Montaraz en Google Play cre\u00e9 un sistema f\u00e1cil para que los lectores se pudieran poner en contacto conmigo para comunicarme bugs, faltas de ortograf\u00eda, o mejoras. Desde entonces no han parado de llegarme mensajes. Muchos de los mensajes han sido de agradecimiento y de \u00e1nimos\u2026","rel":"","context":"En \u00abTutoriales\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2018\/08\/gestiondepublicacion.jpg?fit=921%2C432&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":263,"url":"https:\/\/bookgame.me\/blog\/video-tutoriales-en-youtube\/","url_meta":{"origin":168,"position":5},"title":"V\u00eddeo Tutoriales en YouTube","date":"27 enero, 2019","format":false,"excerpt":"Uno de mis prop\u00f3sitos de a\u00f1o nuevo fue crear un nuevo v\u00eddeo tutorial cada fin de semana de bookgame.me. Me parec\u00eda algo factible. Desgraciadamente s\u00f3lo me ha durado el primer fin de semana, ya que en el segundo fin de semana de enero ya no me dio la vida. Sin\u2026","rel":"","context":"En \u00abNoticias\u00bb","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/bookgame.me\/blog\/wp-content\/uploads\/2019\/01\/youtube_v2-512.png?fit=512%2C512&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/posts\/168"}],"collection":[{"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/comments?post=168"}],"version-history":[{"count":1,"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/posts\/168\/revisions"}],"predecessor-version":[{"id":171,"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/posts\/168\/revisions\/171"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/media\/169"}],"wp:attachment":[{"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/media?parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/categories?post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bookgame.me\/blog\/wp-json\/wp\/v2\/tags?post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}