Notepad
NB: this currently mainly describes how Solid OS stores data on a Solid Pod.
To create a new notepad at /notepad.ttl
, add the following triples into it:
</notepad.ttl#this> a pim:Notepad .
</notepad.ttl#this> dc:author </profile/card#me> .
</notepad.ttl#this> dc:created "2019-04-17T08:05:19Z"^^XML:dateTime .
</notepad.ttl#this> dc:title "Shared Notes" .
Now to indicate that his notepad is empty, add an empty first line to it:
</notepad.ttl#this> pim:next </notepad.ttl#this_line0> .
</notepad.ttl#line0> dc:author </profile/card#me> .
</notepad.ttl#line0> dc:content "" .
Now indicate that this is the last line, set this line’s pim:next
to the notepad itself:
</notepad.ttl#line0> pim:next </notepad.ttl#this> .
To add a line to the notepad, for instance ‘Alfa’, first update the content of the first line, by replacing
</notepad.ttl#line0> dc:content "" .
with
</notepad.ttl#line0> dc:content "Alfa" .
and then add a new participation line below it, where the user can type their next line; pick a timestamp, for instance 1555488949899
, and add the following triples:
</notepad.ttl#this> flow:participation </notepad.ttl#id1555488949899> .
</notepad.ttl#id1555488949899> flow:participant </profile/card#me> .
</notepad.ttl#id1555488949899> ical:dtstart "2019-04-17T08:05:22Z"^^XML:dateTime .
</notepad.ttl#id1555488949899> ui:backgroundColor "#c0d2fe" .
Note that the first line still is the only line in the document, apart from the participation line. To add a second line, start making proper use of the pim:next
attribute, by linking the first line to the second line, and then linking the second line back up to the notepad as a whole. The participation line stays as it is. The result will then look like this:
Main notepad
</notepad.ttl#this> a pim:Notepad .
</notepad.ttl#this> dc:author </profile/card#me> .
</notepad.ttl#this> dc:created "2019-04-17T08:05:19Z"^^XML:dateTime .
</notepad.ttl#this> dc:title "Shared Notes" .
</notepad.ttl#this> pim:next </notepad.ttl#this_line0> .
</notepad.ttl#this> flow:participation :id1555488949899 .
Participation
</notepad.ttl#id1555488949899> flow:participant </profile/card#me> .
</notepad.ttl#id1555488949899> ical:dtstart "2019-04-17T08:05:22Z"^^XML:dateTime .
</notepad.ttl#id1555488949899> ui:backgroundColor "#c0d2fe" .
First line
</notepad.ttl#line0> dc:author </profile/card#me> .
</notepad.ttl#line0> dc:content "Alfa" .
</notepad.ttl#line0> pim:next :id1555489499814 .
Second line
</notepad.ttl#id1555489499814> dc:author </profile/card#me> .
</notepad.ttl#id1555489499814> dc:content "Bravo" .
</notepad.ttl#id1555489499814> pim:next </notepad.ttl#this> .
Litewrite
Uses litewrite/remotestorage-module-documents writing to /documents/notes/
:
{
"title": "alfa",
"content": "alfa\n\nbravo",
"lastEdited": 1701435915451,
"public": null,
"cursorPos": 11,
"id": "2d8ce0cb-b640-461b-844c-c8663cc42537",
"@context": "http://remotestorage.io/spec/modules/documents/text"
}
Notes Together
Uses custom module (compatible with Litewrite) writing to /documents/notes/
:
{
"title": "• echo",
"content": "<ol><li><input type=\"checkbox\" />echo</li></ol><p></p>",
"lastEdited": 1701436763996,
"date": "2023-12-01T13:19:16.734Z",
"isLocked": false,
"mimeType": "text/html;hint=SEMANTIC",
"id": "2ff847fc-a687-467d-badc-1bf97f0969f8",
"@context": "http://remotestorage.io/spec/modules/documents/note"
}
[!NOTE]
When editing data saved from Litewrite in the previous section, some of the non-content fields have been lost or changed.
{
"title": "delta\nbravo",
"content": "delta\n\nbravo",
"lastEdited": 1701436457428,
"date": "2023-12-01T13:14:05.792Z",
"isLocked": false,
"id": "2d8ce0cb-b640-461b-844c-c8663cc42537",
"@context": "http://remotestorage.io/spec/modules/documents/note"
}
Encryptic
Uses custom module writing to /encryptic/$USERNAME/notes/
:
{
"encryptedData": "-----BEGIN PGP MESSAGE-----\r\nVersion: OpenPGP.js v4.4.7\r\nComment: https://openpgpjs.org\r\n\r\nwcBMA2zxuA9e0BM+AQf+NTE02XpYWuU8TOpTRn+wg5Qn7eHfoA/Pl6TqAiSf\r\n//glR84H5wiQv/JJuG2PXZ8wsy1M2S3Fnaqh8G74/iUdi73uOxb5kS38Qk5g\r\nzjzSKZHSWO28Sxj+Aqb7uPpCLMwv7HAu57zPsxhjnYoHUolqGAIduNWYP4eC\r\nycnV1MRXlZWzhsPlHOsHKw5AnUg7Dbvz4yrmbPteSxJWqWiFIXKTK8btjQmx\r\nhlDz3e9AZpOTZTEKkueJ5p+ykKkgal1PwIxBo4MxqJr4cIzTYAgSOAyX6kdS\r\nkTFLcq2G3jzO0sdgeyJPL5q7TMQ88JsGKQ9qeDJo9HY15R5mpYWZ4LBSzlpK\r\nYNLA0gGzFpfQ8sZ0m42hHARQADGyzl8k6wr/ZO6+Yfscwwrt44tP5HleM4kM\r\n+5+aLY5KX462Oa0iGG01PJCW3iilgInqQf8/wbbIwx99fWzZRJhpGEE1CTJH\r\naq7BTTBtwUAPhcJWb7seHD752CdS5m0IKl/aAMTHScN3SljBGnvczJhs3WUV\r\n60uRE/xxQz4uPdDNChP2DlCvD1Ith0fSTqtMmM/x1DiAoO3Fj6ehoqXxvLv6\r\nGYLdhDEBwl7YH2GhuK9OtIOmgSqdeQkI/b/Fvx4Oj+8nRyK5Zys5f5s3P3FB\r\n69wY8Z9sMUuCJa5jNqXr6Gazq8H8z3Rm2dPIxRZxJ+kzTr3Z+1uQQhGy7FNg\r\nf9EP33hNCQ4Tfo4VCq8og8bie7hsz730prIX01lrb/poK8JztyiHtYMb2jmh\r\nQiZb+4brIkQf2tSeR246iICKZwuoTE/9rx93vWbFoyGpThnPFTcKGE8hvKUE\r\nBX96elhY0tzg3bXUsuOHAZbDdIqE6Bb19L3wLs5qtUQqJGS6XxPEaDXONC9K\r\nSQ==\r\n=dyiO\r\n-----END PGP MESSAGE-----\r\n",
"updated": 1701437563118,
"created": 1701437532877,
"taskAll": 0,
"taskCompleted": 0,
"notebookId": "0",
"isFavorite": 0,
"trash": 0,
"files": [],
"sharedWith": [],
"sharedBy": "alfa",
"type": "notes",
"id": "094304e0-904e-11ee-9444-89ac1ca7ec37",
"@context": "http://remotestorage.io/spec/modules/encryptic/notes"
}
Also writes to /encryptic/$USERNAME/tags/
:
{
"encryptedData": "-----BEGIN PGP MESSAGE-----\r\nVersion: OpenPGP.js v4.4.7\r\nComment: https://openpgpjs.org\r\n\r\nwcBMA2zxuA9e0BM+AQf/Tu4Jox+vQxV2fAygzIdRQZXEvUNuBLvAY/jwhKld\r\nqua9P9kPkVm5a+OqNjFal46Ccgfw5aNbt3w4n8yPP5aPoBBHxPQd88Du9fxe\r\nTn/GkP8kG1SxtN9+rNAT1J/Gp9Mc+PtU5Ku7JB7FYRucWtvBh1pmUIvHRT3M\r\nhrFJQN3td3VYWEI1kjJ9pui2vAd03APEtWlp39X4PSQ038IWmnhnydX6ckLQ\r\nfYxY+JTQ9c+u4ukvIellTAaUH19GKSChevNydtfXd/3KJsf9cb1I8OEvoxPf\r\naSeU8gvRWjZIQvzgatgdMYEpVe87UDx671P/ZC1dAvuiv1nCiz6bayw158lj\r\ny9LAuAHp7b+3mIIe65YhUKhHdrHIHixda9/ZfwQwQGGWqWMtQ+9w4vOIvNiA\r\nS560M692Qc7bHdoifq/dUqDAjx6tHrh0Mz8LAj/obyRdBvqXMtGv6uxkbBkA\r\ns+zIPxTgi5Ak8iBTfZhUVlGAxNVDjiuYWyGPNNIeK7cVfiBVHTdaiH6+EBXc\r\n5t1jdwRZCtI2maa5MQTC8pQ0OFCclQkfFdvbDhywKLiWoDAdf+y1a0C5MdLA\r\naxTzoasQwPUvf4OvejtLnjVp2oxZFh4YF3TaZ+fjT+O8846c3kAcumVqDguN\r\nL5qJg5cD2OIykpTuYOie/3JB3FQQaJylDYYjPoiZkP5dlMj9mt1cxxhYG0aM\r\nLg6ciGzcht8JhTjqS7DqBe0vkX24jlRQdtGc8opgN3ksOpFIt+e9EBkanzdO\r\nx2hCQttpybznsPDpxDW3LT7zRzs7WN6Ch+H55skD7TjEIsn+zrYKfNV6ObUM\r\n594Bs6ADCfAdb2QKe1fgSViugFM=\r\n=AtF2\r\n-----END PGP MESSAGE-----\r\n",
"updated": 1701438016360,
"created": 1701438016360,
"count": 0,
"trash": 0,
"type": "tags",
"id": "-1791806854596657849-774024691093389715-160062204918003686491529221860-287399026",
"@context": "http://remotestorage.io/spec/modules/encryptic/tags"
}
Laverna
Uses custom module writing to /laverna/notes-db/notes/
:
{
"title": "alfa",
"content": "bravo",
"updated": 1701438445120,
"created": 1701438444239,
"taskAll": 0,
"taskCompleted": 0,
"notebookId": "0",
"tags": [],
"isFavorite": 0,
"trash": 0,
"files": [],
"type": "notes",
"id": "6029d6ad-4b94-0bc4-682e-951c42f3acba",
"@context": "http://remotestorage.io/spec/modules/laverna/notes"
}
Snowfall
Uses custom module writing to /snowfall/notes.yaml
:
notes:
- text: alfa
children:
- text: bravo
- text: delta
Hyperdraft
Uses custom module writing to /wikiavec/kvc_notes/$DAY/$ID/main
:
{
"KVCNoteBody": "alfa\n\nbravo",
"KVCNoteModificationDate": "2023-12-01T14:06:08.182Z",
"KVCNoteCreationDate": "2023-12-01T14:06:05.802Z",
"KVCNoteID": "01HGJV6VZAPPAZ7VBMJ7FCGY3P"
}
Notepod
[!NOTE]
Requests root access.
Uses custom mobule writing to /$ID.ttl
:
@prefix : </1e16eda0-9995-11ee-8100-2bec63e97603.ttl#>.
@prefix schema: <http://schema.org/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
:17024576300408220454257988783
a schema:TextDigitalDocument;
schema:dateCreated "2023-12-13T08:53:50Z"^^xsd:dateTime;
schema:text "alfa\nbravo".
and to /settings/publicTypeIndex.ttl
:
@prefix : </1e16eda0-9995-11ee-8100-2bec63e97603.ttl#>.
@prefix schema: <http://schema.org/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
:17024576300408220454257988783
a schema:TextDigitalDocument;
schema:dateCreated "2023-12-13T08:53:50Z"^^xsd:dateTime;
schema:text "alfa\nbravo".
dokieli
[!NOTE]
Requests root access.
Uses files writing to /$ID
.