• last updated 7 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Refactor content repository backend

The refactored code is a first step to become able to provide plugins

for backends for storing content in different systems. Instead of

using switch statements to distinguish between backends "file", "lob"

and "text", procs with a suffix of the storage name are provided

now. Essentially, by providing process with additional suffixes can be

used to provide additional storage systems.

In addition, the deletion handling was also refactored such that the

non-scalable functions iterating over all items (such as

"cr_check_orphaned_files") will become obsolete. This is imporant for

content repositories with double and triple digit terabytes.

    • -0
    • +8
  1. … 16 more files in changeset.
Merging back to HEAD branch oacs-5-8 (using tag vg-merge-oacs-5-8-from-20141027).

    • -0
    • +17
  1. … 2547 more files in changeset.

- new public function "cr_cleanup_orphaned_files" to clean up orphaned

files incrementally based on cr-file creation log

- added "cr_cleanup_orphaned_files" to "cr_delete_scheduled_files"

to perform cleanup automatically

- new function to handle cr-file creation log, which is used to

removed orphaned files (created by aborted transactions)

- the function "cr_check_orphaned_files" can still be used

for cleaning up orphaned files from times before the

cr-file creation log was in place (that is from the birth of

OpenACS until now).


- new function "ad_mutex_eval" for safely executing

tcl commands under a mutex lock

    • -9
    • +5
  1. … 5 more files in changeset.
- use external command "find" instead of tcllib package fileutil for speed and better filtering

- add index for much quicker reverse lookup file names in the content repository

    • -0
    • +21
  1. … 6 more files in changeset.
file acs-content-repository-procs-postgresql.xql was initially added on branch oacs-5-8.

    • -0
    • +0