Forum OpenACS Development: Re: jiml's file storage fixes thread

Collapse
Posted by Jim Lynch on
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
 );