fix(docs): Expand terminology and documentation guidance - #10672
fix(docs): Expand terminology and documentation guidance#10672claucambra wants to merge 3 commits into
Conversation
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
|
/backport to stable-34.0 |
|
|
Artifact containing the AppImage: nextcloud-appimage-pr-10672.zip Digest: To test this change/fix you can download the above artifact file, unzip it, and run it. Please make sure to quit your existing Nextcloud app and backup your data. |
| Use these terms consistently in comments and documentation. The client has two related but different engines, so vocabulary is scoped below: | ||
|
|
||
| - The **standard sync engine** is the C++ `SyncEngine`/`Folder` path, including its VFS integrations. | ||
| - The **File Provider engine** is the macOS Swift extension built on Apple's File Provider framework. |
There was a problem hiding this comment.
Not an extension of Swift but macOS (and a particular kind thereof) which could have also been done in Objective-C (which the file provider framework actually is written in, hence the APIs aren't that "swifty" or fit for strict concurrency).
| - The **File Provider engine** is the macOS Swift extension built on Apple's File Provider framework. | |
| - The **File Provider engine** is the macOS file provider extension built on Apple's File Provider framework written in Swift. |
| | **state** | The current condition of an object, account, or operation. | A requested setting; use **policy** or **configuration**. | | ||
| | **status** | The result or progress of an operation, especially a transfer. | Every kind of state. Use the exact enum name when one exists. | |
There was a problem hiding this comment.
This is a difficult linguistic distinction even for humans, in my perception. Also, there is an overlap. status includes the progress of an operating which already is covered semantically by state as "the current condition".
| | **state** | The current condition of an object, account, or operation. | A requested setting; use **policy** or **configuration**. | | |
| | **status** | The result or progress of an operation, especially a transfer. | Every kind of state. Use the exact enum name when one exists. | | |
| | **state** | The current condition of an object, account, or operation. | A requested setting; use **policy** or **configuration**. | | |
| | **result** | The result of an operation, especially a transfer. | Every kind of state. Use the exact enum name when one exists. | |
| | --- | --- | --- | | ||
| | **state** | The current condition of an object, account, or operation. | A requested setting; use **policy** or **configuration**. | | ||
| | **status** | The result or progress of an operation, especially a transfer. | Every kind of state. Use the exact enum name when one exists. | | ||
| | **mode** | A selected implementation or operating configuration, such as a VFS mode. | A temporary result or transfer status. | |
| | **policy** | A rule or preference that controls what should happen, such as pinning or keeping a file downloaded. | Proof that the requested result has already happened. | | ||
| | **configuration** | Values that select or set up how a component operates. | A live operation result. | | ||
| | **error** | A failure or failure result. | A conflict or warning unless the code treats it as an error. | | ||
| | **conflict** | A specific sync outcome where changes cannot be applied together automatically. | A general failure. | |
There was a problem hiding this comment.
| | **conflict** | A specific sync outcome where changes cannot be applied together automatically. | A general failure. | | |
| | **conflict** | A specific sync outcome where diverging changes between different content states cannot be reconciled automatically or without data loss. | A general failure. | |
| | **materialized** | An item in File Provider's local materialized set. This can include a downloaded file or a visited directory. | | ||
| | **downloaded** | The local file-content flag used for a File Provider file. | | ||
| | **visitedDirectory** | A directory that has been enumerated locally; it does not mean the directory was downloaded. | | ||
| | **dataless** | A File Provider item with no local materialized content, typically after eviction. | |
There was a problem hiding this comment.
| | **dataless** | A File Provider item with no local materialized content, typically after eviction. | | |
| | **dataless** | A File Provider item without actual content but metadata available locally. | |
| | **downloaded** | The local file-content flag used for a File Provider file. | | ||
| | **visitedDirectory** | A directory that has been enumerated locally; it does not mean the directory was downloaded. | | ||
| | **dataless** | A File Provider item with no local materialized content, typically after eviction. | | ||
| | **evict** | Removing an item's local File Provider representation without treating it as a server deletion. | |
There was a problem hiding this comment.
| | **evict** | Removing an item's local File Provider representation without treating it as a server deletion. | | |
| | **evict** | Remove the local content copy of a file provider item without actually deleting the item on the server and retain the existing metadata. | |
| | **visitedDirectory** | A directory that has been enumerated locally; it does not mean the directory was downloaded. | | ||
| | **dataless** | A File Provider item with no local materialized content, typically after eviction. | | ||
| | **evict** | Removing an item's local File Provider representation without treating it as a server deletion. | | ||
| | **keepDownloaded** | The stored intent behind “Always keep downloaded”; it is not the current downloaded or materialized state. | |
There was a problem hiding this comment.
| | **keepDownloaded** | The stored intent behind “Always keep downloaded”; it is not the current downloaded or materialized state. | | |
| | **keepDownloaded** | The stored content policy behind the “Always keep downloaded” custom file provider action; it is not a state detail. | | |
| | **content policy** | Defines how the File Provider framework is expected to handle local content copies of a file provider item. Defines policy for automatic eviction by the framework but also whether content should be downloaded from the server automatically and eagerly or local content copies evicted on case of server-side changes to the represented item. | |
|
|
||
| | Standard sync engine | File Provider engine | Notes | | ||
| | --- | --- | --- | | ||
| | virtual file / placeholder | File Provider item | Both are local representations, but `item` is the framework object. | |
There was a problem hiding this comment.
| | virtual file / placeholder | File Provider item | Both are local representations, but `item` is the framework object. | | |
| | virtual file / placeholder | File Provider item | Both are local representations, but `item` is the actual framework object regardless off its state (either "dataless" or "materialized"), not a placeholder. | |
| | **folder** | A user-facing or sync-folder concept. | | ||
| | **delete** | A deletion operation. | | ||
| | **soft-deleted** | A record marked as deleted but not yet removed. | | ||
| | **evict** | A provider or operating-system eviction operation. | |
There was a problem hiding this comment.
| | **evict** | A provider or operating-system eviction operation. | | |
| | **evict** | A File Provider framework eviction operation. | |



Summary
Particularly relevant for AI agents which tend to produce incomprehensible word salads
Checklist
AI (if applicable)