How about this:
syncthing://add/*device-id*/*folder-id*)syncthing://)Everything else can be added later.
(edited into OP by @calmh)
Gonna post this here so it isn't forgotten:
Something similar has already been discussed here, but I wanted to bring it up again, in a way that's hopefully easier to implement.
My proposal is to add a "Share Folder" button to each folder (next to the scan/edit buttons). Clicking this button would show a string in the following form:
folderid=myfolder&deviceid=mydeviceThis string can then be copied to the web interface of another Syncthing node. There should be a menu option (or a field in the "Add Folder" dialog) where this string can be pasted. Entering the string automatically adds the device and folder, so all you have to do is confirm it on the other side.
Of course, the exact format of this string can be changed. Other things we could add to the string are the folder label and device name, as well as any specific folder and device settings. We could also include the IDs of other devices that have this folder.
Of course, copying such a long string around is not perfect, but I think it's still better than copying device ID and folder ID around seperately, and entering all the settings manually.
Full thread is here: https://forum.syncthing.net/t/share-folder-button/8308
I am sure its a dup of some generic usability issue no?
Not sure about that. But I thought it would be useful to have an overall concept laid out. But feel free to close if you see it as a duplicate.
Having a proper syntax would surely help. A bit like torrent magnet links :
A handler could be used for web browsers (use case : send link by mail to another computer, click on link, browsers asks to launch external app, device and folder is added to syncthing)
A handler could be used for web browsers (use case : send link by mail to another computer, click on link, browsers asks to launch external app, device and folder is added to syncthing)
The problem there is that, in almost all cases, Syncthing is installed as a portable application - it's a binary that's dropped into a folder. There may be multiple such binaries for one user, or for many users. Having a single URL handler is therefore a bit of a tricky concept, and there's no natural point at which to install it.
The problem there is that, in almost all cases, Syncthing is installed as a portable application - it's a binary that's dropped into a folder. There may be multiple such binaries for one user, or for many users. Having a single URL handler is therefore a bit of a tricky concept, and there's no natural point at which to install it.
I'd leave this task to a wrapper application : for example, when you install transmission, it register itself as a magnet: handler. Synctrazor or qsyncthing or wathever could do the same.
Note that it is a bonus to have those handler. Even without it, it's useful to have a properly defined scheme that anyone can copy paste between computers or send by email.
I'd leave this task to a wrapper application : for example, when you install transmission, it register itself as a magnet: handler. Synctrazor or qsyncthing or wathever could do the same.
Seems a bit mean for Syncthing to give the user clickable links, when the majority of Syncthing instances won't handle them :stuck_out_tongue_closed_eyes:
Agreed on the copyable scheme stuff though.
Can we get a clarification on what would need to be implemented for this issue to be satisfied?
Ability add a device and folder from one "id". Also, potentially adding stuff in the Hello message to autoaccept the device connecting as a result of receiving that string.
How about this:
syncthing://add/*device-id*/*folder-id*)syncthing://)Everything else can be added later.
For the sake of correctness, I would like to point out that a hypothetical URI with authority (syncthing://deviceID/folderID) would probably not be suitable for Syncthing. As the "host" part can, per generic URI syntax, be an IP address and an IP address is not enough to connect to a peer, the form syncthing:deviceID/folderID would be more appropriate. However, it's also perfectly appropriate to also have a syncthing://discoverServer/deviceID/folderID form, I would think.
I am building some team software 鈥斅爓ritten in Go 鈥斅爐hat would would like to have a really easy way for users to be able to create a "repository" of shared files that they would frequently access via the app. Telling the users to use SyncThing would be a really easy way to achieve this, if Syncthing had the feature requested on this ticket. Otherwise, I will have to look elsewhere.
Any chance this could become a priority in the near future?
Not really, someone who cares about this needs to implement it.
Given you know go, perhaps that's a good opportunity for you to implement it.
@AudriusButkevicius That would be one approach, but I have my hands full with implementing all the unique stuff needed by my own app, hence why I was looking for something already implemented.
_(But I wasn't looking for "handouts"; the possible plus for SyncThing would be my app's users would also become SyncThing users and might even become paying SyncThing customers. #fwiw)_
Syncthing is free, so they would not be paying customers. I understand you are not looking for handouts, but I don't think anyone is interested in spending their time to implement a feature needed for you to kick off your commercial app.
@AudriusButkevicius As for paying customers, please forgive me for making what was evidently a mistake regarding SyncThing; I thought I had seen a paid service related to SyncThing but I must have confused it with some other solution.
That said, when/where did I ever say the app I was developing was commercial?
I think that came from the customers being paying. But it has no bearing either way; the feature requests is here, I don't think it would be terribly difficult to implement (nor in a separate URL handler that spoke to the API), but it's roughly the same priority now as it was three years ago.
Most helpful comment
Having a proper syntax would surely help. A bit like torrent magnet links :
syncthing:deviceid/folderid
A handler could be used for web browsers (use case : send link by mail to another computer, click on link, browsers asks to launch external app, device and folder is added to syncthing)