Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data Storage Directory #28

Closed
Shinmera opened this issue Jul 28, 2018 · 1 comment · Fixed by #29
Closed

Data Storage Directory #28

Shinmera opened this issue Jul 28, 2018 · 1 comment · Fixed by #29

Comments

@Shinmera
Copy link
Member

Currently Radiance does not provide a proper data storage directory where files and other upload data can be put that does not fit into the database.

Some existing modules like Filebox and Purplish abuse the mconfig-pathname to store files within the configuration directory, as storing them in the source root is not a good choice. However, this is clearly also not an acceptable way to handle things.

@Shinmera
Copy link
Member Author

So far I think this is going to need a breaking change. Namely we need to get rid of *environment-root* and instead handle the environment file resolution mechanism via a function that the user can override:

(defgeneric environment-directory (env type)) 

By default this function will consult XDG_CONFIG_HOME and XDG_DATA_HOME and fall back to ~/.config/ and ~/.local/share/ on unix, and consult %APPDATA% on Windows. Allowing different environment storage types will also help with #26, to provide an environment-based directory for template overrides.

Shinmera added a commit that referenced this issue Jul 31, 2018
The new system allows administrators to still control the storage of environment files, although now by supplying additional methods on a common function rather than merely controlling a special variable for the root. The new system also allows further kinds of files, such as generic runtime data and template overrides.

Unfortunately since the locations need to be changed in order to implement useful default locations for the newly distributed systems, we also end up breaking existing setups alongside the backwards compatibility that we lose due to the removal of *environment-root*.

[Compatibility Breaking] [Setup Breaking]
Shinmera added a commit that referenced this issue Aug 3, 2018
The new system allows administrators to still control the storage of environment files, although now by supplying additional methods on a common function rather than merely controlling a special variable for the root. The new system also allows further kinds of files, such as generic runtime data and template overrides.

Unfortunately since the locations need to be changed in order to implement useful default locations for the newly distributed systems, we also end up breaking existing setups alongside the backwards compatibility that we lose due to the removal of *environment-root*.

[Compatibility Breaking] [Setup Breaking]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant