Forum OpenACS Improvement Proposals (TIPs): TIP #145 Allowing symlinks for APM package scanning

Request notifications

What about patching the APM package scanning mechanism to cover symlinks to package directories *outside* of the "packages" dir?

Here is a straightforward patch which honours the fact that there are target platforms which do not allow for symlinking.

I personally use this to test my package developments in different OpenACS installations/setups (e.g., HEAD, a specific branch) without cloning the package sources into the "packages" directory (e.g. via a SCM tool) of each and every installation. This is especially useful if the packages under development are not monitored by the same SCM as acs-core is (i.e., CVS) ... so that the SCM tools do not interfere.

For deployments, this might be interesting to share a set of package directories between OpenACS instances.

Comments? Objections?

Collapse
Posted by Stefan Sobernig on
To follow-up:

a) A revised patch which supports link values (e.g., ../) relative to the "packages" dir. We could also limit the support to symbolic links also (where supported, by passing the "-symbolic" flag to [file link]).

b) This could also become an optional feature, activated by an APM package parameter, e.g.: "AllowSymlinks" or the like.

Collapse
Posted by Torben Brosten on
Stefan,

Does this also add the capability for scanning the installation/www directory tree for changed xql files within an installation for reloading without a reboot?

Collapse
Posted by Stefan Sobernig on
Torben,

No, it does not, I am afraid. To be honest, I have hardly used xql-based query management in my development projects, my experience with it equals to zero. So, I cannot really comment on your request ...

Collapse
Posted by Dave Bauer on
Actually with package extension and template reuse, there is little need to put XQL files in /www anymore.
Collapse
Posted by Torben Brosten on
You're right, Dave. I just realized I haven't been using xql files in /www lately. The queries are usually custom and so just added to the tcl file.

Anyway, I can't vote, but symlinks seems useful.