Henüz Mavericks kullanmadım.
Bulucu etiketleri dosyanın kendisinde depolar mı (ör: xmp) veya bir çeşit Veritabanı tarafından destekleniyor mu? ya da ne?
Henüz Mavericks kullanmadım.
Bulucu etiketleri dosyanın kendisinde depolar mı (ör: xmp) veya bir çeşit Veritabanı tarafından destekleniyor mu? ya da ne?
Yanıtlar:
Şimdi NDA kaldırıldığından emin: Mavericks bir şekilde etiketleri kaydeder uzatılmış öznitelik içinde, com.apple.metadata:_kMDItemUserTags
. Aşağıdaki gibi mdls komutunu kullanarak bunları kendiniz kontrol edebilirsiniz :
mdls -adı kMDItemUserTags Merhaba
John Siracusa'nın OS X 10.9'daki epik incelemesi , etiket mimarisini ayrıntılı olarak açıklamaktadır.
Etiketler, com.apple.metadata: _kMDItemUserTags adlı genişletilmiş bir öznitelikte depolanır. Değeri, tek bir dizgi dizisi içeren bir ikili özellik listesidir:
$ 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>
Renkler için etiketlerin değerleri Red\n6
(burada \n
satır besleme) vardır.
Etiketleri bir dosyadan diğerine kopyalamak için xattr kullanabilirsiniz:
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 içindeki kColor bayrağı ayarlanmamışsa, Finder dosyaların yanındaki renklerin dairelerini göstermez. KColor bayrağı turuncuya ayarlanmışsa ve dosyada kırmızı etiket varsa, Finder hem kırmızı hem de turuncu daireleri gösterir. AppleCoin ile kColor bayrağını ayarlayabilirsiniz:
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")'
bunun için eski stil plist sözdizimidir:
<?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
kColor bayrağı için kullanılan bitlerin değerini yazdırır. Kırmızı C, turuncu E, sarı A, yeşil 4, mavi 8, macenta 6 ve gri 2'dir. Değerlere 1 ekleyecek olan bayrak OS X'te kullanılmaz.
İnternette okuyabildiğim kadarıyla, çeşitli kaynaklardan, Mavericks'in etiket bilgilerini, dosyanın kendisinde OpenMeta stratejisine gerçekten yakın bir şey olarak depolaması muhtemeldir. Şimdiye kadar zaten etiketlerimiz vardı ve buna benzer Leap / Yep'e yardımcı olan birkaç uygulamamız vardı. Ancak standart bir alt katman olan OpenMeta'nın üzerinde birleştirilen en iyi uygulamalardan biriydi. Şimdi Mavericks, etiketleri (ve dosya sisteminde nasıl kodlanacakları) resmi hale getirmek için bir adım daha atmak istiyor. Artı etiketlerin sabit bir renk kümesi olacaktır (7?) Ve bu ek olarak ekstra semantik taşımak için etiketlerin kümelere bölünmesine yardımcı olabilir. Birçoğumuz, bunun gelecekteki seçimleri yönlendirmek için büyük bir endüstri liderinin dosya sistemi vizyonunda ileriye doğru büyük bir adım olabileceğini düşünüyoruz (uygulamalar buna daha fazla güvenecek ve belki de mac os'un kendisi bazı özel sistem çapında ek açıklamalar bekleyebilir). Ayrıntılar için OpenMeta, meta verilerin dosyaların xattr (genişletilmiş öznitelikleri) olarak tanımlanmasını ister, böylece dosya sisteminin kapsamı dışında ilgilenmeyeceği bir şeydir.
Soru aslında oldukça eskiydi ve Mavericks çok yakında GM'ye dönecek .. Bu yüzden sadece Beta etki alanı ile ilgili bilgiler olmasına rağmen yukarıda söylediğim her şey makul. İnternette bu konu hakkında birkaç tartışma var ve özellikle burada:
https://groups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ
En ilginç kısım:
Apple etiketleri, OpenMeta etiketlerinin dosya sistemindeki dosyalara eklenmiş genişletilmiş özniteliklerle aynı şekilde uygulanır. Tek fark, öznitelik adının kMDItemOMUserTags yerine _kMDItemUserTags olmasıdır (ikinci etiketteki "OM" "OpenMeta" içindir). Hem Mavericks etiketleri hem de OpenMeta etiketleri için etiket verileri özellik listeleridir, ancak plistlerin dahili formatına bakmadım, bu yüzden tam olarak aynı olup olmadıklarını bilmiyorum. Ayrıca, HFS + disk formatları için yardımcı depolama veya alternatif yöntemlerin ne varsa kullanıldığını da bilmiyorum - Apple'ın hype'ın iCloud'daki dosyaları da etiketleyebileceğinizi söylediğini, bu yüzden orada bir sorun olabileceğini biliyorum.
Bununla birlikte, uzun ve kısa, en azından yerel Mac disklerinde, Maverick tarafından yerel olarak görülmesi için OpenMeta etiket verilerinin yeni _kMDItemUserTags özniteliğine taşınması gerekecek olmasıdır. Büyük bir anlaşma değil, ama birinin bunu yapmak için bir yardımcı program yazması gerekiyor.