matthius
Hi Everyone,

I've recently tried to make the leap to v9 and ran into an issue that has stopped me in my tracks. I've reached out to TheBrain Support, but there isn't currently a solution. I thought I'd post here and see if anyone else has encountered this issue and found a workaround that works for them.

Here's my problem:

I have a pretty large brain with ~15,000 internal attachments. I'm on a Mac, so I don't have any practical restriction on the lengths of my filenames. Everything works and syncs fine in v8, but when I migrated my brain to v9, I found that I couldn't sync to the server.

It appears that v9 limits the filename for attachments (including the full path) to 150 characters. TheBrain v9 has a handy report you can run to show you how many attachments exceed this limit. Unfortunately for me, the vast majority of my attachments exceed this limit.

When I reached out to TheBrain Support, they suggested moving TheBrain's storage location closer to the root of the file system so that the path takes up fewer of those 150 chars. It appears that for some reason it can't actually store brains in a subdirectory of root, but something small like /a/b/ works.

Sadly, even after doing this, I still have ~10,000 attachments that exceed the 150 chars limit.

There is no practical way, I can rename 10,000 files manually, and using a script to truncate the files names en mass would cause substantial, if not catastrophic, loss of meta-data for me. I use the long filenames to hold useful information like document identifiers, and names of people who have signed documents, etc. Also many thoughts contain multiple similarly named files that would truncate to the same thing and require manual intervention.

Has anyone encountered this problem before and found a solution that works for them?

Best wishes,
 - Matt
Quote
metta
You wrote: "v9 limits the filename for attachments (including the full path) to 150 characters"

Did support say anything about the feasibility of providing a long-term solution to this issue? Specifically, increasing the total number of allowed characters in attachment file names?
Quote
mctrexler
First time I've heard about this.  Good Lord (I have >25,000 attachments).  Did find that report, but still haven't figured out how to get TB9 to recognize me as a PRO user, which is required.  Will get that tracked down ASAP.  

So I take it that since every attachment is preceded by this path:

C:\MCT\Brains\Climate Risk Brain_brain\Files\423D6A09-C73F-B346-B209-A315F865FD9F  I have 70 characters left for the file name itself.  At least in my case that's probably sufficient, although I may have many files that currently exceed it.  


Since I'm assuming this is a significant change from V8, any idea of why it was done? 

Mark
Quote
matthius
It didn't sound promising to me. They said that the path length limitation currently absolute, but that they planed to research these limitations for future builds. I'm hoping that if it effects enough people, they'll prioritize it. 

metta wrote:
You wrote: "v9 limits the filename for attachments (including the full path) to 150 characters"

Did support say anything about the feasibility of providing a long-term solution to this issue? Specifically, increasing the total number of allowed characters in attachment file names?
Quote
matthius
Yeah, that's right, so changing the storage directory to something like C:\MCT\b\ would free up a bunch of characters for you. The directory format for v9 internal storage a bit different too. It's <path to brains>/UXX/BXX/<guids>/. I'm guessing that UXX (U01 in my case) is a users folder and BXX (B01 and B02 in my case) are for each brain, but I never asked them about this. The new path structure is more efficient in terms of character usage because the brain's name is not used in the path - I'm guessing this is not an accident.

I have no idea why they chose to restrict the filenames like this in v9. I believe that some Windows APIs have character limitations on the path, and since they switched to native APIs from Java APIs in v9, they probably encountered this limitation on Windows platforms. My best guess is that they just crippled the other OS implementations to match the lowest common denominator, but I never asked them why they did it.

What really boggles my mind is that there are known workaround to that limitation on Windows, and their backend infrastructure clearly supports long filenames, so it shouldn't be an insurmountable issue.

I asked if they could add a switch that let me voluntarily drop compatibility with Win32 systems and just sync the long named files, but they didn't bite. If they could do this, in theory, it would be a fast fix for them in the short term that would buy themselves time to implement a more permanent solution for Windows users. 

