Forum .LRN Q&A: File-Storage Error in include template

Error in include template "/var/www/openacs/packages/file-storage/www/folder-chunk": can't read "root_folder_id": no such variable

file-storage File Storage 5.10.0d13 2017-08-06 Enabled Locally

What can I do to fix this?

Posted by Gustaf Neumann on
Hmm, the actual version of file-storage is 5.10.0d14, so d13 seems pretty new. Is this a new install, or have you updated your packages to a recent version?

I can't reproduce the problem on a fresh instance, "folder-chunk.tcl" sets the variable via an include_contract... so it should be set in this file. Can you provide some more details?

Have you fixed the your earlier problem with the filehandle?

Posted by Kenneth Wyrick on
This is a fairly recent install using your
openacs sussdorff/openacs 2021-02-13 16:43:04
I went to do an update and it already had this version.
If you email me I'd be glad to give you access.
Posted by Gustaf Neumann on
What is "openacs sussdorff/openacs 2021-02-13 16:43:04" ?
Posted by Siqsuruq Siqsuruq on
I think its an Docker image of OpenACS from Github
Posted by Gustaf Neumann on

Dear Kenneth,

Thanks for providing me access to your web site. I logged in, and got on /file-storage a different error message.

Error in include template "/var/www/openacs/packages/file-storage/www/folder-chunk": invalid command name "lc_content_size_pretty"

Therefore, i assume, some changes were done on the site after your posting. The error essentially means that the function called by file-storage is not defined. lc_content_size_pretty was introduced in acs-lang about 2 years ago by commit [1], which hints to a version conflict.

On this site, dotlrn is installed. The major involved components are:

acs-lang        ACS Localization    5.9.1
file-storage    File Storage        5.10.0d13
acs-tcl         ACS Tcl Library     5.10.0d44
dotlrn          dotLRN              2.9.1

The file-storage package is from oacs-5-10, also acs-tcl, but acs-lang (which is usually part of acs-core) is still from oacs-5-9.

To check, whether something is broken on new installs, I did a docker install of OpenACS based on Vlads work [2], did there an "install from repository" (checked xowiki and dotlrn), and got the following versions of the packages noted above:

acs-lang        ACS Localization    5.10.0d14
file-storage    File Storage        5.10.0d14
acs-tcl         ACS Tcl Library     5.10.0d44
dotlrn          dotLRN              2.10.0d8

So, part of of acs-core is from oacs-5-9, part is from oacs-5-10, dotlrn is from oacs-5-9, file-storage is from oacs-5-10. I wonder, why this is the case. In case, the site is a fresh install, i would recommend to reinstall it as sketched, or to upgrade the components (starting with the acs-core components, then a restart before updating the other components). Working with mixed version (especially in acs-core) is dangerous, since there are mutual dependencies, and the basic assumption is that the core is updated in one step (at least for major number upgrades).

Since i do not know about the history of this site, and the reasons, why things are setup as they are now, i did not changes there. I have not looked in detail into the docker setup of Malte, so i can't exclude that the version mix-up comes from there.

Hope this helps -gn