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:




That's some good points, as an optional choise.

Introducing the cache path in db.json is possibly enough.

Well db.json just holds the latest used db, so to create multiple caches you need to save the paths also in recentXYZ.json, don't you?


Good: let me manually change this in the json-files.

Perfect: add this into the "Create XYZ database" dialog in "Library management".

Yes, most likely. I think it needs som further testing. The best is of course to implement the minimal solution (change via json files) and if it works, expose it in the UI.

I have made some furthe research and I think that the most optimal is most likely to store a custom path in the DB.

This will ensure that data will not be out of sync between recent.json and db.json as well as the in-use in helium.json.


I will test more...

Database was my first thought, but that makes it even more important to configure this through the GUI.

Yep, configuration should be:

1) Via library management

2) (possibly) when creating the DB

1) It would be great, if I could edit the database settings anyway.
Right now there's no way to do this, is there?

2) When creating set a (changeable) path %appfolder%\Imploded Software\Helium\cache\%dbname%
In this case, when the user does not change this setting, a quick startup is guaranteed.

1) No, thats not possible. For this fix a new property will be added, no full editing will be implemented since that's a totally other thing :)


2) I will set the default path so the user does not need to change it

1) Well, full editing is not necessary, but changing the user / password would be nice.


2) Great.

Implemented in:

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


Description:

-Existing databases will not have any value set, hence they will default to the default cache path

-You can change the path from library management (this will require a restart). The new value will be stored in the DB

-When creating new SQL Server and MySQL databases you can force a path directly from the dialog

Do you use %appdata% variable in default paths?
If not, this might become a problem when sharing a database with multiple computers / users.
The default path is the users roaming folder as before. This is mainly choosen because of how the free version limitations will work. Users with a licensed version will be able to change this as needed
Well, the folder itself is not the problem - but you need to create the folder as "%appdata%\Helium\cache\folder_xyz" and not as "c:\users\user_xyz\appdata\roaming\imploded software\helium\cache\folder_xyz".

Absolute paths may not be accessible on a different computer, because the user will most probably not share the same username...

I just tried this and Neon crashed.

>>I just tried this and Neon crashed.

What case did you test?

I tested myself by setting the cache to an UNC path and that worked.

Login or Signup to post a comment