v1.29: “সমাধান করা হয়েছে” অবস্থা এখন এক্সপোর্ট ও API-তে
FormFlow v1.29.0 CSV, Excel ও JSON এক্সপোর্টে এবং ম্যানেজমেন্ট API-তে লেখে কখন একটি সাবমিশন “সমাধান করা হয়েছে” চিহ্নিত হয়েছিল। এই সময়ের অর্থ কী এবং এর সীমা কোথায়।
এই পোস্টটি যন্ত্রের মাধ্যমে অনুবাদ করা হয়েছে। ইংরেজিতে মূল পোস্টটি পড়ুন

FormFlow v1.29.0, যা 2026-10-02 তারিখে প্রকাশিত হয়েছে, “সমাধান করা হয়েছে” অবস্থাকে ইনবক্সের বাইরে নিয়ে আসে। এখন পর্যন্ত কোনো সাবমিশনকে “সমাধান করা হয়েছে” চিহ্নিত করা শুধু FormFlow-এর ভেতরে দেখা যেত। এই রিলিজ থেকে CSV, Excel ও JSON এক্সপোর্টে এটি কখন ঘটেছিল তা রেকর্ড হয়, এবং ম্যানেজমেন্ট API একই সময় ফেরত দেয় ও তার ওপর ফিল্টারও করা যায়।
কী বদলেছে
CSV ও Excel এক্সপোর্টে “সমাধান করা হয়েছে” কলাম যুক্ত হয়েছে। ফাইলে এর হেডার _handled_at, যা সাবমিশনের অন্যান্য বিবরণ কলামের মতোই লেখা হয় (যেমন _id)।
JSON এক্সপোর্টে প্রতিটি সাবমিশনে handled_at কী থাকে।
ম্যানেজমেন্ট API প্রতিটি সাবমিশনে handled_at ফেরত দেয়, তালিকায় এবং এককভাবে একটি সাবমিশনেও।
সাবমিশনের তালিকা handled=true বা handled=false গ্রহণ করে, যাতে শুধু সমাধান করা বা শুধু খোলা সাবমিশন পাওয়া যায়।
এক্সপোর্ট পিকারে কলামটি তালিকাভুক্ত থাকে, তাই আপনি এর টিক তুলে দিতে পারেন।
সময়টি কী রেকর্ড করে
মানটি হলো সেই মুহূর্ত যখন টিম সাবমিশনটিকে “সমাধান করা হয়েছে” চিহ্নিত করেছে, ISO 8601 টাইমস্ট্যাম্প হিসেবে, যেমন 2026-10-02T09:30:00+00:00। FormFlow-এর অ্যাপ্লিকেশন ঘড়ি UTC-তে সেট করা, তাই অফসেট +00:00। অবস্থাটি টিমের, কোনো একজন সদস্যের নয়: কোনো অ্যাসাইন করা ব্যক্তি নেই, এবং এক্সপোর্টে থাকে একটি সময়, কোনো ব্যক্তি নয়।
অবস্থাটি যেভাবে লেখা হয় তা থেকে তিনটি আচরণ আসে। আগে থেকেই সমাধান করা সাবমিশনকে আবার চিহ্নিত করলে কিছুই হয় না, তাই প্রথম সময়টি থেকে যায়। সাবমিশন পুনরায় খুললে সময়টি মুছে যায়, এবং সেটি খোলা থাকা পর্যন্ত ঘরটি আবার ফাঁকা থাকে। আপনি এটি পুনরায় খুলে পরে আবার “সমাধান করা হয়েছে” চিহ্নিত করলে কলামে নতুন সময় দেখায়, আর আগেরটি চলে যায়। FormFlow থেকে ফর্ম পূরণকারীকে উত্তর পাঠালেও সাবমিশনটি “সমাধান করা হয়েছে” চিহ্নিত হয়, তাই সময়টি ক্লিক থেকে না এসে উত্তর থেকেও আসতে পারে।
এক্সপোর্ট পিকারে
CSV ও Excel-এর জন্য এক্সপোর্ট পিকার সেই কলামগুলো তালিকাভুক্ত করে যা আপনি অন্তর্ভুক্ত করতে পারেন। সব কলাম বেছে নেওয়া এক্সপোর্টে এখন “সমাধান করা হয়েছে” কলাম থাকে। এর টিক তুলে দিলে ফাইল আগের বিন্যাসই রাখে, যা তখন গুরুত্বপূর্ণ যখন অন্য কোনো টুল ফাইলটি অবস্থান ধরে পড়ে। তবুও ফাইলটি হেডারের নাম ধরে পড়াই বেশি নিরাপদ।
JSON-এর জন্য পিকার দেখানো হয় না। JSON এক্সপোর্টে handled_at সবসময় থাকে, এবং সাবমিশন খোলা থাকলে সেটি null হয়। সারিতে থাকা এক্সপোর্ট একটি নির্দিষ্ট মুহূর্তের অনুলিপি, তাই v1.29.0-এর আগে আপনি যে ফাইল ডাউনলোড করেছেন তা বদলায় না, এবং নতুন এক্সপোর্ট সারিতে রাখার সময়ের অবস্থা প্রতিফলিত করে।
API কী দেখায়
ম্যানেজমেন্ট API-তে সমাধান করা সাবমিশনে একই টাইমস্ট্যাম্প ফরম্যাটে handled_at থাকে। খোলা সাবমিশন কীটি পুরোপুরি বাদ দেয়, যেমন সাবমিশন না পড়া থাকলে read_at আগে থেকেই বাদ দেওয়া হয়। এটি JSON এক্সপোর্ট থেকে আলাদা, যা কীটি রাখে এবং null করে দেয়, তাই দুটোই সামলানো কোডকে অনুপস্থিত কী এবং null-কে একই জিনিস ধরতে হবে।
তালিকায় handled=true শুধু সেই সাবমিশন ফেরত দেয় যেগুলোর সমাধানের সময় আছে, আর handled=false শুধু খোলাগুলো। প্যারামিটারটি বাদ দিলে দুটোই পাবেন। এটি বিদ্যমান is_spam ও unread ফিল্টারের সঙ্গে এবং q অনুসন্ধানের সঙ্গে একত্রে ব্যবহার করা যায়।
এর সীমাবদ্ধতা
এটি একটি সময়, ইতিহাস নয়। শুধু সর্বশেষ সময়টি এক্সপোর্ট হয়, তাই কোনো সাবমিশন যে পুনরায় খোলা হয়েছিল তা আপনি দেখতে পারবেন না।
এটি কারও নাম বলে না। সদস্যদের তুলনা করতে কলামটি ব্যবহার করবেন না।
“সমাধান করা হয়েছে” মানে নিষ্পত্তি হয়েছে, উত্তর দেওয়া হয়েছে এমন নয়। কেউ ফর্ম পূরণকারীকে না লিখেও একটি সাবমিশন সমাধান করা হতে পারে।
এটি নিজে প্রতিক্রিয়ার সময়ের মাপকাঠি নয়। আপনি পাওয়ার সময় ও সমাধানের সময় থেকে একটি ব্যবধান হিসাব করতে পারেন, কিন্তু সেই ব্যবধানে সাবমিশন খোলা থাকার প্রতিটি কারণ ধরা পড়ে, এবং পুনরায় খুললে তা রিসেট হয়ে যায়।
এটি আগে এক্সপোর্ট হয়ে যাওয়া কিছুই নতুন করে লেখে না।
এই পোস্টটি রিলিজ ব্যাখ্যা করে। v1.29.0-এর “পরিবর্তনের তালিকা” এন্ট্রিই কী প্রকাশিত হয়েছে তার রেকর্ড হিসেবে থাকে।