To be clear, the limitation isn't on the local implementation (at least not on a Mac). My brain imported to v9 without issue, it just won't sync to the server. The problem is that I really need that feature. To the best of my knowledge, no short path limitation exists on iOS or Android, so in theory, everything I need would sync fine if they just dropped that syncing limitation. Given that they use databases to store pretty much everything, I don't think it would be difficult for them to support file names of arbitrary lengths on their backend.

I really hope that they can fix this, or at least find some kind of workaround, I'm basically dead in the water with v9. I'd rather not be the guy running v8 in a VM years from now. [wink]


mctrexler wrote:
First time I've heard about this.  Good Lord (I have >25,000 attachments).  Did find that report, but still haven't figured out how to get TB9 to recognize me as a PRO user, which is required.  Will get that tracked down ASAP.  

So I take it that since every attachment is preceded by this path:

C:\MCT\Brains\Climate Risk Brain_brain\Files\423D6A09-C73F-B346-B209-A315F865FD9F  I have 70 characters left for the file name itself.  At least in my case that's probably sufficient, although I may have many files that currently exceed it.  


Since I'm assuming this is a significant change from V8, any idea of why it was done? 

Mark
Quote
matthius
Has there been any progress made on this?

In the meantime, can you guys please at least tell us how to disable the v9 download nag screen that pops up every single time we open TheBrain? In addition to being irritating, it prevents my brain from syncing.

I have a script that opens my commonly used applications at the beginning of the day so everything can download/sync while I get settled in. Now I have to wait for TheBrain to finish loading just so I can click "no" and allow my brain to sync. I know this is a minor annoyance in the scheme of things, but whatever happened to just trying to make your users' lives easier and more productive? Why must I endure this irritation at the start of every day?

As a side note: What kind of UX hack really thinks that showing users the same damn nag screen hundreds of times accomplishes anything but pissing them off? (perhaps the same one who forgot that it wasn't 1995 anymore and that in 2018 many users can, and do, use long filenames - but I digress). In any event, trust me, if I could upgrade without destroying tens of thousands of carefully named files, I would. In the meantime, please stop harassing me every time I sit down to work!
Quote
metta
+1 for disabling TB9 nag screen

I keep getting the nag screen even after having installed TB9.

(Would be preferable if the nag screen system could detect if TB9 was already installed on the user's system.)
Quote
mcaton
Thanks for posting.  

First, regarding the message that v9 is now available (when you launch v8). You can click on Options > Preferences and on the General tab, uncheck the option for Check for Major Updates on Startup.  No more v9 availability reminder will appear.

Next, regarding the long file names issue.  We're aware of this being a concern for some users, particularly macOS users that may have not had constraints of a file path length in the past. In order to remain cross platform compatible, and be compatible with our Microsoft Azure Servers when syncing, we must adhere to the Windows file system rules.

Thank you,
Matt
Quote
metta
Thanks for your follow-up and help, Matt.

Appreciate your clarification regarding the long path/file names along with the option to disable the TB9 notification message.
Quote
Harlan
Some further clarification regarding long file names: 
  • Filenames can be up to 150 characters. This number is not reduced by the length of path of the folder location. 
  • The origin of the problem is the Windows file system. While workarounds do exist, they do not work for all software. This means that if we did use a workaround you would still not be able to open long file name attachments in external software applications. Not much point to having an attachment in your brain if it can’t be opened...
  • This length limitation was not enforced on V8 and the result is that sometimes those files cannot be used unexpectedly. Errors occur when you try to open them, move them, copy them, etc. It’s not good. By staying in V8 you risk running into this issue if you are running on Windows. In other words: the problem still exists on V8, you just might not realize it is a problem because V8 does not actively warn you and prevent it from causing issues.  
  • The reason the length limitation is also enforced in macOS also is to keep all brains to be cross platform capable. If we didn’t do this each brain would have to be specific to a certain OS. This would be confusing and inconvenient at best.
Regards,
-Harlan
Quote
metta
Thanks, Harlan. Additional clarification always appreciated.
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