সিঙ্ক
সিঙ্ক সাধারণত অন্য কারও server বোঝায়: অ্যাকাউন্ট, subscription, এমন company যে আপনার লাইব্রেরি পড়তে পারে। bae সিঙ্ক করে আপনার মেঘ দিয়ে, আপনার আগে থেকেই থাকা সংরক্ষণ, আর কোনো server চালায় না। আপনার ডিভাইসগুলো সেই সংরক্ষণে encrypted পরিবর্তন লেখে এবং একে অন্যের লেখা পড়ে; সেবা-দাতা বাইট রাখে কিন্তু পড়তে পারে না।
এক লাইব্রেরি, প্রতিটি ডিভাইস, আর একমাত্র অ্যাকাউন্ট হলো যেটি আপনার আগেই আছে।
মেঘ-ঘর
এই অংশের লিঙ্কলাইব্রেরির মেঘ-ঘর আপনার সংরক্ষণের একটি জায়গা: আপনার Google Drive, Dropbox, বা OneDrive-এর ফোল্ডার, আপনার iCloud, বা যেকোনো S3-compatible bucket (AWS, Backblaze B2, Cloudflare R2, Wasabi, MinIO, …)। এটি লাইব্রেরি যা সিঙ্ক করে সব রাখে: তালিকার পরিবর্তন, চিত্র, এবং যে রিলিজ bae-কে পরিচালনা করতে দিয়েছেন তার অডিও।
Settings-এর Sync-এর নিচে সেটি setup করুন:
- সেবা-দাতা বেছে নিন। Consumer ক্লাউড provider-এর নিজের login পৃষ্ঠা দিয়ে sign in করে; issued টোকেন ছাড়া আপনার অ্যাকাউন্ট সম্পর্কে কিছু রাখা হয় না। iCloud আপনার Apple ID যেমন আছে তেমন ব্যবহার করে। S3 bucket, region, endpoint, এবং কী নেয়, save করার আগে check করে।
- ঘর কীভাবে object রাখবে বেছে নিন (নিচে দেখুন)।
- bae সিঙ্ক শুরু করে।
মেঘ-ঘর ছাড়াও লাইব্রেরি নিজে সম্পূর্ণ। শুধু-স্থানীয় একটি mode, limitation নয়, আর মেঘ-ঘর বিচ্ছিন্ন করলে আবার সেটিতেই ফিরে যায়।
Opaque না browsable
এই অংশের লিঙ্কSetup-এর সময় provider কী দেখতে পাবে তা বেছে নেন, এবং সেই ঘরের জন্য পছন্দটি স্থায়ী:
- Opaque (ডিফল্ট): প্রতিটি object আপলোডের আগে আপনার ডিভাইসে encrypted হয় এবং অর্থহীন name-এর নিচে stored হয়। সেবা-দাতা, বা bucket-এ ঢোকা কেউ, ciphertext দেখে। Encryption পৃষ্ঠা এই mode বর্ণনা করে, এবং অন্য ডিভাইস ও সদস্য যোগ করার একমাত্র mode এটিই।
- Browsable: object cleartext-এ real filename সহ, শিল্পী ও অ্যালবাম নামে ফোল্ডারে stored হয়। যেকোনো tool দিয়ে bucket খুলে সরাসরি ফাইল copy বা play করতে পারেন। কিছু encrypted নয়, তাই bucket-এর নিজস্ব access control-ই একমাত্র protection, এবং ঘর share করা যায় না।
কী সিঙ্ক হয়
এই অংশের লিঙ্ক- তালিকা: অ্যালবাম, রিলিজ, ট্র্যাক, কৃতিত্ব, কাজ, পরিচয়, সম্পাদনা। প্রতিটি ডিভাইস সব পায়।
- Artwork: কভার ও শিল্পীর ছবি, গ্রিড সব জায়গায় আঁকতে আগেভাগে fetched।
- অডিও: শুধু মেঘে পরিচালনা করতে বেছে নেওয়া রিলিজের জন্য। অ-পরিচালিত রিলিজ পুরোপুরি স্থানীয় থাকে, তালিকার entry অন্য ডিভাইসে থাকে কিন্তু বাইট শুধু যেখানে ইম্পোর্ট করেছেন সেখানে।
প্রতি-ডিভাইস অবস্থা সিঙ্ক হয় না: প্লেব্যাকের অবস্থান, volume, সারি, এবং ডিভাইসের setting ডিভাইসেই থাকে।
কখন সিঙ্ক হয়
এই অংশের লিঙ্কসিঙ্ক নিজে চলে: পরিবর্তনের পরে, timer-এ, এবং Sync Now দিয়ে চাহিদামতো। সম্পাদনা অন্য ডিভাইসে ছোট পরিবর্তন হিসেবে যায়, সাধারণ অবস্থায় কয়েক সেকেন্ড পরে। একই সময়ে দুই ডিভাইস সম্পাদনা করলে যেখানে collision নেই সেখানে দুটিই থাকে: bae একসঙ্গে হওয়া সম্পাদনা ক্ষেত্র ধরে মিলিয়ে দেয়, এবং একটি মুছে দেওয়া রিলিজ একই মুহূর্তে অন্য কোথাও সম্পাদিত হলেও মুছে দেওয়া অবস্থাতেই থাকে। Conflict মেটাতে কখনও আপনাকে জিজ্ঞেস করে না।
ব্যর্থ হলে
এই অংশের লিঙ্কসিঙ্ক ব্যর্থতা লাইব্রেরি থামায় না; bae backoff দিয়ে আবার চেষ্টা করার সময় আপনি স্থানীয়ভাবে দেখতে, চালাতে, এবং ইম্পোর্ট করতে থাকেন। Status line syncing ও last-synced time দেখায়; ব্যর্থতা হলে error সহ banner দেখায়, আর আপলোড বিরতি দেওয়া, আবার চেষ্টা করা, এবং সংরক্ষণ ব্যবস্থাপক-এ দেখা যায়। মেঘ-ঘরের sign-in expire হলে bae reconnect করতে বলে।