ihudak

Hello,

I would like to request a very powerful feature that is really easy to implement.


I have both Windows and Mac machines. The thoughts in The Brain have file-attachments.
TheBrain stores absolute path when linking the files. So links made on Windows do not work on Mac and vice-versa.

I guess this will be real nightmare for TeamBrain, when thoughts from different people and different platforms won't work.

I suggest that:
 - make integration with different cloud storages (Dropbox/GoogleDrive/iCloud/OneDrive etc, or just any folder (share on a server in local network).
The integration should be really simple: just add the directory path to the settings.
Then links in TheBrain thoughts will have 2 properties: [cloud service] and [relative path in the sync-directory].

For instance, when saying about dropbox.
On Win client I configure that DropBox dir is C:\Users\user0\Dropbox
On Mac - DropBox is /Users/user0/Dropbox

Then, linking a Document1.docx that is located in Windows machine as C:\Users\user0\Dropbox\Project1\Document1.docx
will be stored in TheBrain as [folder=Dropbox; path=Project1/Document1.docx]

This file will be easily accessed on Mac if Dropbox syncs.

--------------------
Advantages:
I know that I can copy that file to TheBrain to sync them among different platforms, but:
 - it's more convenient to have files in the file-system instead of having them in theBrain as attachments
 - it reduces cloud-costs for TheBrain (big files will be stored somewhere else)
 - Some documents are not allowed to be stored in the cloud (important for corporate users) - then internal servers will do the job
 - OneDrive supports simultaneous edits by different users for Word-files. And online edits of Excel/Word files stored in OneDrive. The Brain can keep this powerful feature for the users if offers such a simple integration with OneDrive
 - iOS and Android versions of TheBrain also can access files from all the cloud storages
 - TheBrain-users can work with the documents which are shared with other people who do not use TheBrain.



-------------------
To implement this feature you need just one tab in settings form, where users can add settings as key-value list like
  - name: path
(for instance:
 Dropbox: /Users/user0/Dropbox
 GoogleDrive: /Users/user0/GDrive
 CorpShare: smb:///server1/share1
)

The keys should be synced by TheBrain, values not (or values can be synced if the platform is the same)
On the other machine the user should select the path for empty keys.

Quote
mcaton
ihudak,

Thank you for posting and sharing your thoughts.  There would be much more behind the scenes work to do in order for a sync to work with Dropbox. 

A simple file-based sync does not work properly for a Brain database for many reasons. For instance, many large files are modified in small but interdependent ways when the database is changed. Thus, a file-based sync is not only very inefficient, but also prone to corrupting the database. (When for example, the same database file is modified in two different places at once, a file-based sync will have no choice but to ignore one of those changes - likely corrupting the entire database!)

Additionally, there are factors beyond just the visible data that need to be kept in sync, such as index information, internal IDs that are different across machines, and so on.

This is why DropBox and other file-based sync services will work, but cannot be relied on since they tend to lead to corruption as soon as: 1) Changes are made to the data from more than one place at a time or 2) A sync is only partially completed before changes are made at the receiving computer. Worse yet, the database may only become partially corrupted so that you do not find out about the problem until weeks or months later when you cannot easily revert to a backup.

We recommend backing up your Brain on TheBrain Cloud. If syncing to TheBrain Cloud is not an option for you, a .brainzip backup is the next best thing. .BrainZip backups, however, need to be created manually.

Dropbox is a great service and they have managed to scale it to a huge number of users, however, syncing files and folders is far far simpler than syncing brains. A brain is a complex, interconnected network of nodes built on a database backend, it's not as simple as syncing individual files. The sync of brains is a highly specialized piece of engineering that we have literally been working on for over 10 years.

Thank you,
Matt

Quote
Cerebrum
mcaton wrote:
syncing files and folders is far far simpler than syncing brains
Isn't ihudak talking about syncing files rather than syncing brains?
Quote
Harlan
Matt, I don't think Ivan is suggesting that Brains be synced via dropbox, just that we incorporate a way to add links to files that are synced via dropbox.

