Saltar al artículo

Guardar datos

Un registro de progreso, una lista de tareas o un cuestionario guarda en el navegador lo que hace la gente, como cualquier página web. En Ajustes del sitio → Datos guardados puedes guardarlo en Solta, para que acompañe a las personas en sus otros dispositivos, o compartir un mismo almacenamiento entre todos los que abren el sitio.

En el dispositivo de cada visitante

Es lo predeterminado, y lo que pasa en cualquier página web. Lo que el sitio guarda en localStorage se queda en ese navegador. No se guarda nada en Solta, y otro celular empieza vacío.

De cada visitante, guardados en Solta

El sitio no necesita ningún cambio. Los visitantes ven un pequeño botón Guardar en todos tus dispositivos en la esquina inferior izquierda. Escriben su correo, les enviamos un código de 6 dígitos, y desde ese momento todo lo que el sitio guarda en localStorage se guarda también en Solta. En otro dispositivo, inician sesión de la misma forma, y sus datos vuelven antes de que la página arranque.

Para usar tu propio botón, agrega <meta name="solta-data-chip" content="off"> a la página y llama a solta.data.open() desde él. solta.data.email() dice quién inició sesión, y solta.data.signOut() cierra su sesión en ese dispositivo. Lo que está en el dispositivo se queda ahí.

Está en todos los planes. Un sitio guarda hasta 1 MB en total en los planes Free y Plus, 50 MB en Pro y 200 MB en Team. Lo que se elimina en un dispositivo se elimina en los demás la próxima vez que abren el sitio, salvo que ese dispositivo lo haya cambiado sin sesión iniciada después de que se eliminara: en ese caso se conserva y se guarda su copia más nueva. Las eliminaciones se recuerdan durante 30 días, así que un dispositivo que pasa más tiempo sin abrir el sitio conserva lo que tenía.

Compartidos por todos

En Pro y Team, un solo almacenamiento para todo el sitio: un conteo de votos, un libro de visitas, la lista de tareas de un equipo. El código del sitio lo usa directamente:

const votes = (await solta.data.shared.get("votes")) ?? 0;
await solta.data.shared.set("votes", votes + 1);
await solta.data.shared.push("guestbook", { name, note });
const everything = await solta.data.shared.all();

Los valores pueden ser cualquier cosa que quepa en JSON. push agrega a una lista sin perder lo que otra persona agregó en el mismo momento, que es lo que pasaría si la leyeras, la cambiaras y la guardaras. Cualquiera que pueda abrir el sitio puede cambiar lo que se comparte, así que conviene para un sitio protegido con contraseña o por invitación.

Una tarjeta grupal

En todos los planes, un sitio puede ser una tarjeta grupal: un almacenamiento al que todos los que lo abren agregan y que leen, y que solo tú cambias. Es lo que usa la plantilla de tarjeta grupal, y cualquier página puede usarlo:

const messages = (await solta.data.shared.get("messages")) ?? [];
await solta.data.shared.push("messages", { name, text });
const { count, limit, full } = await solta.data.card();

La página solo puede agregar: set y remove se rechazan. Una tarjeta admite 10 elementos gratis, contados entre todas sus listas. Un pase de tarjeta, que se compra una sola vez para esa tarjeta, la amplía a 1000, y en Pro y Team cada tarjeta admite 1000. Una tarjeta llena rechaza un elemento nuevo (su code es card_full) en lugar de borrar uno antiguo. En Ajustes del sitio → Datos guardados ves todos los elementos, con un botón para quitar uno para todos.

Tú los administras

Solta nunca guarda un valor que contenga una contraseña escrita en la página: se queda en el navegador del visitante, y el almacenamiento compartido lo rechaza.

Ajustes del sitio → Datos guardados muestra cuánto guarda el sitio, y cada visitante que guarda datos ahí, por su dirección de correo. Cuando alguien te pida que elimines sus datos, elimínalos ahí: desaparecen, y se cierra su sesión. Exportar se lleva todo en JSON. Todo se elimina junto con el sitio.

Cada clave tiene hasta 200 caracteres y cada valor hasta 256 KB, con hasta 2000 claves por visitante y para el almacenamiento compartido. Un visitante puede usar hasta el 10% del espacio de un sitio (al menos 100 KB), para que nadie pueda llenarlo para todos los demás. En un almacenamiento compartido, eso se cuenta por dirección de red. Lo que guarda un sitio también cuenta para tu almacenamiento, como lo que publicas.