Start a new topic
Implemented

One image cache per database

It would be great, if we could (optionally?) have multiple image caches.

Maybe simply save the cache-path in the database related json-files, instead of helium.json?


Why?


Two users, each with its own database:

Whenever the database is changed, Neon has to re-create the cache, which is very slow. If each database has its own cache, this would speed up the starting time.


-----


My personal use-case: Sharing one database on multiple computers

I could easily synchronize my main database from my work-computer to my HTPC without troubles when switching databases.


Right now sharing one database on two computers is a pain in the *#$, because thumbnails won't show up on the second computer - the image path's are stored in the database, but the thumbnails don't exist...


The background images are shown, while thumbnails are missing right now:




Or do you just mean that all default paths should be moved out from user to %appdata% instead?

That could of course be a simple solution (have you tried to set the cache to that folder?)


Edit: I still think the folder needs be be shared/accessible from another machine so will %appdata% really help?

A network share/UNC path should work better, I think?

I don't want to move the cache outside of %appdata% and I don't want to use a UNC path.


I want to create a subfolder in the old cache folder - but my computers have different users.


So when I set the folder to "c:\users\user_xyz\appdata\roaming\imploded software\helium\cache\subfolder", this will work on my first computer

But I cannot use this database on my second computer, since this folder does not exist there - and cannot be created.

The folder would have to be "c:\users\user_abc\appdata\roaming\imploded software\helium\cache\subfolder" on that machine.


To get it working on both machines, I have to use a variable and set the path "%appdata%\imploded software\helium\cache\subfolder" - so I tried this path (set manually in the database with phpMyAdmin), but Neon crashed.


The main problem is different usernames...

Ok, so the requirement is that you can use dynamic variables that are evaluated in runtime?

If so I will check if it is possible..

Well, hold you horses, if I think about it, this might lead to another issue - what happens when two users on the same machine share one database - there will be two caches created which will get out of sync!!!

Maybe it's best to use another folder outside %appdata% - like c:\programdata\.

I think it should be up to the end user to define, so by implememting support for %appdata%, %programdata% which will be evaluated during runtime, the most cases should be covered.


Addendum: This will of course require another UI for the change of the existing path and non-readonly fields when creating new DBs..

It's up to you how to set the default path, but think about the average user, testing the free version, then buying a license and trying to share the database - he shouldn't run into any issues or you will have to support many unhappy customers... ;-)

 

You can try with:

http://files.helium.fm/helium_12.0.14112.0.exe


This version will default to %programfiles%\imploded software\helium\cache


You can also enter either %APPDATA%\path or %PROGRAMDATA%\path when creating/changing the paths to use a fully dynamic solution.

In case the cache has been changed, it may be a good idea to automatically move all files to the new path.

Please add that as a future feature request, the initial goal now is to ensure that dynamic cache paths works (I'm testing it right now and it needs a few days).


Login or Signup to post a comment