/
fdd000625.xml
279 lines (279 loc) · 21.1 KB
/
fdd000625.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
<?xml version="1.0" encoding="UTF-8"?>
<fdd:FDD id="fdd000625" titleName="AppleDouble Resource Fork" shortName="Apple_Fork" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fdd="http://www.loc.gov/preservation/digital/formats/schemas/fdd/v1" xsi:schemaLocation="http://www.loc.gov/preservation/digital/formats/schemas/fdd/v1 http://www.loc.gov/preservation/digital/formats/schemas/fdd/v1/fdd-v1-2.xsd">
<fdd:properties>
<fdd:gdfrGenreSelection>
<fdd:gdfrGenre>any</fdd:gdfrGenre>
</fdd:gdfrGenreSelection>
<fdd:formatCategories>
<fdd:category>file-format</fdd:category>
</fdd:formatCategories>
<fdd:gdfrComposition>unitary</fdd:gdfrComposition>
<fdd:gdfrForm>binary</fdd:gdfrForm>
<fdd:gdfrConstraint>structured</fdd:gdfrConstraint>
<fdd:gdfrBasis>symbolic</fdd:gdfrBasis>
<fdd:updates>
<fdd:date>2024-04-15</fdd:date>
</fdd:updates>
<fdd:draftStatus>Preliminary</fdd:draftStatus>
</fdd:properties>
<fdd:identificationAndDescription>
<fdd:fullName>AppleDouble Resource Fork</fdd:fullName>
<fdd:keywords>
<fdd:keyword>system formats</fdd:keyword>
</fdd:keywords>
<fdd:description>
<p>AppleDouble Resource Fork files are system communication files created by Apple's macOS or OS X operating systems. These files hold Apple system metadata about their corresponding file. They are typically invisible to macOS users. These files may be colloquially <a href="https://www.dropboxforum.com/t5/Create-upload-and-share/I-have-an-issue-with-indexing-quot-quot-files-Any-ideas/td-p/269573">referred to</a> as Dot Underscore files due to the files always beginning with "._". According to Apple, they appear visible when files created on Apple-based operating systems and subsequently are saved or moved to non-macOS storage drives <a href="https://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578">such as</a> (link via Internet Archive) remote NFS, SMB, WebDAV directories, or local UFS volumes.</p>
<p>Apple Computer, Inc. introduced AppleDouble and sibling AppleSingle with the <a href="https://nulib.com/library/FTN.e000023.htm">intent of representing files</a> on non-Apple file systems while also preserving all attributes of the file's home system. These files exist in order to <a href="https://datatracker.ietf.org/doc/html/rfc1740">avoid complications</a> in storing different parts of a Macintosh file in a non-Macintosh file system that can only handle consecutive data in one part. Therefore it is common to convert the Macintosh file into some other format before transferring it over the network. These two methods are AppleSingle and AppleDouble.</p>
<p>As documented by the <a href="https://nulib.com/library/AppleSingle_AppleDouble.pdf">AppleSingle/AppleDouble Formats for Foreign Files Developer's Note</a>, the AppleSingle or AppleDouble format can be used:</p>
<ul>
<li>1. as a standard format for transferring files among differing, or heterogeneous, computers.</li>
<li>2. as a standard format for transferring files within a single computer.</li>
</ul>
<p>AppleSingle and AppleDouble formats use the same components to represent a file on a foreign system: data, resources, and attributes. The difference between the two formats is that the AppleSingle format stores these components in a single foreign file, and the AppleDouble format stores these components in two foreign files—one for the data, the other for the resources and attributes.</p>
<p>As outlined in the Developer's Notes, applications may use either AppleSingle or AppleDouble when they create files on foreign file systems, but applications must understand both formats.</p>
<p>AppleDouble Resource Fork files <a href="https://nulib.com/library/AppleSingle_AppleDouble.pdf">use two files</a> to store data, resources, and attributes: The Data fork and the Resource fork. The AppleDouble Data file contains the Data fork and the AppleDouble Header file contains the Resource fork.</p>
<p>The AppleDouble Data file contains the standard Macintosh data fork with no additional header. This is the meaningful part of a file when read on a non-Macintosh filesystem, as it holds unstructured file data. The data fork contains data specific to an application.</p>
<p>RFC1740 notes the AppleDouble Header file contains the Resource fork <a href="https://datatracker.ietf.org/doc/html/rfc1740">holds</a> a structured collection of attribute/value pairs, including program segments, icon bitmaps, and parametric values. The resource fork contains data used by an application, such as menus, fonts, and icons. An executable file's code is also stored in the resource fork.</p>
<p>The AppleDouble Header file is structured exactly the same as the AppleSingle format, defined in the same specification, with one exception: it does not contain a data fork entry.</p>
<p>
<a href="https://datatracker.ietf.org/doc/html/rfc1740">RFC 1740</a> considers AppleDouble to be the preferred format for a Macintosh file that is intended to be sent in an Internet mail message because it provides recipients with Macintosh computers the entire document, including Icons and other Macintosh specific information, while other users easily can extract the Data fork (the actual data) as it is separated from the AppleDouble encoding.</p>
<p>When moving files away from earlier macOS systems, there is <a href="https://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578">a possibility</a> (link via Internet Archive) that the resource fork can be lost, according to Apple. When dealing with non-forked file systems, AppleDouble converts the file into two separate files. The first new file keeps the original name and contains the data fork of the original file. The second new file has the name of the original file prefixed by a "._ " and contains the resource fork of the original file. The ._ file can safely be ignored. Deleting the ._ component will have no effect on the non-macOS hard drive, but some metadata may be lost if the file is moved back to macOS.</p>
<p>Locations for AppleDouble files take several forms. To summarize the <a href="http://fileformats.archiveteam.org/wiki/AppleDouble">ArchiveTeam wiki entry</a>, they can be in a subdirectory called ".AppleDouble" or "__MACOSX", or just alongside the files they are describing.</p>
<p>AppleDouble Header file entries can appear in any order. However, Apple recommends that the resource fork entry be placed last in the file because the resource fork is the entry in the Header that is most commonly extended.</p>
<p>AppleDouble Resource Fork filenames are created based on the operating system that is reading them, so it depends on the file system. This also means that these files will appear differently on different file systems. To summarize, ProDOS: Data files will be 13 alphanumeric characters and Header files will start with "R." For MS-DOS: Data files will be 8 alphanumeric characters and include a file extension "most appropriate for the file" and Header files will have the extension .ADF. (short for "AppleDouble File", as per the spec). For UNIX/NFS file systems, it follows the file system naming convention, either 8bit, 7-bit ASCII, or 7-bit alphanumeric. Names of the data files will be contingent on these details. Header files will match the Data file name but be prepended with a "%". More details can be found in the "Filenaming conventions" section of the <a href="https://nulib.com/library/AppleSingle_AppleDouble.pdf">Developer's Notes</a>.
</p>
<p>Apple's Developer Notes state that AppleSingle files can be updated to AppleDouble files by performing the following steps:</p>
<ul>
<li>1. Overwrite the version number and filler fields in the AppleSingle or AppleDouble file header.</li>
<li>2. Replace the File Info entry (ID=7) in the version 1 file with the File Dates Info entry (ID=8) and one of the following entry IDs: Macintosh File Info (ID=10), ProDOS File Info (ID=11), or MS-DOS File Info (ID=12).</li>
</ul>
</fdd:description>
<fdd:shortDescription>AppleDouble Resource Fork files are system communication files created by Apple's macOS or OS X operating systems. These files hold Apple system metadata about their corresponding file. They are typically invisible to macOS users.</fdd:shortDescription>
<fdd:productionPhase>Used by Mac operating systems as part of production.</fdd:productionPhase>
<fdd:relationships>
<fdd:relationship>
<fdd:typeOfRelationship>Affinity to</fdd:typeOfRelationship>
<fdd:comment>AppleSingle Format. Apple's standard format for encoding Macintosh files as one byte stream. AppleSingle format is described in the same specification as AppleDouble, for both versions 1 and 2. Usage for both is defined in <a href="https://datatracker.ietf.org/doc/html/rfc1740">IETF RFC 1740</a>. Not described on this site at this time.</fdd:comment>
</fdd:relationship>
</fdd:relationships>
</fdd:identificationAndDescription>
<fdd:localUse>
<fdd:experience>The Library of Congress has AppleSingle and AppleDouble resource forks in personal papers collections, especially in the Manuscript Division. See <a href="https://blogs.loc.gov/thesignal/2020/11/an-archivists-perspective-on-legacy-files/">An Archivist’s Perspective on Legacy Files</a> (Nov 2020) for more discussion.</fdd:experience>
<fdd:preference>
<p>The Library of Congress Recommended Formats Statement has not yet expressed any format preference for system files. </p> </fdd:preference>
</fdd:localUse>
<fdd:sustainabilityFactors>
<fdd:disclosure>Not officially disclosed. Proprietary format developed by Apple, Inc. Some documentation available.</fdd:disclosure>
<fdd:documentation>
<p>Apple provided a document entitled <a href="https://web.archive.org/web/20230402144145/https://nulib.com/library/AppleSingle_AppleDouble.pdf">AppleSingle/AppleDouble Formats for Foreign Files Developer's Note</a> for understanding and parsing AppleDouble Resource Fork files. This resource is cited directly in the <a href="https://datatracker.ietf.org/doc/html/rfc1740">IETF RFC 1740</a>. Apple also provided a <a href="https://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578">brief summary</a> (link via Internet Archive) of what the AppleDouble Resource Fork format entails. <a href="../contact_format.shtml">Comments welcome</a>.
</p>
</fdd:documentation>
<fdd:adoption>Used by all macOS systems in communication with other filesystems.</fdd:adoption>
<fdd:licensingAndPatents>
<p>The AppleDouble Resource Fork file format is not explicitly associated with any specific license or patent. It is a proprietary file format created by Apple Inc. However, there is no public documentation or specification provided by Apple regarding the AppleDouble Resource Fork file format.</p>
<p>As a proprietary format, the usage, distribution, and analysis of AppleDouble Resource Fork files are subject to Apple's terms of service and intellectual property rights.</p>
</fdd:licensingAndPatents>
<fdd:transparency>
<p>The Developer's Note has detailed documentation on how to build applications that can read and write AppleDouble Resource Fork files.</p>
<p>IETF RFC 1740 has an <a href="https://datatracker.ietf.org/doc/html/rfc1740#appendix-C">Appendix C</a> that includes a C (programming language) header file that is an example of parsing AppleDouble files. This C header file example in IETF RFC 1740 points out that some parts of the specification are ambiguous</p>
<p>The Perl module Mac::AppleSingleDouble can be used for reading files.</p>
</fdd:transparency>
<fdd:selfDocumentation>Little to none. <a href="../contact_format.shtml">Comments welcome</a>.
</fdd:selfDocumentation>
<fdd:externalDependencies>AppleDouble Resource Fork files exist in between the relationship of a macOS file system in communication with non-macOS file systems (DOS, UNIX, et al).</fdd:externalDependencies>
<fdd:techProtection>None. <a href="../contact_format.shtml">Comments welcome</a>.
</fdd:techProtection>
</fdd:sustainabilityFactors>
<fdd:fileTypeSignifiers>
<fdd:signifiersGroup>
<fdd:filenameExtension>
<fdd:sigValueNA>See note.</fdd:sigValueNA>
<fdd:note>None. AppleDouble Resource Fork files do not have a traditional file extension. According to <a href="https://www.nationalarchives.gov.uk/pronom/fmt/966">PRONOM</a>, the format lacks an extension, and is instead represented by a file name consisting of ._<filename resource fork belongs to>"</fdd:note>
</fdd:filenameExtension>
<fdd:internetMediaType>
<fdd:sigValues>
<fdd:sigValue>multipart/appledouble</fdd:sigValue>
<fdd:sigValue>application/applefile</fdd:sigValue>
</fdd:sigValues>
<fdd:note>
<p>Defined in <a href="https://datatracker.ietf.org/doc/html/rfc1740">IETF RFC 1740</a>. See also <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">IANA</a>. The RFC states</p>
<ul>
<li>The AppleDouble file should be sent as a "multipart/appledouble" MIME body.</li>
<li>The header should be sent as "application/applefile".</li>
<li>The data fork should be sent as whatever best describes it. For example, if the data is a GIF image, the data fork value should be sent as "image/gif". If no appropriate Content-Type has been registered for the data type, it should be sent as "application/octet-stream".</li>
</ul>
</fdd:note>
</fdd:internetMediaType>
<fdd:magicNumbers>
<fdd:sigValues>
<fdd:sigValue>0005160700010000</fdd:sigValue>
</fdd:sigValues>
<fdd:note>
<p>The <a href="https://nulib.com/library/AppleSingle_AppleDouble.pdf">specification</a> notes that the AppleDouble format's magic number string is 00051607. Following the magic number string is another string, 00010000, that represents the file version. Thus, the string 0005160700010000 represents <a href="https://www.nationalarchives.gov.uk/pronom/fmt/966">AppleDouble Resource Fork 1</a>.
</p>
</fdd:note>
</fdd:magicNumbers>
<fdd:magicNumbers>
<fdd:sigValues>
<fdd:sigValue>0005160700020000</fdd:sigValue>
</fdd:sigValues>
<fdd:note>
<p>The <a href="https://nulib.com/library/AppleSingle_AppleDouble.pdf">specification</a> notes that the AppleDouble format's magic number string is 00051607. Following the magic number string is another string, 00020000, that represents the file version. Thus, the string 0005160700020000 represents <a href="https://www.nationalarchives.gov.uk/pronom/fmt/503">AppleDouble Resource Fork 2</a>.
</p>
</fdd:note>
</fdd:magicNumbers>
<fdd:other>
<fdd:tag>Pronom PUID</fdd:tag>
<fdd:values>
<fdd:sigValues>
<fdd:sigValue>fmt/966</fdd:sigValue>
</fdd:sigValues>
<fdd:note>AppleDouble Resource Fork 1. See <a href="https://www.nationalarchives.gov.uk/pronom/fmt/966">https://www.nationalarchives.gov.uk/pronom/fmt/966</a>.
</fdd:note>
</fdd:values>
</fdd:other>
<fdd:other>
<fdd:tag>Pronom PUID</fdd:tag>
<fdd:values>
<fdd:sigValues>
<fdd:sigValue>fmt/503</fdd:sigValue>
</fdd:sigValues>
<fdd:note>AppleDouble Resource Fork 2. See <a href="https://www.nationalarchives.gov.uk/pronom/fmt/503">https://www.nationalarchives.gov.uk/pronom/fmt/503</a>.
</fdd:note>
</fdd:values>
</fdd:other>
<fdd:other>
<fdd:tag>Wikidata Title ID</fdd:tag>
<fdd:values>
<fdd:sigValues>
<fdd:sigValue>Q27578076</fdd:sigValue>
</fdd:sigValues>
<fdd:note>AppleDouble Resource Fork, version 1. See <a href="https://www.wikidata.org/wiki/Q27578076">https://www.wikidata.org/wiki/Q27578076</a>.
</fdd:note>
</fdd:values>
</fdd:other>
<fdd:other>
<fdd:tag>Wikidata Title ID</fdd:tag>
<fdd:values>
<fdd:sigValues>
<fdd:sigValue>Q27578083</fdd:sigValue>
</fdd:sigValues>
<fdd:note>AppleDouble Resource Fork, version 2. See <a href="https://www.wikidata.org/wiki/Q27578083">https://www.wikidata.org/wiki/Q27578083</a>.
</fdd:note>
</fdd:values>
</fdd:other>
</fdd:signifiersGroup>
</fdd:fileTypeSignifiers>
<fdd:notes>
<fdd:general/>
<fdd:history>
<p>The AppleSingle and AppleDouble formats were developed to store macOS files on file systems with non-macOS file structures. This was to prevent loss of a file's metadata or other attributes when moving files from macOS to other file systems and back to macOS systems. The specification was written in 1990. RFC 1740 was written/finalized in 1993, with some edits into 1994.</p>
</fdd:history>
</fdd:notes>
<fdd:formatSpecifications>
<fdd:urls>
<fdd:url>
<fdd:urlReference>
<link>https://nulib.com/library/AppleSingle_AppleDouble.pdf </link>
<tag>AppleSingle/AppleDouble Formats for Foreign Files Developer's Note, Apple Computer, Inc., 1990.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://datatracker.ietf.org/doc/html/rfc1740</link>
<tag>"RFC 1740: MIME Encapsulation of Macintosh files - MacMIME". Internet Engineering Task Force.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://nulib.com/library/FTN.e000023.htm</link>
<tag>"Apple II FTN - AppleDouble File". Apple Computer, Inc.</tag>
</fdd:urlReference>
</fdd:url>
</fdd:urls>
</fdd:formatSpecifications>
<fdd:usefulReferences>
<fdd:urls>
<fdd:url>
<fdd:urlReference>
<link>https://www.dropboxforum.com/t5/Create-upload-and-share/I-have-an-issue-with-indexing-quot-quot-files-Any-ideas/td-p/269573</link>
<tag>"I have an issue with indexing "._" files. Any ideas?". maldonfruit. Dropbox Forum. March 22, 2018.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>http://fileformats.archiveteam.org/wiki/AppleDouble</link>
<tag>"AppleDouble". ArchiveTeam.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://metacpan.org/module/Mac::AppleSingleDouble</link>
<tag>Mac::AppleSingleDouble</tag>
<comment>A Perl module for reading AppleSingle and AppleDouble files.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://en.wikipedia.org/wiki/AppleSingle_and_AppleDouble_formats</link>
<tag>AppleSingle and AppleDouble formats. Wikipedia.</tag>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://archive.org/details/bitsavers_applemacauoolboxMacintoshROMInterface1990_9531329/page/n129/mode/2up</link>
<tag>"A/UX Toolbox: Macintosh ROM Interface manual", Chapter 6 File Systems and File Formats, pages 6-16 to 6-19."</tag>
<comment>Accessed via Internet Archive.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://web.archive.org/web/20160304101440/http://kaiser-edv.de/documents/Applesingle_AppleDouble_v1.html</link>
<tag>"Applesingle and AppleDouble format internals"</tag>
<comment>Text taken from "A/UX Toolbox: Macintosh ROM Interface manual". Accessed via Internet Archive.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578 </link>
<tag>"Mac OS X: Apple Double Format Creates File Name With the Prefix '._'". Apple, Inc. February 17, 2012. </tag>
<comment>Accessed via Internet Archive.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>http://www.nationalarchives.gov.uk/pronom/fmt/966</link>
<tag>PRONOM entry for fmt/966</tag>
<comment>Information in PRONOM from UK National Archives about AppleDouble Resource Fork 1. PUID: fmt/966.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>http://www.nationalarchives.gov.uk/pronom/fmt/503</link>
<tag>PRONOM entry for fmt/503</tag>
<comment>Information in PRONOM from UK National Archives about AppleDouble Resource Fork 2. PUID: fmt/503.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.wikidata.org/wiki/Q27578076</link>
<tag>Wikidata entry for Q27578076</tag>
<comment>Information in Wikidata about AppleDouble Resource Fork, version 1. Wikidata Title ID: Q27578076.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.wikidata.org/wiki/Q27578083</link>
<tag>Wikidata entry for Q27578083</tag>
<comment>Information in Wikidata about AppleDouble Resource Fork, version 2. Wikidata Title ID: Q27578083.</comment>
</fdd:urlReference>
</fdd:url>
<fdd:url>
<fdd:urlReference>
<link>https://www.youtube.com/watch?v=3iytNgWTNAA</link>
<comment>"iPres 2022 - Short Paper 353: Macintosh Resource Forks - Choosing File Formats for Preservation." Tyler Thorsted. September 13, 2022.</comment>
</fdd:urlReference>
</fdd:url>
</fdd:urls>
</fdd:usefulReferences>
</fdd:FDD>