একটি .ONE ফাইল কি?
.ONE এক্সটেনশন দ্বারা উপস্থাপিত ফাইল Microsoft OneNote অ্যাপ্লিকেশন দ্বারা তৈরি করা হয়। OneNote আপনাকে অ্যাপ্লিকেশন ব্যবহার করে তথ্য সংগ্রহ করতে দেয় যেন আপনি নোট নেওয়ার জন্য আপনার ড্রাফ্ট প্যাড ব্যবহার করছেন। OneNote ফাইলগুলিতে বিভিন্ন উপাদান থাকতে পারে যা নথির পৃষ্ঠাগুলিতে অ-নির্দিষ্ট অবস্থানে স্থাপন করা যেতে পারে। এই উপাদানগুলিতে পাঠ্য, ডিজিটালাইজড হস্তাক্ষর এবং ছবি, অঙ্কন এবং মাল্টিমিডিয়া (অডিও/ভিডিও) ক্লিপ সহ অন্যান্য অ্যাপ্লিকেশন থেকে অনুলিপি করা বস্তু থাকতে পারে। Microsoft এখন Office365-এর অংশ হিসেবে OneNote-এর অনলাইন সংস্করণ অফার করে যেখানে ইন্টারনেটে অন্যান্য OneNote ব্যবহারকারীদের সাথে নোট শেয়ার করা যায়।
.ONE ফাইল ফরম্যাট স্পেসিফিকেশন
OneNote ফাইল বিন্যাস বিভাগ এবং পৃষ্ঠাগুলির শ্রেণিবদ্ধ সেট হিসাবে ডিজিটাল নোটগুলিকে উপস্থাপন করার জন্য একটি কার্যকর উপায় প্রদান করে। ফাইল ফরম্যাট ডকুমেন্ট অবজেক্ট মডেল (DOM) দ্বারা উপস্থাপনের জন্য প্রতিটি পৃষ্ঠায় একটি নির্দিষ্ট কাঠামোতে ব্যবহারকারী-সংজ্ঞায়িত বিষয়বস্তু রয়েছে। এই বিন্যাসের জন্য ডেটা মডেলটি নীচে চিত্রিত করা হয়েছে।
গঠন ওভারভিউ
OneNote ফাইল ফরম্যাটের ডেটা মডেলে যেমন দেখানো হয়েছে, একটি OneNote নথিতে বিভিন্ন উপাদান থাকে।
অধ্যায়
একটি বিভাগ হল একটি OneNote ফাইলের শীর্ষস্থানীয় ধারক যা এতে আরও বিভিন্ন উপাদান রয়েছে যেমন:
পৃষ্ঠা
মেটাডেটা
বৈশিষ্ট্য
মেটাডেটা এবং বৈশিষ্ট্যগুলির মধ্যে রয়েছে বিভাগের নাম, বিভাগে থাকা পৃষ্ঠাগুলির সনাক্তকরণ এবং সেই পৃষ্ঠাগুলি যে ক্রমানুসারে প্রদর্শিত হয়। বিভাগ শব্দটি একটি বিভাগে থাকা সমস্ত পৃষ্ঠা এবং OneNote® রিভিশন স্টোর ফাইলে সেই ডেটার উপস্থাপনাকে বোঝায়, যার একটি .one ফাইলের নাম এক্সটেনশন রয়েছে৷
পৃষ্ঠা
একটি OneNote নথিতে ব্যবহারকারী-সংজ্ঞায়িত বিষয়বস্তু একটি পৃষ্ঠার ভিতরে থাকে। পৃষ্ঠার তথ্যে পাঠ্য, তালিকা, টেবিল, পৃষ্ঠার শিরোনাম, ছবি এবং নোট ট্যাগ অন্তর্ভুক্ত রয়েছে। একটি পৃষ্ঠায় আউটলাইন অবজেক্ট থাকে যেখানে বেশিরভাগ অন্তর্ভুক্ত বস্তু যোগ করা হয়। প্রতিটি পৃষ্ঠাকে অর্থপূর্ণ উপস্থাপনার জন্য একটি নাম বরাদ্দ করা যেতে পারে এবং বস্তুগুলি সরাসরি পৃষ্ঠাগুলিতে যোগ করা যেতে পারে। একটি পৃষ্ঠায় আরও একটি শ্রেণীবিন্যাস পদ্ধতিতে উপ-পৃষ্ঠা থাকতে পারে।
বৈশিষ্ট্য এবং সম্পত্তি সেট
OneNote বিষয়বস্তু বৈশিষ্ট্য, সম্পত্তি সেট এবং ফাইল ডেটা অবজেক্ট নিয়ে গঠিত। একটি সম্পত্তি সেট হল বৈশিষ্ট্যগুলির একটি সংগ্রহ যা কিছু ধরণের সামগ্রীকে উপস্থাপন করে। একটি ফাইল ডেটা অবজেক্ট হল বাইনারি ডেটার একটি ব্লক যাতে ছবি, এমবেড করা ফাইল বা অডিও/ভিডিও সামগ্রী থাকে।
OneNote নোটবুক
একটি নোটবুক হল বিভাগ ফাইলগুলির একটি সংগ্রহ যা একই ডিরেক্টরিতে সংরক্ষণ করা হয়। বৈশিষ্ট্যের একটি সংগ্রহ সেটিংস নির্দিষ্ট করতে ব্যবহৃত হয় যেমন নোটবুকের মধ্যে বিভাগগুলির ক্রম এবং নোটবুকের রঙ।
ফাইল স্ট্রাকচার
একটি রিভিশন স্টোর ফাইল একটি হেডার কাঠামো দিয়ে শুরু হওয়া আবশ্যক। ফাইলের অবশিষ্ট অংশটি বাইটের ব্লকে বিভক্ত করা হয়, যেখানে প্রতিটি ব্লকের আকার এবং গঠন ক্ষেত্র দ্বারা নির্দিষ্ট করা হয় যা এটিকে উল্লেখ করে। একটি ব্লক পৌঁছানো যায় যদি এটি শিরোনাম কাঠামোর দ্বারা উল্লেখ করা হয়, অথবা যদি এটি অন্য একটি পৌঁছানোর যোগ্য ব্লকের একটি ক্ষেত্র দ্বারা উল্লেখ করা হয়। শিরোনাম কাঠামোর বাইরের ডেটা এবং যেকোনও পৌঁছানো যায় এমন ব্লক অবশ্যই উপেক্ষা করা উচিত।
সমস্ত কাঠামো 1-বাইটের সীমানায় সারিবদ্ধ। অন্যথায় নির্দিষ্ট না হলে সমস্ত পূর্ণসংখ্যা স্বাক্ষরিত হয়। সমস্ত ক্ষেত্র হল little-endian যদি না অন্যথায় নির্দিষ্ট করা হয়৷
হেডার
.ONE ফাইলের শিরোনামে এমন খণ্ডগুলি রয়েছে যাতে ফাইলের তথ্য উপস্থাপনের জন্য বিভিন্ন অনন্য আইডি এবং ক্ষেত্র রয়েছে:
guidFileType (16 bytes):
একটি GUID যা রিভিশন স্টোর ফাইলের ধরন নির্দিষ্ট করে। নিম্নলিখিত সারণী থেকে মানগুলির মধ্যে একটি হতে হবে৷
ফাইল বিন্যাস | মান |
---|---|
.one | {7B5C52E4-D88C-4DA7-AEB1-5378D02996D3} |
.onetoc2 | {43FF2FA1-EFD9-4C76-9EE2-10EA5722765F} |
guidFile (16 bytes):
একটি GUID যা এই রিভিশন স্টোর ফাইলের পরিচয় নির্দিষ্ট করে। বিশ্বব্যাপী অনন্য হতে হবে.
guidLegacyFileVersion (16 বাইট):
অবশ্যই {00000000-0000-0000-0000-000000000000} হতে হবে এবং অবশ্যই উপেক্ষা করা উচিত।
guidFileFormat (16 বাইট):
একটি GUID যা নির্দিষ্ট করে যে ফাইলটি একটি রিভিশন স্টোর ফাইল। {109ADD3F-911B-49F5-A5D0-1791EDC8AED8} হতে হবে।
ffvLastCodeThatWroteToThisFile (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা। ফাইলের প্রকারের উপর নির্ভর করে নিম্নলিখিত টেবিলের মানগুলির মধ্যে একটি হতে হবে।
ফাইল বিন্যাস | মান |
---|---|
.one | 0x0000002A |
.onetoc2 | 0x0000001B |
ffvOldestCodeThatHasWrittenToThisFile (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা। এই ফাইলের ফাইল ফর্ম্যাটের উপর নির্ভর করে নিম্নলিখিত টেবিলের মানগুলির মধ্যে একটি হতে হবে৷
ফাইল বিন্যাস | মান |
---|---|
.one | 0x0000002A |
.onetoc2 | 0x0000001B |
ffvNewestCodeThatHasWrittenToThisFile (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা। এই ফাইলের ফাইল ফর্ম্যাটের উপর নির্ভর করে নিম্নলিখিত টেবিলের মানগুলির মধ্যে একটি হতে হবে৷
ফাইল বিন্যাস | মান |
---|---|
.one | 0x0000002A |
.onetoc2 | 0x0000001B |
ffvOldestCodeThatMayReadThisFile (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা। এই ফাইলের ফাইল ফর্ম্যাটের উপর নির্ভর করে নিম্নলিখিত টেবিলের মানগুলির মধ্যে একটি হতে হবে৷
ফাইল বিন্যাস | মান |
---|---|
.one | 0x0000002A |
.onetoc2 | 0x0000001B |
fcrLegacyFreeChunkList (8 বাইট):
একটি FileChunkReference32 কাঠামো যার মান অবশ্যই fcrZero থাকতে হবে।
fcrLegacyTransactionLog (8 বাইট):
একটি FileChunkReference32 কাঠামো যা অবশ্যই fcrNil হতে হবে।
cTransactionsInLog (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা লেনদেনের লগে লেনদেনের সংখ্যা নির্দিষ্ট করে। শূন্য হতে হবে না।
cbLegacyExpectedFileLength (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা অবশ্যই শূন্য হতে হবে এবং অবশ্যই উপেক্ষা করতে হবে।
rgbPlaceholder (8 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা অবশ্যই শূন্য হতে হবে এবং অবশ্যই উপেক্ষা করতে হবে।
fcrLegacyFileNodeListRoot (8 বাইট):
একটি FileChunkReference32 কাঠামো যা অবশ্যই fcrNil হতে হবে।
cbLegacyFreeSpaceInFreeChunkList (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা অবশ্যই শূন্য হতে হবে এবং অবশ্যই উপেক্ষা করতে হবে।
fNeedsDefrag (1 বাইট):
অবশ্যই উপেক্ষা করা উচিত।
fRepairedFile (1 বাইট):
অবশ্যই উপেক্ষা করা উচিত।
fNeedsGarbageCollect (1 বাইট):
অবশ্যই উপেক্ষা করা উচিত।
fHasNoEmbeddedFileObjects (1 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা অবশ্যই শূন্য হতে হবে এবং অবশ্যই উপেক্ষা করতে হবে।
guidAncestor (16 বাইট):
একটি GUID যা নিম্নোক্ত সারণী দ্বারা প্রদত্ত বিষয়বস্তু ফাইলের Header.guidFile ক্ষেত্র নির্দিষ্ট করে:
সূচিপত্র ফাইল বিন্যাস | বিষয়বস্তুর ফাইলের সারণীর অবস্থান |
---|---|
বিভাগ ফাইল - .এক | বিষয়বস্তুর সারণী এই ফাইলটির মতো একই ডিরেক্টরিতে অবস্থিত। |
বিষয়বস্তু ফাইলের সারণী - .onetoc2 | বিষয়বস্তুর ফাইলটি এই ফাইলের মূল ডিরেক্টরিতে অবস্থিত। |
যদি GUID হয় {00000000-0000-0000-0000-000000000000}, এই ক্ষেত্রটি বিষয়বস্তুর ফাইলের একটি সারণী উল্লেখ করে না।
crcName (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা এই রিভিশন স্টোর ফাইলের নামের CRC মান নির্দিষ্ট করে। নামটি ফাইল নামের ইউনিকোড উপস্থাপনা যার এক্সটেনশন এবং শেষে একটি অতিরিক্ত নাল অক্ষর। এই CRC সর্বদা .one ফাইলের জন্য CRC অ্যালগরিদম ব্যবহার করে গণনা করা হয়, এই রিভিশন স্টোর ফাইল ফর্ম্যাট নির্বিশেষে।
fcrHashedChunkList (12 বাইট):
একটি FileChunkReference64x32 কাঠামো যা হ্যাশ করা খণ্ড তালিকার প্রথম FileNodeListFragment-এর একটি রেফারেন্স নির্দিষ্ট করে। FileChunkReference64x32 কাঠামোর মান যদি fcrZero বা fcrNil হয়, তাহলে হ্যাশ করা খণ্ড তালিকাটি বিদ্যমান থাকে না।
fcrTransactionLog (12 বাইট):
একটি FileChunkReference64x32 কাঠামো যা একটি লেনদেন লগে প্রথম TransactionLogFragment কাঠামোর একটি রেফারেন্স নির্দিষ্ট করে। fcrTransactionLog ফিল্ডের মান fcrZero হওয়া উচিত নয় এবং fcrNil হওয়া উচিত নয়৷
fcrFileNodeListRoot (12 বাইট):
একটি FileChunkReference64x32 কাঠামো যা একটি রুট ফাইল নোড তালিকার একটি রেফারেন্স নির্দিষ্ট করে। fcrFileNodeListRoot ফিল্ডের মান fcrZero হওয়া উচিত নয় এবং fcrNil হওয়া উচিত নয়।
fcrFreeChunkList (12 বাইট):
একটি FileChunkReference64x32 কাঠামো যা প্রথম FreeChunkListFragment কাঠামোর একটি রেফারেন্স নির্দিষ্ট করে। FileChunkReference64x32 কাঠামোর মান যদি fcrZero বা fcrNil হয়, তাহলে বিনামূল্যের খণ্ড তালিকাটি বিদ্যমান থাকে না।
cbExpectedFileLength (8 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা এই রিভিশন স্টোর ফাইলের আকার, বাইটে, নির্দিষ্ট করে।
cbFreeSpaceInFreeChunkList (8 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা মুক্ত খণ্ড তালিকা দ্বারা নির্দিষ্ট করা ফাঁকা স্থানের আকার, বাইটে, নির্দিষ্ট করতে হবে।
guidFileVersion (16 বাইট):
একটি GUID। যখন হয় cTransactionsInLog ফিল্ডের মান বা guidDenyReadFileVersion ফিল্ডের মান পরিবর্তন করা হয়, guidFileVersion একটি নতুন GUID তে পরিবর্তন করতে হবে।
nFileVersion Generation (8 bytes):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা ফাইলটি কতবার পরিবর্তিত হয়েছে তা নির্দিষ্ট করে। guidFileVersion ফিল্ড পরিবর্তন হলে অবশ্যই বৃদ্ধি করতে হবে।
guidDenyReadFileVersion (16 বাইট):
একটি GUID। ফাইলের বিদ্যমান বিষয়বস্তু পরিবর্তন করা হলে, ফাইলের শিরোনাম কাঠামো এবং অব্যবহৃত সঞ্চয়স্থান ব্লকগুলি বাদ দিয়ে, guidDenyReadFileVersion একটি নতুন GUID-এ পরিবর্তন করা আবশ্যক৷
grfDebugLogFlags (4 বাইট):
অবশ্যই শূন্য হতে হবে। উপেক্ষা করা আবশ্যক.
fcrDebugLog (12 বাইট):
একটি FileChunkReference64x32 কাঠামো যার একটি মান fcrZero থাকতে হবে। উপেক্ষা করা আবশ্যক.
fcrAllocVerificationFreeChunkList (12 বাইট):
একটি FileChunkReference64x32 কাঠামো যা অবশ্যই fcrZero হতে হবে। উপেক্ষা করা আবশ্যক.
bnCreated (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা এই রিভিশন স্টোর ফাইলটি তৈরি করা অ্যাপ্লিকেশনটির বিল্ড নম্বর নির্দিষ্ট করে। উপেক্ষা করা উচিত.
bnLastWroteToThisFile (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা এই রিভিশন স্টোর ফাইলে সর্বশেষ লেখা অ্যাপ্লিকেশনটির বিল্ড নম্বর নির্দিষ্ট করে। উপেক্ষা করা উচিত.
bnOldestWritten (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা এই পুনর্বিবেচনা স্টোর ফাইলে লেখা প্রাচীনতম অ্যাপ্লিকেশনটির বিল্ড নম্বর নির্দিষ্ট করে। উপেক্ষা করা উচিত.
bnNewestWritten (4 বাইট):
একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা যা এই রিভিশন স্টোর ফাইলে লেখা নতুন অ্যাপ্লিকেশনটির বিল্ড নম্বর নির্দিষ্ট করে। উপেক্ষা করা উচিত.
rgbসংরক্ষিত (728 বাইট):
অবশ্যই শূন্য হতে হবে। উপেক্ষা করা আবশ্যক.