• last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Document behavior: the assumption that one can derive the filename from the api is not correct in case of copies

Revert https://cvs.openacs.org/changelog/OpenACS?cs=oacs-5-10%3Aantoniop%3A20240423144330

currently, file-storage will copy files by simply copying the revision entry of the new file from the original one. This means that copied files will in fact point to the same filesystem file of the original.

This "works" because the file-storage api will currently never delete a file from the filesystem, so deleting the original file will not affect the copies.

This behavior is probably not ideal, but we won't address it before the release, as to change it will most likely require some careful planning, in particular for existing installations.

Prevent sneaking symlinks in the content repository

Many thanks to Thomas Rennner and Günter Ernst for analyzing the issue

cr_write_content reform

when serving files, do not trust the content information, as the absolute path to the file can be determined programmatically in this case.

This also reduce divergency between Oracle and Postgres

deprecate unused command cr_check_orphaned_files

Cleanup of external binaries: always use "util::which" to resolve binaries

Furthermore, this change makes the handling of "identify" consistent

with "convert". Before, the parameter "ImageMagickIdentifyBinary"

could not be modified via the parameter settings, only

"ImageMagickConvertBinary" was defined.

Bump version number to 5.10.1b3 to pick up additional parameter.

  1. … 1 more file in changeset.
Handle differences in data-model between oracle and postgres, where oracle uses an additional filename column in the cr_revisions table when a revision points to a file

Many thanks to Josue Cardona for reporting the regression

Increase proc coverage

    • -1
    • +31
    ./test/content-revision-test-procs.tcl
Reitroduce missing query clause that should be executed when we retrieve the content of a text/* content item

Test that when content::item::get_content is called on a text/* mime typed content-item, an extra "text" attribute should be returned in the result array

This currently fails because of a missing query in the xql

Test content::item::get_virtual_path

This will expose a logn standing bug where the root_folder_id argument is ignored

Extend test suite

Test content::item::get_root_folder

Remove broken line (non-existing arguments)

Increase api coverage, this uncovered a bug in content::item::unpublish

Test content::item::get_publish_date

Extend test to include content::item::get_path

Whitespace cleanup

Test content::item::get_descendants

    • -1
    • +115
    ./test/content-item-test-procs.tcl
Disable tests to check for executables on the system

    • -16
    • +20
    ./test/acs-content-repository-procs.tcl
  1. … 7 more files in changeset.
Prefer binary from parameter as everywhere else

Test external command line dependencies

    • -1
    • +17
    ./test/acs-content-repository-procs.tcl
fix incorrect names in .xql files

Fixed missing update_content-lob.set_content

Added missing set_content SQL statement for updating revisions stored in LOBs.

This statement was already missing in the release of OpenACS 5.10.0.

LOBs are for PostgreSQL somewhat depreacted and these are just there for

legacy applications.

    • -2
    • +9
    ./content-revision-procs-postgresql.xql
improve spelling

  1. … 9 more files in changeset.
Replaced "ns_mktemp" by "ad_tmpnam" to ease code maintenance

The underlying C library API for "ns_mktemp" is deprecated

for security reasons, we will have to do something about it.

  1. … 5 more files in changeset.
Deprecate content::revision::update_attribute_index

Deprecate template::util::array_to_vars and template::util::vars_to_array: their functionality can be easily inlined by using the array command

  1. … 3 more files in changeset.
Properly escape "<" and ">" in api-doc documentation.

Since all documentation is rendered via HTML, the characters

"<" and ">" have to be HTML-quoted, otherwise strange things

(omission, unintended renderings) might occur.

E.g. the sentence

Define an interface between a page and an

ADP <include> similar to the page_contract.

was rendered as

Define an interface between a page and an

ADP similar to the page_contract.

which is incorrect.

  1. … 13 more files in changeset.
Use security::csp::add_static_resource_header

bump version number of acs-content-repository to 5.10.1d4

  1. … 1 more file in changeset.