Mavericks'in Finder etiketlerini nasıl saklar?


13

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?


OS X Maverick hakkında bir soru sormadan önce denemek isteyebilirsiniz.
Ramhound

Mavericks dosya sistemi içinde etiketleme yaklaşımının Finder ile sınırlı olmadığını unutmayın.
Graham Perrin

Yanıtlar:


12

Mavericks etiketleri genişletilmiş özellik olarak kaydeder

Ş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.


3
Genişletilmiş öznitelikler nasıl saklanır?
Oculus

1

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 \nsatı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-29kColor 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.


1
Örneğin, kırmızı renkli "Finansal" adlı bir etiket oluşturursam, genişletilmiş özellik listesi "Finansal" veya "Kırmızı" yı depolar mı? Peki ad ve renk arasındaki eşleme nasıl yapılır?
Vaddadi Kartick

"Değerlere 1 ekleyecek olan bayrak OS X'te kullanılmaz." Ne anlama geliyor?
Nicolas Barbulesco

Bu cevap ayrıntılı. Ancak renkler ve etiketler arasındaki fark net değil.
Nicolas Barbulesco

Ve bu genişletilmiş özellik nerede saklanıyor?
Nicolas Barbulesco

1

İ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.


1
Tuhaf, groups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ yazı için Google tarafından verilen bağlantıdır, ancak bu bağlantıyı izlemek bazen gerekli yayını açıklayamaz.
Graham Perrin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.