You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<title>Structured Commons :: SCEP0103 - Standard filesystem representation method </title>
6
+
<metacharset="utf-8" />
7
+
<linkhref="http://www.structured-commons.org/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Structured Commons Full Atom Feed" />
8
+
9
+
10
+
<!-- Mobile viewport optimized: j.mp/bplateviewport -->
<p>The Structured Commons object model is defined semantically in <spanclass="caps">SCEP</span>
69
+
101 [#<spanclass="caps">SCEP</span>-101], independently from its particular representation in a
70
+
computer system. Conversely, there may exist multiple valid
71
+
representations for an object.</p>
72
+
<p>This <spanclass="caps">SCEP</span> defines the canonical representation of Structured
73
+
Commons objects in a filesystem, with method name “<strong>fs</strong>“.</p>
74
+
<divclass="section" id="overview">
75
+
<h2>Overview</h2>
76
+
<p>The <ttclass="docutils literal">fs</tt> representation maps objects to a filesystem (eg. on disk).</p>
77
+
<p>Object files are represented by filesystem files.</p>
78
+
<p>Object dictionaries are represented by filesystem directories.</p>
79
+
<p>Names in dictionaries are translated using <spanclass="caps">UTF</span>-8 <aclass="footnote-reference" href="#utf" id="id1">[1]</a> to file/directory
80
+
names, with an optional percent-encoding <aclass="footnote-reference" href="#urlq" id="id2">[2]</a> to support characters
81
+
that are not acceptable in file names on a particular platform.</p>
82
+
<p>For example, the name “helló / world?” can be translated
83
+
“<ttclass="docutils literal">hell%C3%B3 %2F world?</tt>” on a Unix filesystem or
84
+
to “<ttclass="docutils literal">hell%C3%B3%20%2F%20world%3F</tt>” for a directory served
85
+
over <spanclass="caps">HTTP</span>.</p>
86
+
<p>Dictionary names that map to objects are represented by directory
87
+
entries that point to either files or directories.</p>
88
+
<p>Dictionary names that map to fingerprints are represented by a regular
89
+
file containing the binary representation of the fingerprint, with a
90
+
filesystem name that prepends “%00” to the dictionary name representation.</p>
91
+
<divclass="caution">
92
+
<pclass="first admonition-title">Caution!</p>
93
+
<pclass="last">The names “.” and “..” are valid dictionary names
94
+
in Structured Commons dictionaries, however they are (usually)
95
+
not valid filesystem entry names. In general,
96
+
names starting with a “.” should always be encoded to a
97
+
filesystem name starting with ”%2E”.</p>
<tr><tdclass="label"><aclass="fn-backref" href="#id1">[1]</a></td><td><spanclass="caps">RFC</span> 3629. “<spanclass="caps">UTF</span>-8, a transformation format of <spanclass="caps">ISO</span> 10646”.
0 commit comments