Changes for page ProjectsSheet

Last modified by Zenna Elfen on 2025/11/24 11:39

From version 7.1
edited by Zenna Elfen
on 2025/11/24 11:06
Change comment: Update class sheet
To version 2.1
edited by Zenna Elfen
on 2025/11/20 21:31
Change comment: Update class sheet

Summary

Details

Page properties
Content
... ... @@ -23,30 +23,18 @@
23 23   <dl>
24 24   <dt #if (!$editing && $hasEdit)
25 25   class="editableProperty"
26 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('title2')))"
26 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('shortText1')))"
27 27   data-property-type="object"#end>
28 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_title2"#end>
29 - $escapetool.xml($doc.displayPrettyName('title2', false, false))
28 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_shortText1"#end>
29 + $escapetool.xml($doc.displayPrettyName('shortText1', false, false))
30 30   </label>
31 31   <span class="xHint">
32 32   $escapetool.xml($services.localization.render('What''s the name of the project?'))
33 33   </span>
34 34   </dt>
35 - <dd>$doc.display('title2')</dd>
35 + <dd>$doc.display('shortText1')</dd>
36 36   <dt #if (!$editing && $hasEdit)
37 37   class="editableProperty"
38 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('shortText3')))"
39 - data-property-type="object"#end>
40 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_shortText3"#end>
41 - $escapetool.xml($doc.displayPrettyName('shortText3', false, false))
42 - </label>
43 - <span class="xHint">
44 - $escapetool.xml($services.localization.render('What are key aspects of this project?'))
45 - </span>
46 - </dt>
47 - <dd>$doc.display('shortText3')</dd>
48 - <dt #if (!$editing && $hasEdit)
49 - class="editableProperty"
50 50   data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('shortText2')))"
51 51   data-property-type="object"#end>
52 52   <label#if ($editing) for="Projects.Code.ProjectsClass_0_shortText2"#end>
... ... @@ -95,304 +95,16 @@
95 95   <dd>$doc.display('conf_res')</dd>
96 96   <dt #if (!$editing && $hasEdit)
97 97   class="editableProperty"
98 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_res')))"
86 + data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('content1')))"
99 99   data-property-type="object"#end>
100 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_res"#end>
101 - $escapetool.xml($doc.displayPrettyName('long_res', false, false))
88 + <label#if ($editing) for="Projects.Code.ProjectsClass_0_content1"#end>
89 + $escapetool.xml($doc.displayPrettyName('content1', false, false))
102 102   </label>
103 103   <span class="xHint">
104 104   $escapetool.xml($services.localization.render('How is data persisted locally and replicated between peers?'))
105 105   </span>
106 106   </dt>
107 - <dd>$doc.display('long_res')</dd>
108 - <dt #if (!$editing && $hasEdit)
109 - class="editableProperty"
110 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_rep')))"
111 - data-property-type="object"#end>
112 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_rep"#end>
113 - $escapetool.xml($doc.displayPrettyName('list_rep', false, false))
114 - </label>
115 - <span class="xHint">
116 - $escapetool.xml($services.localization.render('This layer focuses on durability, consistency, and redundancy. It handles write-paths, crash-resilience, and replication semantics across nodes. It is the “database/storage engine” layer where data lives and survives over time, independent of sync or merging logic. Examples: SQLite, IndexedDB, LMDB, Hypercore (append-only logs), WALs, Merkle-DAGs (IPFS/IPLD), Blob/media storage'))
117 - </span>
118 - </dt>
119 - <dd>$doc.display('list_rep')</dd>
120 - <dt #if (!$editing && $hasEdit)
121 - class="editableProperty"
122 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_rep')))"
123 - data-property-type="object"#end>
124 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_rep"#end>
125 - $escapetool.xml($doc.displayPrettyName('long_rep', false, false))
126 - </label>
127 - <span class="xHint">
128 - $escapetool.xml($services.localization.render('How is data persisted locally and replicated between peers?'))
129 - </span>
130 - </dt>
131 - <dd>$doc.display('long_rep')</dd>
132 - <dt #if (!$editing && $hasEdit)
133 - class="editableProperty"
134 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_peer')))"
135 - data-property-type="object"#end>
136 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_peer"#end>
137 - $escapetool.xml($doc.displayPrettyName('list_peer', false, false))
138 - </label>
139 - <span class="xHint">
140 - $escapetool.xml($services.localization.render('Discovery occurs in two phases: 1. Peer Discovery → finding any nodes 2. Topic Discovery → finding relevant nodes or resources These mechanisms enable decentralized bootstrapping and interest-based overlays. **Examples**: DHTs (Kademlia, Pastry), mDNS, DNS-SD, Bluetooth scanning, QR bootstrapping, static peer lists, Interest-based routing, PubSub discovery (libp2p), Rendezvous protocols'))
141 - </span>
142 - </dt>
143 - <dd>$doc.display('list_peer')</dd>
144 - <dt #if (!$editing && $hasEdit)
145 - class="editableProperty"
146 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_peer')))"
147 - data-property-type="object"#end>
148 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_peer"#end>
149 - $escapetool.xml($doc.displayPrettyName('long_peer', false, false))
150 - </label>
151 - <span class="xHint">
152 - $escapetool.xml($services.localization.render('How do peers find each other, and how do they discover content in the network?'))
153 - </span>
154 - </dt>
155 - <dd>$doc.display('long_peer')</dd>
156 - <dt #if (!$editing && $hasEdit)
157 - class="editableProperty"
158 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_ident')))"
159 - data-property-type="object"#end>
160 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_ident"#end>
161 - $escapetool.xml($doc.displayPrettyName('list_ident', false, false))
162 - </label>
163 - <span class="xHint">
164 - $escapetool.xml($services.localization.render('Identity systems ensure reliable mapping between peers and cryptographic keys. They underpin authorization, federated trust, and secure overlays. Examples: PKI, Distributed Identities (DIDs), Web-of-Trust, TOFU (SSH-style), Verifiable Credentials (VCs), Peer key fingerprints (libp2p PeerIDs), Key transparency logs'))
165 - </span>
166 - </dt>
167 - <dd>$doc.display('list_ident')</dd>
168 - <dt #if (!$editing && $hasEdit)
169 - class="editableProperty"
170 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_ident')))"
171 - data-property-type="object"#end>
172 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_ident"#end>
173 - $escapetool.xml($doc.displayPrettyName('long_ident', false, false))
174 - </label>
175 - <span class="xHint">
176 - $escapetool.xml($services.localization.render('How peers identify themselves, authenticate, and establish trustworthy relationships?'))
177 - </span>
178 - </dt>
179 - <dd>$doc.display('long_ident')</dd>
180 - <dt #if (!$editing && $hasEdit)
181 - class="editableProperty"
182 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_transport')))"
183 - data-property-type="object"#end>
184 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_transport"#end>
185 - $escapetool.xml($doc.displayPrettyName('list_transport', false, false))
186 - </label>
187 - <span class="xHint">
188 - $escapetool.xml($services.localization.render('This layer provides logical connections and flow control. QUIC and WebRTC bring modern congestion control and encryption defaults; Interpeer explores transport beyond IP assumptions. **Examples**: TCP, UDP, QUIC, SCTP, WebRTC DataChannels, Interpeer transport stack. Examples: TCP, UDP, QUIC, SCTP, WebRTC DataChannels, Interpeer transport stack'))
189 - </span>
190 - </dt>
191 - <dd>$doc.display('list_transport')</dd>
192 - <dt #if (!$editing && $hasEdit)
193 - class="editableProperty"
194 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_transport')))"
195 - data-property-type="object"#end>
196 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_transport"#end>
197 - $escapetool.xml($doc.displayPrettyName('long_transport', false, false))
198 - </label>
199 - <span class="xHint">
200 - $escapetool.xml($services.localization.render('How do peers establish end-to-end byte streams and reliable delivery?'))
201 - </span>
202 - </dt>
203 - <dd>$doc.display('long_transport')</dd>
204 - <dt #if (!$editing && $hasEdit)
205 - class="editableProperty"
206 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_phys')))"
207 - data-property-type="object"#end>
208 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_phys"#end>
209 - $escapetool.xml($doc.displayPrettyName('list_phys', false, false))
210 - </label>
211 - <span class="xHint">
212 - $escapetool.xml($services.localization.render('Highly relevant for offline-first / edge networks, device-to-device communication, and mesh networks and relates to the hardware which facilitates connections. Examples: Ethernet, Wi-Fi Direct / Wi-Fi Aware (post-AWDL), Bluetooth Mesh, LoRa, NFC, Cellular, CSMA/CA, TDMA, FHSS'))
213 - </span>
214 - </dt>
215 - <dd>$doc.display('list_phys')</dd>
216 - <dt #if (!$editing && $hasEdit)
217 - class="editableProperty"
218 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_phys')))"
219 - data-property-type="object"#end>
220 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_phys"#end>
221 - $escapetool.xml($doc.displayPrettyName('long_phys', false, false))
222 - </label>
223 - <span class="xHint">
224 - $escapetool.xml($services.localization.render('How does data move across the medium?'))
225 - </span>
226 - </dt>
227 - <dd>$doc.display('long_phys')</dd>
228 - <dt #if (!$editing && $hasEdit)
229 - class="editableProperty"
230 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_cont')))"
231 - data-property-type="object"#end>
232 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_cont"#end>
233 - $escapetool.xml($doc.displayPrettyName('list_cont', false, false))
234 - </label>
235 - <span class="xHint">
236 - $escapetool.xml($services.localization.render('Content addressing ensures immutability, verifiability, and deduplication. Identity of data = cryptographic hash, enabling offline-first and tamper-evident systems. **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)'))
237 - </span>
238 - </dt>
239 - <dd>$doc.display('list_cont')</dd>
240 - <dt #if (!$editing && $hasEdit)
241 - class="editableProperty"
242 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_cont')))"
243 - data-property-type="object"#end>
244 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_cont"#end>
245 - $escapetool.xml($doc.displayPrettyName('long_cont', false, false))
246 - </label>
247 - <span class="xHint">
248 - $escapetool.xml($services.localization.render('How is data addressed and verified by content, not location?'))
249 - </span>
250 - </dt>
251 - <dd>$doc.display('long_cont')</dd>
252 - <dt #if (!$editing && $hasEdit)
253 - class="editableProperty"
254 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_p2p')))"
255 - data-property-type="object"#end>
256 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_p2p"#end>
257 - $escapetool.xml($doc.displayPrettyName('list_p2p', false, false))
258 - </label>
259 - <span class="xHint">
260 - $escapetool.xml($services.localization.render('Connectivity ensures peers bypass NATs/firewalls to reach each other. **Examples**: IPv6 direct, NAT Traversal, STUN, TURN, ICE (used in WebRTC), UDP hole punching, UPnP'))
261 - </span>
262 - </dt>
263 - <dd>$doc.display('list_p2p')</dd>
264 - <dt #if (!$editing && $hasEdit)
265 - class="editableProperty"
266 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('longText13')))"
267 - data-property-type="object"#end>
268 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_longText13"#end>
269 - $escapetool.xml($doc.displayPrettyName('longText13', false, false))
270 - </label>
271 - <span class="xHint">
272 - $escapetool.xml($services.localization.render('What relevance does this topic have for the project?'))
273 - </span>
274 - </dt>
275 - <dd>$doc.display('longText13')</dd>
276 - <dt #if (!$editing && $hasEdit)
277 - class="editableProperty"
278 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_sess')))"
279 - data-property-type="object"#end>
280 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_sess"#end>
281 - $escapetool.xml($doc.displayPrettyName('list_sess', false, false))
282 - </label>
283 - <span class="xHint">
284 - $escapetool.xml($services.localization.render('Manages connection lifecycle, including authentication handshakes, reconnection after drops, and session continuation. **Examples**: TLS handshake semantics, Noise IK/XX patterns, session tokens, keep-alive heartbeats, reconnection strategies, session resumption tickets'))
285 - </span>
286 - </dt>
287 - <dd>$doc.display('list_sess')</dd>
288 - <dt #if (!$editing && $hasEdit)
289 - class="editableProperty"
290 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_sess')))"
291 - data-property-type="object"#end>
292 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_sess"#end>
293 - $escapetool.xml($doc.displayPrettyName('long_sess', false, false))
294 - </label>
295 - <span class="xHint">
296 - $escapetool.xml($services.localization.render('How are connections initiated, authenticated, resumed, and kept alive?'))
297 - </span>
298 - </dt>
299 - <dd>$doc.display('long_sess')</dd>
300 - <dt #if (!$editing && $hasEdit)
301 - class="editableProperty"
302 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_mess')))"
303 - data-property-type="object"#end>
304 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_mess"#end>
305 - $escapetool.xml($doc.displayPrettyName('list_mess', false, false))
306 - </label>
307 - <span class="xHint">
308 - $escapetool.xml($services.localization.render(' Serialization ensures portable data representation, forward-compatible schemas, and efficient messaging. **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)'))
309 - </span>
310 - </dt>
311 - <dd>$doc.display('list_mess')</dd>
312 - <dt #if (!$editing && $hasEdit)
313 - class="editableProperty"
314 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_mess')))"
315 - data-property-type="object"#end>
316 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_mess"#end>
317 - $escapetool.xml($doc.displayPrettyName('long_mess', false, false))
318 - </label>
319 - <span class="xHint">
320 - $escapetool.xml($services.localization.render('How is data encoded, structured, and/or made interoperable between peers?'))
321 - </span>
322 - </dt>
323 - <dd>$doc.display('long_mess')</dd>
324 - <dt #if (!$editing && $hasEdit)
325 - class="editableProperty"
326 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_blob')))"
327 - data-property-type="object"#end>
328 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_blob"#end>
329 - $escapetool.xml($doc.displayPrettyName('list_blob', false, false))
330 - </label>
331 - <span class="xHint">
332 - $escapetool.xml($services.localization.render(' Bulk data syncing has different trade-offs than small collaborative state (chunking, deduplication, partial transfer, resume logic). Essential for media and archival P2P use-cases. **Examples**: BitTorrent chunking, IPFS block-store, NDN segments, rsySerialization ensures portable data representation, forward-compatible schemas, and efficient messaging. **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)nc-style delta sync, ZFS send-receive, streaming blob transfers'))
333 - </span>
334 - </dt>
335 - <dd>$doc.display('list_blob')</dd>
336 - <dt #if (!$editing && $hasEdit)
337 - class="editableProperty"
338 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_blob')))"
339 - data-property-type="object"#end>
340 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_blob"#end>
341 - $escapetool.xml($doc.displayPrettyName('long_blob', false, false))
342 - </label>
343 - <span class="xHint">
344 - $escapetool.xml($services.localization.render('How are large objects transferred and deduplicated efficiently across peers?'))
345 - </span>
346 - </dt>
347 - <dd>$doc.display('long_blob')</dd>
348 - <dt #if (!$editing && $hasEdit)
349 - class="editableProperty"
350 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_localsto')))"
351 - data-property-type="object"#end>
352 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_localsto"#end>
353 - $escapetool.xml($doc.displayPrettyName('list_localsto', false, false))
354 - </label>
355 - <span class="xHint">
356 - $escapetool.xml($services.localization.render('Provides durable on-device state and local computation (event sourcing, materialization, compaction). Enables offline-first writes and deterministic replay. **Examples**: RocksDB, LevelDB, SQLite, LMDB, local WALs/append-only logs, embedded stream processors (NATS Core JetStream mode, Actyx-like edge runtimes), Kafka-like libraries'))
357 - </span>
358 - </dt>
359 - <dd>$doc.display('list_localsto')</dd>
360 - <dt #if (!$editing && $hasEdit)
361 - class="editableProperty"
362 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_localsto')))"
363 - data-property-type="object"#end>
364 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_localsto"#end>
365 - $escapetool.xml($doc.displayPrettyName('long_localsto', false, false))
366 - </label>
367 - <span class="xHint">
368 - $escapetool.xml($services.localization.render('How do nodes persist, index, and process data locally—without external servers?'))
369 - </span>
370 - </dt>
371 - <dd>$doc.display('long_localsto')</dd>
372 - <dt #if (!$editing && $hasEdit)
373 - class="editableProperty"
374 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('list_crash')))"
375 - data-property-type="object"#end>
376 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_list_crash"#end>
377 - $escapetool.xml($doc.displayPrettyName('list_crash', false, false))
378 - </label>
379 - <span class="xHint">
380 - $escapetool.xml($services.localization.render('Ensures P2P apps don’t corrupt state on crashes. Tied to local storage & stream-processing, and critical in offline-first and distributed update pipelines. Abortability is the updated term, as per Mr. Kleppmann for Atomicity as part of the [ACID abbreviation](https://www.youtube.com/watch?v=5ZjhNTM8XU8). **Examples**: IPFS CIDs, BitTorrent infohashes, Git hashes, SHA-256 addressing, Named Data Networking (NDN)'))
381 - </span>
382 - </dt>
383 - <dd>$doc.display('list_crash')</dd>
384 - <dt #if (!$editing && $hasEdit)
385 - class="editableProperty"
386 - data-property="$escapetool.xml($services.model.serialize($object.getPropertyReference('long_crashres')))"
387 - data-property-type="object"#end>
388 - <label#if ($editing) for="Projects.Code.ProjectsClass_0_long_crashres"#end>
389 - $escapetool.xml($doc.displayPrettyName('long_crashres', false, false))
390 - </label>
391 - <span class="xHint">
392 - $escapetool.xml($services.localization.render('How do nodes recover and maintain correctness under failure?'))
393 - </span>
394 - </dt>
395 - <dd>$doc.display('long_crashres')</dd>
95 + <dd>$doc.display('content1')</dd>
396 396   </dl>
397 397  </div>
398 398  {{/html}}