Essentially, the idea is to add the ability to specify different types of external attachments and allow the root location of those external attachments to be configured on a per machine basis. That's a nice way to enable working with items in dropbox, other sync services, and even network drives as Ivan points out. We'll document this feature request.
Regards,
-Harlan
Quote
ihudak

Thank you Gentlemen,

you are right. The idea is about external attachments.

I am really missing this feature as linking files by their absolute path can work only if you have machines with absolutely the same directory structure (which cannot be the case if you have Mac and PC).

I would really appreciate if you drop me a hint when to expect such feature.

One more note about Harlan's response. There is no need to specify attachment types for each attachment. Actually, there is no need to know that file is from Dropbox and another is from OneDrive.
I am talking about key-value settings, where "key" is some ID (or nickname) for a resource, and "value" is the path, which is the root-folder for relative links. When a file is dropped as linked-attachment into a thought, TheBrain can detect by the absolute file-path, which resource it belongs to.

 

For instance:

TheBrain.Windows:
 key: myServerPath; value: \\file-server.corporation\share\documents

TheBrain.MacOS:
 key: myServerPath; value: smb://user@file-server.corporation/share/documents

If I drop file \\file-server.corporation\share\documents\MyFirstProject\Presentation.pptx on Windows machine, I will open on my Mac via TheBrain (the path will be smb://user@file-server.corporation/share/documetns/MyFirstProject/Presentation.pptx).


The keys should be synced to all instances of TheBrain on all machines that I use. The values should be configured manually every time I install TheBrain on a new machine.
and it's really unimportant what is behind that directory that I set as the value: could be DropBox, or corporate share or whatever. The only important thing is that it's not TheBrain's responsibility to take care of syncing of the content of that directory.

This feature is even more important for the corporate users whose security rules do not permit the attachments to be stored in TheBrain cloud, but at the same time Thoughts with those attachments have to be synced and shared.

Quote
Harlan
I understand your request. When I wrote "types of external attachments", I didn't mean attachment type but rather the user specifed "key" as you refer to it. [wink]

It's a good idea and we are planning to add something that will address this need. Sorry, but as always, we cannot provide dates on future features until they are essentially ready to be delivered.
Regards,
-Harlan
Quote
vinylmeister
I'm also working on the Windows and Mac platform and have a need to share external attachments via a network drive (preferable google drive)
Quote
DrBop
A quick +1 to this request. You don't have to be on different platforms to gain the advantage from a consistent relative link. My laptop and desktop share an identical Dropbox structure. So I was really surprised to get the "File not found" error message when clicking a link created on the other. Anyway, it will be a pleasure -- and a great enhancement to TheBrain -- to have file links work across machines without thinking about on which one they were created! 
Quote
shatcher
Hi Don,

TheBrain looks at the absolute filepath, not the relative path. If both computers have the Dropbox folder in the same path, but you have a different username, then the absolute path is different, and the file will not be found. This means C:\Users\Sean\Documents\file.txt is a different path from C:\Users\hatcher\Documents\file.txt . Relative paths look at the part after your username.

While using absolute paths for the files does reduce flexibility, it increases the speed of access.

Cheers, Sean
Quote
pshanks
We get around this by adding a Symbolic link to the machines have different directories structures.

TheBrain Beta 9.1.13.0, iOS V9.0.4.0, TheBrain 8.0.2.2
Windows 10 (V1803), Windows 7 SP1, OS X V10.13.5
Using The Brain since V3 (1999)

Quote

Add a Website Forum to your website.

Newsletter Signup  Newsletter        Visit TheBrain Blog   Blog       Follow us on Twitter   Twitter       Like Us on Facebook   Facebook         Circle Us on Google+  Google         Watch Us on Youtube  YouTube       

TheBrain Mind Map & Mindmapping Software     Download TheBrain Mind Mapping Software