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:




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).


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

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.

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... ;-)

 

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..

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\.

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..

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...

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 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.

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.
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
Do you use %appdata% variable in default paths?
If not, this might become a problem when sharing a database with multiple computers / users.

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

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


2) Great.

Login or Signup to post a comment