rclone/docs
nielash 1473de3f04 onedrive: add metadata support
This change adds support for metadata on OneDrive. Metadata (including
permissions) is supported for both files and directories.

OneDrive supports System Metadata (not User Metadata, as of this writing.) Much
of the metadata is read-only, and there are some differences between OneDrive
Personal and Business (see table in OneDrive backend docs for details).

Permissions are also supported, if --onedrive-metadata-permissions is set. The
accepted values for --onedrive-metadata-permissions are read, write, read,write, and
off (the default). write supports adding new permissions, updating the "role" of
existing permissions, and removing permissions. Updating and removing require
the Permission ID to be known, so it is recommended to use read,write instead of
write if you wish to update/remove permissions.

Permissions are read/written in JSON format using the same schema as the
OneDrive API, which differs slightly between OneDrive Personal and Business.
(See OneDrive backend docs for examples.)

To write permissions, pass in a "permissions" metadata key using this same
format. The --metadata-mapper tool can be very helpful for this.

When adding permissions, an email address can be provided in the User.ID or
DisplayName properties of grantedTo or grantedToIdentities. Alternatively, an
ObjectID can be provided in User.ID. At least one valid recipient must be
provided in order to add a permission for a user. Creating a Public Link is also
supported, if Link.Scope is set to "anonymous".

Note that adding a permission can fail if a conflicting permission already
exists for the file/folder.

To update an existing permission, include both the Permission ID and the new
roles to be assigned. roles is the only property that can be changed.

To remove permissions, pass in a blob containing only the permissions you wish
to keep (which can be empty, to remove all.)

Note that both reading and writing permissions requires extra API calls, so if
you don't need to read or write permissions it is recommended to omit --onedrive-
metadata-permissions.

Metadata and permissions are supported for Folders (directories) as well as
Files. Note that setting the mtime or btime on a Folder requires one extra API
call on OneDrive Business only.

OneDrive does not currently support User Metadata. When writing metadata, only
writeable system properties will be written -- any read-only or unrecognized keys
passed in will be ignored.

TIP: to see the metadata and permissions for any file or folder, run:

rclone lsjson remote:path --stat -M --onedrive-metadata-permissions read

See the OneDrive backend docs for a table of all the supported metadata
properties.
2024-03-08 14:48:54 +00:00
..
content onedrive: add metadata support 2024-03-08 14:48:54 +00:00
i18n website: Adapt to hugo v0.27.1 2017-09-30 09:19:53 +01:00
layouts imagekit: Updated docs and web content 2024-01-16 18:25:25 +00:00
static docs: remove third party logos from source tree 2023-10-23 15:35:25 +01:00
config.json docs: add table of contents to every page 2021-07-20 16:53:21 +01:00
README.md docs: improve grammar and fix typos (#5361) 2021-11-04 12:50:43 +01:00

Docs

This directory tree is used to build all the different docs for
rclone.

See the content directory for the docs in markdown format.

Note that some of the docs are auto-generated - these should have a DO
NOT EDIT marker near the top.

Use hugo to build the website.

Changing the layout

If you want to change the layout then the main files to edit are

  • layout/index.html for the front page
  • chrome/*.html for the HTML fragments
  • _default/single.md for the default template
  • page/single.md for the page template

Running make serve in a terminal give a live preview of the website
so it is easy to tweak stuff.

What are all these files

├── config.json                   - hugo config file
├── content                       - docs and backend docs
│   ├── _index.md                 - the front page of rclone.org
│   ├── commands                  - auto-generated command docs - DO NOT EDIT
├── i18n
│   └── en.toml                   - hugo multilingual config
├── layouts                       - how the markdown gets converted into HTML
│   ├── 404.html                  - 404 page
│   ├── chrome                    - contains parts of the HTML page included elsewhere
│   │   ├── footer.copyright.html - copyright footer
│   │   ├── footer.html           - footer including scripts
│   │   ├── header.html           - the whole html header
│   │   ├── header.includes.html  - header includes e.g. css files
│   │   ├── menu.html             - left hand side menu
│   │   ├── meta.html             - meta tags for the header
│   │   └── navbar.html           - top navigation bar
│   ├── _default
│   │   └── single.html           - the default HTML page render
│   ├── index.html                - the index page of the whole site
│   ├── page
│   │   └── single.html           - the render of all "page" type markdown
│   ├── partials                  - bits of HTML to include into layout .html files
│   │   └── version.html          - the current version number
│   ├── rss.xml                   - template for the RSS output
│   ├── section                   - rendering for sections
│   │   └── commands.html         - rendering for /commands/index.html
│   ├── shortcodes                - shortcodes to call from markdown files
│   │   ├── cdownload.html        - download the "current" version
│   │   ├── download.html         - download a version with the partials/version.html number
│   │   ├── provider.html         - used to make provider list on the front page
│   │   └── version.html          - used to insert the current version number
│   └── sitemap.xml               - sitemap template
├── public                        - render of the website
├── README.md                     - this file
├── resources                     - don't know!
│   └── _gen
│       ├── assets
│       └── images
└── static                        - static content for the website
    ├── css
    │   ├── bootstrap.css
    │   ├── custom.css            - custom css goes here
    │   └── font-awesome.css
    ├── img                       - images used
    ├── js
    │   ├── bootstrap.js
    │   ├── custom.js             - custom javascript goes here
    │   └── jquery.js
    └── webfonts