मावेरिक्स के खोजक स्टोर टैग कैसे करता है?


13

मैंने अभी तक Mavericks का उपयोग नहीं किया है।
क्या फ़ाइल में खोजक स्टोर टैग (उदाहरण: xmp) है, या यह किसी तरह के डेटाबेस द्वारा संचालित है? और क्या?


OS X Maverick के बारे में सवाल पूछने से पहले आप इसे आजमाना चाहते हैं।
रामहाउंड

ध्यान दें कि फ़ाइल सिस्टम के भीतर टैगिंग के लिए मावेरिक्स दृष्टिकोण फाइंडर तक सीमित नहीं था।
ग्राहम पेरिन

जवाबों:


12

Mavericks विस्तारित विशेषता के रूप में टैग बचाता है

अब जब NDA उठा लिया गया है: Mavericks टैग को एक विस्तारित विशेषता के रूप में सहेजता है , में com.apple.metadata:_kMDItemUserTags। आप इस तरह mdls कमांड का उपयोग करके उन्हें स्वयं देख सकते हैं :

mdls -name kMDItemUserTags नमस्कार

जॉन सिराकुसा की OS X 10.9 की महाकाव्य समीक्षा में कुछ विस्तार से टैग वास्तुकला का वर्णन किया गया है।


3
और विस्तारित विशेषताओं को कैसे संग्रहीत किया जाता है?
जुलास

1

टैग com.apple.metadata नामक एक विस्तृत विशेषता में संग्रहीत हैं: _kMDItemUserTags। इसका मान एक बाइनरी प्रॉपर्टी सूची है जिसमें स्ट्रिंग्स का एकल सरणी होता है:

$ xattr -p com.apple.metadata:_kMDItemUserTags file3|xxd -r -p|plutil -convert xml1 - -o -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Red
6</string>
    <string>aa</string>
    <string>Orange
7</string>
    <string>Yellow
5</string>
    <string>Green
2</string>
    <string>Blue
4</string>
    <string>Purple
3</string>
    <string>Gray
1</string>
</array>
</plist>

रंगों के लिए टैग में मान हैं Red\n6(जहां \nएक लाइनफ़ीड है)।

आप टैग को एक फ़ाइल से दूसरी फ़ाइल में कॉपी करने के लिए उपयोग कर सकते हैं:

xattr -wx com.apple.metadata:_kMDItemUserTags "$(xattr -px com.apple.metadata:_kMDItemUserTags file1)" file2
xattr -wx com.apple.FinderInfo "$(xattr -px com.apple.FinderInfo file1)" file2

यदि com.apple.FinderInfo में kColor ध्वज अप्रचलित है, तो फाइंडर फाइलों के बगल में रंगों के लिए सर्कल नहीं दिखाता है। यदि kColor ध्वज नारंगी पर सेट है और फ़ाइल में लाल टैग है, तो खोजक लाल और नारंगी दोनों हलकों को दिखाता है। आप AppleScript के साथ kColor ध्वज सेट कर सकते हैं:

xattr -w com.apple.metadata:_kMDItemUserTags '("Red\n6","new tag")' ~/desktop/file4"
osascript -e 'tell application "Finder" to set label index of file "file4" of desktop to item 1 of {2, 1, 3, 6, 4, 5, 7}'

'("Red\n6","new tag")' इसके लिए पुरानी शैली का सिंटैक्स है:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Red
6</string>
    <string>new tag</string>
</array>
</plist>

xattr -p com.apple.FinderInfo file|head -n1|cut -c28-29केलोर ध्वज के लिए प्रयुक्त बिट्स के मूल्य को प्रिंट करता है। रेड सी है, नारंगी ई है, पीला ए है, हरा 4 है, नीला 8 है, मैजेंटा 6 है, और ग्रे 2 है। 1 मान को जोड़ने वाला झंडा ओएस एक्स में उपयोग नहीं किया जाता है।


1
यदि मैं "फाइनेंशियल" नाम का टैग बनाता हूं, तो लाल रंग का, उदाहरण के लिए विस्तारित विशेषता प्लिस्ट स्टोर "फाइनेंशियल" या "रेड" है? और नाम और रंग के बीच मैपिंग कैसे की जाती है?
वदादी कार्तिक

"जो ध्वज मानों में 1 जोड़ देगा उसका उपयोग OS X में नहीं किया गया है।" इसका क्या मतलब है?
निकोलस बारबुलेसको

