حفظ البيانات
سجلّ المتابعة أو قائمة المهام أو الاختبار القصير يحفظ ما يفعله الناس في متصفحهم، مثل أي صفحة ويب. ومن إعدادات الموقع ← البيانات المحفوظة يمكنك أن تحفظ ذلك في Solta بدلًا من المتصفح، فيرافق الناس إلى أجهزتهم الأخرى، أو أن تجعل مخزنًا واحدًا مشتركًا بين كل من يفتح الموقع.
على جهاز كل زائر
هذا هو الإعداد الافتراضي، وهو ما يحدث في أي صفحة ويب. ما يحفظه الموقع في localStorage يبقى في ذلك المتصفح. لا يُحفظ شيء في Solta، ويبدأ أي هاتف آخر فارغًا.
لكل زائر، محفوظة في Solta
لا يحتاج الموقع إلى أي تغيير. يظهر للزوار زر صغير احفظ على كل أجهزتك في الزاوية السفلية اليسرى. يكتبون بريدهم، فنرسل رمزًا من 6 أرقام، ومن بعدها يُحفظ في Solta أيضًا كل ما يحفظه الموقع في localStorage. وعلى جهاز آخر، يسجّلون الدخول بالطريقة نفسها، فتعود بياناتهم قبل أن تبدأ الصفحة.
لتستخدم زرك الخاص بدلًا منه، أضف <meta name="solta-data-chip" content="off"> إلى الصفحة واستدعِ solta.data.open() منه. تقول solta.data.email() من سجّل الدخول، وتُخرج solta.data.signOut() الشخص من حسابه على ذلك الجهاز. وما على الجهاز يبقى عليه.
هذا متاح في كل الخطط. يحتفظ الموقع بما يصل إلى 1 MB إجمالًا في خطط Free وPlus، و50 MB في Pro، و200 MB في Team. وما يُحذف على جهاز يُحذف على الأجهزة الأخرى في المرة التالية التي تفتح فيها الموقع، إلا إذا غيّره ذلك الجهاز وهو غير مسجّل الدخول بعد حذفه: عندها تبقى نسخته الأحدث وتُحفظ. وتُتذكّر عمليات الحذف 30 يومًا، فالجهاز الذي يغيب مدة أطول يحتفظ بما كان لديه.
مشتركة بين الجميع
في Pro وTeam، مخزن واحد للموقع كله: عدد الأصوات، أو سجل الزوار، أو قائمة مهام الفريق. وتستخدمه شيفرة الموقع مباشرة:
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();يمكن أن تكون القيم أي شيء يستطيع JSON حمله. تضيف push إلى القائمة دون أن تضيع إضافة أحد آخر في اللحظة نفسها، وهو ما يحدث لو قرأت القائمة وغيّرتها ثم كتبتها. ويستطيع كل من يفتح الموقع تغيير ما هو مشترك، لذا يناسب ذلك موقعًا محميًا بكلمة مرور أو بالدعوة.
بطاقة جماعية
في كل الخطط، يمكن أن يكون الموقع بطاقة جماعية: مخزنًا واحدًا يضيف إليه كل من يفتحه ويقرأ منه، وأنت وحدك تغيّره. وهذا ما يستخدمه قالب البطاقة الجماعية، ويمكن لأي صفحة استخدامه:
const messages = (await solta.data.shared.get("messages")) ?? [];
await solta.data.shared.push("messages", { name, text });
const { count, limit, full } = await solta.data.card();لا تستطيع الصفحة إلا الإضافة: يُرفض set وremove. تقبل البطاقة 10 عناصر مجانًا، محسوبة على كل قوائمها. وباقة البطاقة، التي تُشترى مرة واحدة لتلك البطاقة، ترفعها إلى 1,000 عنصر، وفي Pro وTeam تقبل كل بطاقة 1,000 عنصر. والبطاقة الممتلئة ترفض العنصر الجديد (قيمة code فيه card_full) بدل أن تتخلص من عنصر قديم. وفي إعدادات الموقع ← البيانات المحفوظة ترى كل العناصر، مع زر لإزالة أي منها لدى الجميع.
أنت من يديرها
لا يحفظ Solta أبدًا قيمة تحتوي على كلمة مرور كُتبت في الصفحة: تبقى في متصفح الزائر، ويرفضها المخزن المشترك.
تعرض إعدادات الموقع ← البيانات المحفوظة كم يحفظ الموقع، وكل زائر يحفظ بياناته هناك، بعنوان بريده. وعندما يطلب منك أحد حذف بياناته، احذفها من هناك: تختفي، ويُسجَّل خروجه. والتصدير يأخذ كل شيء بصيغة JSON. ويُحذف كل ذلك مع الموقع.
يصل طول كل مفتاح إلى 200 حرف، وحجم كل قيمة إلى 256 KB، مع ما يصل إلى 2,000 مفتاح لكل زائر وللمخزن المشترك. ويستطيع الزائر الواحد استخدام ما يصل إلى 10% من حصة الموقع (100 KB على الأقل)، كي لا يملأها أحد على حساب الجميع، وفي المخزن المشترك يُحسب ذلك لكل عنوان شبكة. وما يحفظه الموقع يُحتسب أيضًا من مساحة التخزين لديك، مثل ما تنشره.

