Next, file-storage is lying about which extension table to use for auxiliary storage for acs_object type file_storage_object, with the result being that the standard content::* api will not work, and therefore you have duplicate code, etc etc...
Let's just straighten out that lie here. We will set the aux table to NULL. The following code goes in an upgrade script for file-storage:
update acs_object_types set
table_name = NULL,
id_column = NULL
where
object_type = 'file_storage_object';select content_type__refresh_view('file_storage_object');
select content_type__refresh_trigger('file_storage_object');
and the following diff alters the data model create script accordingly:
Index: file-storage-create.sql
===================================================================
RCS file: /cvsroot/openacs-4/packages/file-storage/sql/postgresql/file-storage-create.sql,v
retrieving revision 1.22
diff -u -r1.22 file-storage-create.sql
--- file-storage-create.sql 26 May 2005 08:28:45 -0000 1.22
+++ file-storage-create.sql 9 Sep 2009 03:07:44 -0000
@@ -52,8 +52,8 @@
-- first, before item metadata
'File Storage Object', -- pretty_name
'File Storage Objects', -- pretty_plural
- 'fs_root_folders', -- table_name
- 'folder_id', -- id_column
+ NULL, -- table_name
+ NULL, -- id_column
'file_storage__get_title' -- name_method
);