यह उत्तर विस्तृत है। लेकिन रंगों और टैग के बीच अंतर स्पष्ट नहीं है।
निकोलस बारबुलेसको

और यह विस्तारित विशेषता कहाँ संग्रहीत है?
निकोलस बारबुलेसको

1

जहां तक ​​मैं इंटरनेट पर पढ़ सकता हूं, कई स्रोतों से, यह बहुत संभावना है कि Mavericks टैग को स्टोर करेगा क्योंकि फ़ाइल में OpenMeta रणनीति के करीब वास्तव में कुछ है। अब तक हमारे पास पहले से ही टैग थे और हमारे पास उदाहरण के लिए इस तरह के लीप / हां में मदद करने वाले कई एप्लिकेशन थे। लेकिन यह एक मानक निचली परत के ऊपर समेकित एक सर्वोत्तम अभ्यास था -OpenMeta। अब मावेरिक्स एक और कदम बनाते हुए टैग बनाना चाहता है (और उन्हें फाइलसिस्टम में एन्कोड किया जाना चाहिए) अधिकारी। प्लस टैग में रंगों का एक निश्चित सेट (7?) होगा और इसके अतिरिक्त अतिरिक्त शब्दार्थ को ले जाने के लिए सेट में टैग को विभाजित करने में मदद मिल सकती है। हम में से कई लोग सोचते हैं कि यह भविष्य के विकल्पों को चलाने के लिए एक बड़े उद्योग के नेता की फाइलसिस्टम दृष्टि में एक बड़ा कदम हो सकता है (आवेदन इस पर अधिक निर्भर करेगा और शायद मैक ओएस खुद कुछ विशेष सिस्टम वाइड एनोटेशन की उम्मीद करेगा)। विवरण के लिए, OpenMeta चाहता है कि मेटाडेटा को फ़ाइलों की xattr (विस्तारित विशेषताएँ) के रूप में वर्णित किया जाए, ताकि यह कुछ ऐसा हो, जो अपने दायरे से बाहर होने के कारण फ़ाइल सिस्टम स्वयं इसकी परवाह नहीं करेगा।

सवाल वास्तव में काफी पुराना था और Mavericks जीएम को वास्तव में जल्द ही चालू करने जा रहा है .. इसलिए इस तथ्य के बावजूद कि बीटा डोमेन से संबंधित केवल informations हैं, यह काफी हद तक सही है जो मैंने ऊपर कहा था। इस विषय के बारे में इंटरनेट पर कई चर्चाएँ चल रही हैं और विशेष रूप से एक यहाँ है:

https://groups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ

सबसे दिलचस्प हिस्सा है:

Apple टैग उसी तरह से लागू किए जाते हैं जैसे कि OpenMeta टैग होते हैं - जैसे कि फाइलसिस्टम में फाइलों से जुड़ी विस्तारित विशेषताएँ। अंतर केवल इतना है कि गुण नाम kMDItemOMUserTags के बजाय _kMDItemUserTags है (बाद के टैग में "OM" "OpenMeta" के लिए है)। दोनों Mavericks टैग और OpenMeta टैग के लिए टैग डेटा संपत्ति की सूची है, लेकिन मैं पौधों के आंतरिक प्रारूप को नहीं देखता था, इसलिए मुझे नहीं पता कि वे बिल्कुल समान हैं या नहीं। मुझे यह भी पता नहीं है कि क्या है, यदि कोई हो, गैर-एचएफएस + डिस्क प्रारूपों के लिए सहायक भंडारण या वैकल्पिक तरीकों का उपयोग किया जाता है - मुझे पता है कि Apple के प्रचार ने कहा कि आप iCloud पर भी फ़ाइलों को टैग कर सकते हैं, इसलिए वहां कुछ समस्या हो सकती है।

हालांकि, इसका लंबा और छोटा होना, कम से कम स्थानीय मैक डिस्क पर, OpenMeta टैग डेटा को नए _kMDItemUserTags विशेषता पर माइग्रिक द्वारा मूल रूप से देखे जाने के लिए माइग्रेट करना होगा। कोई बड़ी बात नहीं है, लेकिन किसी को ऐसा करने के लिए एक उपयोगिता लिखने की आवश्यकता है।


1
अजीब, group.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ पोस्ट के लिए Google द्वारा दी गई लिंक है, लेकिन उस लिंक का पालन करना कभी-कभी आवश्यक पोस्ट का खुलासा करने में विफल होता है।
ग्राहम पेरिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.