Skip to content

Commit 8ce872a

Browse files
authored
Merge pull request #542 from iterate-ch/issue/416
Editor Versioning Preferences
2 parents 6f0e84e + 8188695 commit 8ce872a

File tree

3 files changed

+103
-30
lines changed

3 files changed

+103
-30
lines changed
265 KB
Loading

cyberduck/edit.md

+26-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Edit Files
44
You can edit a file just as a local file in an external editor by clicking the Edit toolbar button or by choosing *File → Edit With*. The file will be downloaded to a temporary directory and opened with the preferred editor. The file will be uploaded to the server every time you choose *File → Save* in the Editor application. The file is not changed on the server if you just close the document without saving it or if the content has not changed.
55

66
## Default Editor
7-
The default editor opened for a file is selected depending on the file type. If no application is found to handle the file type the default eidtor chosen in *Preferences* is used instead.
7+
The default editor opened for a file is selected depending on the file type. If no application is found to handle the file type the default editor chosen in *Preferences* is used instead.
88

99
```{image} _images/Edit_With_Application.png
1010
:alt: Edit with Application
@@ -22,13 +22,22 @@ To edit file type associations choose *Properties → General → Type of file
2222

2323
## Preferences
2424

25+
### Default Editor
2526
Set your preferred editor in *Preferences*. Select *Always use default editor* in *Preferences → Editor* if you always want to use the default editor set regardless of the file type.
2627

2728
```{image} _images/Editor_Preferences.png
2829
:alt: Editor Preferences
29-
:width: 500px
30+
:width: 700px
31+
```
32+
33+
### Versioning
34+
35+
```{important}
36+
Cyberduck [9.0](https://cyberduck.io/changelog/) or later required
3037
```
3138

39+
Enable the custom versioning option in *Preferences → Editor* to store previous versions of a file. The versions can be previewed, deleted or restored in the *File → Info → Versions* tab of the *[Info](../cyberduck/info.md#versions)* window. The feature only applies for protocols without native versioning like [FTP](../protocols/ftp.md)/[SFTP](../protocols/sftp/index.md), [WebDAV](../protocols/webdav/index.md), [SMB](../protocols/smb.md), [OpenStack Swift](../protocols/openstack/index.md). The file versions are stored in a hidden folder named `.duckversions` in each folder on the mount. The versions are named with a pattern like `filename.extension → filename-20230906102017.762.extension`.
40+
3241
## Hidden Preferences
3342

3443
### Disable Upload of Temporary File on Save
@@ -37,6 +46,21 @@ A [hidden configuration option](preferences.md#hidden-configuration-options).
3746

3847
defaults write ch.sudo.cyberduck editor.upload.temporary false
3948

49+
### Exclude files from versioning
50+
51+
Files can be excluded from versioning by using a [hidden configuration option](preferences.md#hidden-configuration-options).
52+
53+
versioning.include.regex=.*
54+
55+
### Number of saved versions
56+
57+
Per default, the number of saved versions is limited to 5. The oldest version will be deleted once a new version is uploaded exceeding the limit.
58+
59+
The number of saved versions can be customized by using a [hidden configuration option](preferences.md#hidden-configuration-options).
60+
61+
versioning.limit=5
62+
63+
4064
## Problems
4165

4266
### No External Editor Available

cyberduck/info.md

+77-28
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,17 @@ Calculate the size recursively of all contained files.
3636

3737
## Versions
3838

39-
A list of file versions can be viewed in the *Versions* tab of the Info window. The following actions are available for a selected previous version:
39+
```{important}
40+
Cyberduck [8.4](https://cyberduck.io/changelog/) or later required
41+
```
42+
43+
A list of file versions can be viewed in the *Versions* tab of the Info window. The following actions are available for
44+
a selected previous version:
45+
4046
- Revert version
4147
- Permanently delete version
42-
- View previous version. On macOS, this opens a *QuickLook* window. On Windows, this downloads and opens the file in the default editor.
48+
- View previous version. On macOS, this opens a *QuickLook* window. On Windows, this downloads and opens the file in the
49+
default editor.
4350

4451
The list is empty when no previous version is available.
4552

@@ -48,26 +55,41 @@ The list is empty when no previous version is available.
4855
:width: 600px
4956
```
5057

51-
The following protocols support to view previous versions of files. Some protocols also display previous versions of files in [browser](../cyberduck/browser.md) when enabling *View → Show Hidden*.
52-
53-
| **Protocol** | **Revert previous version** | **Open/Quick Look previous version** | **Delete version** | **Displayed in browser with *View → Show Hidden*** |
54-
| --- | --- | --- | --- | --- |
55-
| **[S3](../protocols/s3/index.md)** |||||
56-
| **[Backblaze B2](../protocols/b2.md)** |||||
57-
| **[Google Drive](../protocols/googledrive.md)** |||||
58-
| **[Google Storage](../protocols/googlecloudstorage.md)** |||||
59-
| **[Microsoft OneDrive](../protocols/onedrive.md)** |||||
60-
| **[Microsoft Sharepoint](../protocols/sharepoint.md)** |||||
61-
| **[DRACOON](../protocols/dracoon.md)** |||||
62-
| **[Dropbox](../protocols/dropbox.md)** |||||
58+
The following protocols support to view previous versions of files. Some protocols also display previous versions of
59+
files in [browser](../cyberduck/browser.md) when enabling *View → Show Hidden*.
60+
61+
| **Protocol** | **Revert previous version** | **Open/Quick Look previous version** | **Delete version** | **Displayed in browser with *View → Show Hidden*** |
62+
|--------------------------------------------------------------|-----------------------------|--------------------------------------|--------------------|----------------------------------------------------|
63+
| **[S3](../protocols/s3/index.md)** |||||
64+
| **[Backblaze B2](../protocols/b2.md)** |||||
65+
| **[Google Drive](../protocols/googledrive.md)** |||||
66+
| **[Google Storage](../protocols/googlecloudstorage.md)** |||||
67+
| **[Microsoft OneDrive](../protocols/onedrive.md)** |||||
68+
| **[Microsoft Sharepoint](../protocols/sharepoint.md)** |||||
69+
| **[DRACOON](../protocols/dracoon.md)** |||||
70+
| **[Dropbox](../protocols/dropbox.md)** |||||
71+
| **[Nextcloud & ownCloud](../protocols/webdav/nextcloud.md)** |||||
72+
| **[FTP](../protocols/ftp.md)** |||||
73+
| **[SFTP](../protocols/sftp/index.md)** |||||
74+
| **[WebDAV](../protocols/webdav/index.md)** |||||
75+
| **[SMB](../protocols/smb.md)** |||||
6376

6477
```{note}
6578
Using [S3](../protocols/s3/index.md) or [Backblaze B2](../protocols/b2.md), versions will only be displayed if bucket versioning is enabled.
6679
```
6780

81+
```{important}
82+
Enable _Versioning_ in *Preferences → Editor* to view revisions of edited files for protocols with no native versioning support.
83+
```
84+
6885
## UNIX Permissions
6986

70-
Change the permissions on a particular file or folder when connected to a [FTP](../protocols/ftp.md) or [SFTP](../protocols/sftp/index.md) server. You can also select multiple files in the browser to edit permissions. Click the checkboxes or enter the [octal notation](http://en.wikipedia.org/wiki/File_system_permissions#Symbolic_notation). The recursive options will update all files within a folder but will not change the executable bit for files if not already set when recursively updating a directory.
87+
Change the permissions on a particular file or folder when connected to a [FTP](../protocols/ftp.md)
88+
or [SFTP](../protocols/sftp/index.md) server. You can also select multiple files in the browser to edit permissions.
89+
Click the checkboxes or enter
90+
the [octal notation](http://en.wikipedia.org/wiki/File_system_permissions#Symbolic_notation). The recursive options will
91+
update all files within a folder but will not change the executable bit for files if not already set when recursively
92+
updating a directory.
7193

7294
```{image} _images/UNIX_Permissions.png
7395
:alt: UNIX Permissions
@@ -76,7 +98,8 @@ Change the permissions on a particular file or folder when connected to a [FTP](
7698

7799
## Access Control List (ACL)
78100

79-
Edit access control list for fine grained user permissions when connected to [Amazon S3](../protocols/s3/index.md) or [Google Cloud Storage](../protocols/googlecloudstorage.md).
101+
Edit access control list for fine grained user permissions when connected to [Amazon S3](../protocols/s3/index.md)
102+
or [Google Cloud Storage](../protocols/googlecloudstorage.md).
80103

81104
- [S3 ACLs](../protocols/s3/index.md#access-control-acl)
82105
- [Google Storage ACLs](../protocols/googlecloudstorage.md#acls)
@@ -88,25 +111,39 @@ Edit access control list for fine grained user permissions when connected to [Am
88111

89112
## CDN Panel
90113

91-
Manage [Amazon CloudFront](../protocols/cdn/cloudfront.md) and [Rackspace/Akamai](../protocols/cdn/akamai.md) distributions ([CDN](../protocols/cdn/index.md)) respectively.
114+
Manage [Amazon CloudFront](../protocols/cdn/cloudfront.md) and [Rackspace/Akamai](../protocols/cdn/akamai.md)
115+
distributions ([CDN](../protocols/cdn/index.md)) respectively.
92116

93117
### Deployment Status
94118

95-
Upon changing configuration parameters of a distribution configuration, the settings are not distributed immediately in the CDN. While the deployment is in progress (which can take up to 15 minutes), the status *In Progress* is displayed. The updates are fully propagated throughout the CloudFront system when the distribution's state switches from *In Progress* to *Deployed*.
119+
Upon changing configuration parameters of a distribution configuration, the settings are not distributed immediately in
120+
the CDN. While the deployment is in progress (which can take up to 15 minutes), the status *In Progress* is displayed.
121+
The updates are fully propagated throughout the CloudFront system when the distribution's state switches from *In
122+
Progress* to *Deployed*.
96123

97124
### CloudFront Access Logging
98125

99-
When this option is enabled, access logs are written to `<bucketname>/logs`. The changes to the logging configuration take effect within 12 hours. The logging option is supported for both download and streaming distributions. Choose the target bucket for access logs in the dropdown menu listing all buckets of your account. It is considered best practice to choose a different logging target for each distribution.
126+
When this option is enabled, access logs are written to `<bucketname>/logs`. The changes to the logging configuration
127+
take effect within 12 hours. The logging option is supported for both download and streaming distributions. Choose the
128+
target bucket for access logs in the dropdown menu listing all buckets of your account. It is considered best practice
129+
to choose a different logging target for each distribution.
100130

101131
### Origin
102132

103-
The source of the content where CloudFront fetches the content to be served in the edge location of the CDN. This is a [S3](../protocols/s3/index) bucket or your custom origin.
133+
The source of the content where CloudFront fetches the content to be served in the edge location of the CDN. This is
134+
a [S3](../protocols/s3/index) bucket or your custom origin.
104135

105136
### Where
106-
The `cloudfront.net` domain assigned to your distribution. This is directing to the edge location in the CDN next to the user requesting an URL.
137+
138+
The `cloudfront.net` domain assigned to your distribution. This is directing to the edge location in the CDN next to the
139+
user requesting an URL.
107140

108141
### CNAMEs
109-
Enter a [CNAME](http://en.wikipedia.org/wiki/CNAME_record) (alias in the Domain Name System) for the hostname of the distribution given by CloudFront. To use multiple CNAMEs for a single distribution, the hostnames must be space delimited. The CNAME must be registered on the nameserver responsible for your domain and point to `cloudfront.net` domain assigned to your distribution.
142+
143+
Enter a [CNAME](http://en.wikipedia.org/wiki/CNAME_record) (alias in the Domain Name System) for the hostname of the
144+
distribution given by CloudFront. To use multiple CNAMEs for a single distribution, the hostnames must be space
145+
delimited. The CNAME must be registered on the nameserver responsible for your domain and point to `cloudfront.net`
146+
domain assigned to your distribution.
110147

111148
Example configuration:
112149

@@ -117,20 +154,30 @@ Example configuration:
117154
cdn.cyberduck.ch. 1576 IN CNAME d15bfu8of7vup8.cloudfront.net.
118155

119156
### Index File
120-
You can assign a default root object to your HTTP or HTTPS distribution. This default object will be served when Amazon CloudFront receives a request for the root of your distribution – i.e., your distribution’s domain name by itself.
121157

122-
When you define a default root object, a user request that calls the root of your distribution returns the default root object. For example, if you designate the file `index.html` as your default root object, a request for `http://d604721fxaaqy9.cloudfront.net/` returns `http://d604721fxaaqy9.cloudfront.net/index.html`.
158+
You can assign a default root object to your HTTP or HTTPS distribution. This default object will be served when Amazon
159+
CloudFront receives a request for the root of your distribution – i.e., your distribution’s domain name by itself.
160+
161+
When you define a default root object, a user request that calls the root of your distribution returns the default root
162+
object. For example, if you designate the file `index.html` as your default root object, a request
163+
for `http://d604721fxaaqy9.cloudfront.net/` returns `http://d604721fxaaqy9.cloudfront.net/index.html`.
123164

124165
### Object Invalidation
125-
[Invalidation](http://aws.amazon.com/about-aws/whats-new/2010/08/31/cloudfront-adds-invalidation-feature/) is one way to remove a distribution object from an edge server cache before the expiration setting on the object's header. Invalidation clears the object from the edge server cache, and a subsequent request for the object will cause CloudFront to return to the origin to fetch the latest version of the object.
166+
167+
[Invalidation](http://aws.amazon.com/about-aws/whats-new/2010/08/31/cloudfront-adds-invalidation-feature/) is one way to
168+
remove a distribution object from an edge server cache before the expiration setting on the object's header.
169+
Invalidation clears the object from the edge server cache, and a subsequent request for the object will cause CloudFront
170+
to return to the origin to fetch the latest version of the object.
126171

127172
```{note}
128173
Use the Invalidate option *File → Info → Distribution (CDN)* to invalidate files from edge locations.
129174
```
130175

131176
## Provider Panel
132177

133-
Settings specific for the cloud service in use. Available for [Amazon S3](../protocols/s3/index.md), [Backblaze B2](../protocols/b2.md), [Windows Azure Blob Storage](../protocols/azure.md), and [Google Cloud Storage](../protocols/googlecloudstorage.md).
178+
Settings specific for the cloud service in use. Available
179+
for [Amazon S3](../protocols/s3/index.md), [Backblaze B2](../protocols/b2.md), [Windows Azure Blob Storage](../protocols/azure.md),
180+
and [Google Cloud Storage](../protocols/googlecloudstorage.md).
134181

135182
``````{tabs}
136183
`````{group-tab} Amazon S3
@@ -192,9 +239,11 @@ Settings specific for the cloud service in use. Available for [Amazon S3](../pro
192239

193240
View and modify metadata attributes of files.
194241

195-
Any non-standard HTTP header values are (transparently) prefixed with the following values following the guidelines from the different providers:
242+
Any non-standard HTTP header values are (transparently) prefixed with the following values following the guidelines from
243+
the different providers:
196244

197-
- Values are prefixed with `x-amz-meta-` for [S3](../protocols/s3/index.md) and [Google Storage](../protocols/googlecloudstorage.md).
245+
- Values are prefixed with `x-amz-meta-` for [S3](../protocols/s3/index.md)
246+
and [Google Storage](../protocols/googlecloudstorage.md).
198247
- Values are prefixed with `X-Object-Meta-` for [CloudFiles](../protocols/openstack/cloudfiles.md).
199248

200249
```{image} _images/Metadata.png

0 commit comments

Comments
 (0)