Skip to content

Commit 5c75c39

Browse files
committed
Update README to explain server path
fixes #124
1 parent 6f925c0 commit 5c75c39

File tree

1 file changed

+53
-32
lines changed

1 file changed

+53
-32
lines changed

README.md

Lines changed: 53 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# ![](https://raw.githubusercontent.com/marcelklehr/floccus/master/icons/logo.png) Floccus
2+
23
![](https://raw.githubusercontent.com/marcelklehr/floccus/master/img/screen_firefox_options.png)
34

45
> Sync your browser bookmarks with Nextcloud
@@ -12,96 +13,116 @@ Historically this was once possible using [the mozilla sync app](https://github.
1213
**News:** Floccus v2.0 can now sync all your bookmarks with all of your ginormous folder hierarchy. :weight_lifting_woman:
1314

1415
## Install
16+
1517
For this to work with your Nextcloud server, you need at least version v0.11 of the Bookmarks app installed. Once you've done that you can continue to install floccus in your browser as follows.
1618

1719
**Note:** It is recommended to not enable native bookmark synchronization built into your browser, as it is known to cause issues.
1820

1921
### Chrome
22+
2023
You can [install it via the Chrome Web store](https://chrome.google.com/webstore/detail/floccus-nextcloud-sync/fnaicdffflnofjppbagibeoednhnbjhg)
2124

2225
Alternatively, you can still install it by [downloading the Chrome package from the latest release](https://github.com/marcelklehr/floccus/releases/) and dropping it into Chrome's extension page.
2326

24-
25-
2627
#### Updating from 1.x to v2.0
28+
2729
It is recommended to remove all of your bookmarks from your accounts before updating floccus, deleting them and after updating to reconnect them again, in order to prevent unforeseen problems!
2830

2931
### Firefox
32+
3033
You can [install it via AMO](https://addons.mozilla.org/en-US/firefox/addon/floccus/).
3134

3235
(Note that AMO has to review all new releases, though, so you might need to wait a bit before you can install the latest release on firefox.)
3336

3437
#### Updating from 1.x to v2.0
38+
3539
It is recommended to remove all of your bookmarks from your accounts before updating floccus, deleting them and after updating to reconnect them again, in order to prevent unforeseen problems!
3640

3741
### Firefox for Android
38-
Floccus is not supported by Firefox for Android, [yet](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/bookmarks#Browser_compatibility).
3942

43+
Floccus is not supported by Firefox for Android, [yet](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/bookmarks#Browser_compatibility).
4044

4145
## Usage
42-
* **The options panel**; After installation the options pane will pop up allowing you to create accounts and edit their settings. You will be able to access this pane at all times by clicking the floccus icon in the browser tool bar.
43-
* **Your accounts**: You can setup multiple nextcloud accounts and select a bookmark folder for each, that should be synced with that account. Floccus will keep the bookmarks in sync with your nextcloud whenever you add or change them and will also sync periodically to pull the latest changes from the server.
44-
* **Syncing the root folder**: If you want to sync all bookmarks in your browser you need to select the topmost untitled folder in the folder picker. Syncing the root folder across browsers from different vendors is not possible currently, as the main bookmark folders (like "Other bookmarks") are hardcoded and different for each browser vendor.
46+
47+
- **The options panel**; After installation the options pane will pop up allowing you to create accounts and edit their settings. You will be able to access this pane at all times by clicking the floccus icon in the browser tool bar.
48+
- **Your accounts**: You can setup multiple nextcloud accounts and select a folder in your bookmarks for each account, that should be synced with the server. Floccus will keep the bookmarks in sync with your nextcloud whenever you add or change them and will also sync periodically to pull the latest changes from the server.
49+
- **Syncing all your bookmarks**: If you want to sync all bookmarks in your browser you can select the topmost untitled folder as your sync folder in the folder picker. Syncing the root folder across browsers from different vendors is not possible this way, however, because the main bookmark folders (like "Other bookmarks" and your bookmarks toolbar) are hardcoded and are named differently for each browser vendor. Thus they cannot be synced automatically. Read below how to sync all your bookmarks across browsers anyway.
50+
51+
### The server path: Mapping folders
52+
53+
You can specify a 'server path' in your floccus account setup. This is like the target folder of a copy or rsync command. While the sync folder you have selected from your browser bookmarks normally will end up being synced to the root path on your server, you can change that to an arbitrary sub-directory, e.g. /Toolbar.
54+
55+
To sync all of your bookmarks across browsers from different vendors, you can setup multiple floccus accounts per browser: One for each main bookmarks folder you'd like to sync. You can, for example, create an account, set the server path to `/Toolbar` and select `/Bookmarks Toolbar` as the local folder in your bookmarks to sync. If you want to sync `Other bookmarks`, too, you can create a new account with the same credentials, select `/Other Bookmarks` in the options, but this time you specify a different path in 'server path' , e.g. /Others.
4556

4657
### Limitations
47-
* Note that currently you cannot sync the same folder with multiple nextcloud accounts in order to avoid data corruption. If you sync the root folder with one account and sync a sub folder with a different account, that sub-folder will not be synced with the account connected to the root folder anymore.
48-
* Floccus yields an error if you attempt to sync a folder with duplicate bookmarks (two or more bookmarks of the same URL). Remove one of the bookmarks for floccus to resume normal functionality.
49-
* Syncing the root folder across browsers from different vendors is not possible currently, as the main bookmark folders (like "Other bookmarks") are hardcoded and different for each browser vendor.
58+
59+
- Note that currently you cannot sync the same folder with multiple nextcloud accounts in order to avoid data corruption. If you sync the root folder with one account and sync a sub folder with a different account, that sub-folder will not be synced with the account connected to the root folder anymore.
60+
- Floccus yields an error if you attempt to sync a folder with duplicate bookmarks (two or more bookmarks of the same URL). Remove one of the bookmarks for floccus to resume normal functionality.
5061

5162
## Goals and Limitations aka. Is this a good idea?
63+
5264
As there have been debates about whether this software product is a good idea, I've made a little section here with my considerations.
5365

5466
### Goals
55-
The goals of this piece of software
5667

57-
* provide an open cross-platform sync solution for browser data with nextcloud
58-
* performance is a plus, but not necessary
59-
* (eventual) consistency is more important than intention preservation (i.e. when ever a mistake happens during sync, it's guaranteed to be eventually consistent on all sites)
68+
The goals of this piece of software
6069

70+
- provide an open cross-platform sync solution for browser data with nextcloud
71+
- performance is a plus, but not necessary
72+
- (eventual) consistency is more important than intention preservation (i.e. when ever a mistake happens during sync, it's guaranteed to be eventually consistent on all sites)
6173

6274
### Current status and Limitations
75+
6376
The WebExtensions bookmarks API has a few limitations:
6477

65-
1. No support for batching or transactions
66-
2. Record GUIDs can change, but are only known to change when Firefox Sync is used.
67-
3. The data format doesn't represent descriptions, tags or separators
68-
4. No way to create a per-device folder
69-
5. It's impossible to express safe operations, because there are no compare-and-set primitives.
70-
6. Triggering a sync after the first change, causing repeated syncs and inconsistency to spread to other devices.
78+
1. No support for batching or transactions
79+
2. Record GUIDs can change, but are only known to change when Firefox Sync is used.
80+
3. The data format doesn't represent descriptions, tags or separators
81+
4. No way to create a per-device folder
82+
5. It's impossible to express safe operations, because there are no compare-and-set primitives.
83+
6. Triggering a sync after the first change, causing repeated syncs and inconsistency to spread to other devices.
7184

7285
Nonetheless, I've chosen to utilize the WebExtensions API for implementing this sync client. As I'm aware, this decision has (at least) the following consequences:
73-
1. No transaction support (\#1) leads to bad performance
74-
2. No support for transactions (\#1) also can potentially cause intermediate states to be synced. However, all necessary precautions are taken to prevent this and even in the case that this happens, all sites will be eventually consistent, allowing you to manually resolve possible problems after the fact.
75-
3. Due to the modification of GUIDs (\#2), usage of Firefox Sync along with Floccus is discouraged.
76-
4. The incomplete data format (\#3) is an open problem, but doesn't impact the synchronization of the remaining accessible data.
77-
5. The inability to exclude folders from sync in 3rd-party extensions (\#4) is a problem, but manageable when users are able to manually choose folders to ignore. (Currently not implemented)
78-
6. The lack of safe write operations (\#5) can be dealt with similarly to the missing transaction support: Changes made during sync could lead to an unintended but consistent state, which can be resolved manually. Additionally, precautions are taken to prevent this.
79-
7. In order to avoid syncing prematurely (\#6) floccus employs a timeout to wait until all pending bookmarks operations are done.
86+
87+
1. No transaction support (\#1) leads to bad performance
88+
2. No support for transactions (\#1) also can potentially cause intermediate states to be synced. However, all necessary precautions are taken to prevent this and even in the case that this happens, all sites will be eventually consistent, allowing you to manually resolve possible problems after the fact.
89+
3. Due to the modification of GUIDs (\#2), usage of Firefox Sync along with Floccus is discouraged.
90+
4. The incomplete data format (\#3) is an open problem, but doesn't impact the synchronization of the remaining accessible data.
91+
5. The inability to exclude folders from sync in 3rd-party extensions (\#4) is a problem, but manageable when users are able to manually choose folders to ignore. (Currently not implemented)
92+
6. The lack of safe write operations (\#5) can be dealt with similarly to the missing transaction support: Changes made during sync could lead to an unintended but consistent state, which can be resolved manually. Additionally, precautions are taken to prevent this.
93+
7. In order to avoid syncing prematurely (\#6) floccus employs a timeout to wait until all pending bookmarks operations are done.
8094

8195
## What's with the name?
96+
8297
[Cirrus floccus](https://en.wikipedia.org/wiki/Cirrus_floccus) is a type of cloud, that <del>can sync your browser data</del> looks very nice.
8398

8499
## Donate
100+
85101
If you'd like to support the creation and maintenance of this software, consider donating.
86102

87103
<a href="https://liberapay.com/marcelklehr/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
88104

89105
## Contribute
106+
90107
All contributions, code, feedback and strategic advice, are welcome. If you have a question you can contact me directly via email or simply [open an issue](https://github.com/marcelklehr/floccus/issues/new) on the repository. I'm also always happy for people helping me test new features -- see the issues for announcements of beta versions.
91108

92109
### Setting up a dev environment
93-
* Clone this repository.
94-
* Install node.js and npm
95-
* In the root of your floccus repo, run `npm install && npm install -g gulp`
96-
* Run `gulp` to build
97-
* Install firefox developer edition and prepare it as follows: https://developer.mozilla.org/en-US/Add-ons/Setting_up_extension_development_environment
110+
111+
- Clone this repository.
112+
- Install node.js and npm
113+
- In the root of your floccus repo, run `npm install && npm install -g gulp`
114+
- Run `gulp` to build
115+
- Install firefox developer edition and prepare it as follows: https://developer.mozilla.org/en-US/Add-ons/Setting_up_extension_development_environment
98116

99117
### Building
100-
* `gulp`
118+
119+
- `gulp`
101120

102121
### Releasing
122+
103123
Firefox expects a zip, for chrome do the following: https://developer.chrome.com/extensions/packaging (private key necessary!)
104124

105125
## License
126+
106127
(c) Marcel Klehr
107128
MPL-2.0 (see LICENSE.txt)

0 commit comments

Comments
 (0)