acs-content-repository-callback-procs.tcl

Callback procs for acs-content-repository

Location:
packages/acs-content-repository/tcl/acs-content-repository-callback-procs.tcl
Created:
2005-06-15
Author:
Malte Sussdorff <sussdorff@sussdorff.de>
CVS Identification:
$Id: acs-content-repository-callback-procs.tcl,v 1.8 2018/08/15 16:24:28 gustafn Exp $

Procedures in this file

Detailed information

callback::subsite::parameter_changed::impl::acs-content-repository (private)

 callback::subsite::parameter_changed::impl::acs-content-repository \
    -package_id package_id -parameter parameter -value value

Implementation of subsite::parameter_changed for acs-content-repository. This is needed as we can change the CRFileLocationRoot parameter. As the cr_fs_path is stored in an NSV we would need to update the NSV the moment we change the parameter so we don't need to restart the server.

Switches:
-package_id
(required)
the package_id of the package the parameter was changed for
-parameter
(required)
the parameter name
-value
(required)
the new value
Author:
Malte Sussdorff <malte.sussdorff@cognovis.de>
Created:
2005-10-29
See Also:

Partial Call Graph (max 5 caller/called nodes):
%3 apm_package_key_from_id apm_package_key_from_id (public) parameter::get_from_package_key parameter::get_from_package_key (public) callback::subsite::parameter_changed::impl::acs-content-repository callback::subsite::parameter_changed::impl::acs-content-repository callback::subsite::parameter_changed::impl::acs-content-repository->apm_package_key_from_id callback::subsite::parameter_changed::impl::acs-content-repository->parameter::get_from_package_key

Testcases:
No testcase defined.
[ hide source ]

Content File Source

ad_library {
    
    Callback procs for acs-content-repository
    
    @author Malte Sussdorff (sussdorff@sussdorff.de)
    @creation-date 2005-06-15
    @cvs-id $Id: acs-content-repository-callback-procs.tcl,v 1.8 2018/08/15 16:24:28 gustafn Exp $
}


d_proc -public -callback subsite::parameter_changed -impl acs-content-repository {
    -package_id:required
    -parameter:required
    -value:required
} {
    Implementation of subsite::parameter_changed for acs-content-repository.
    
    This is needed as we can change the CRFileLocationRoot parameter. As the cr_fs_path is stored in an NSV we would need to
    update the NSV the moment we change the parameter so we don't need to restart the server.
    
    @author Malte Sussdorff (malte.sussdorff@cognovis.de)
    @creation-date 2005-10-29
    
    @param package_id the package_id of the package the parameter was changed for
    @param parameter  the parameter name
    @param value      the new value
    
} {
    ns_log Debug "subsite::parameter_changed -impl acs-content-repository called for $parameter"
    
    set package_key [apm_package_key_from_id $package_id]
    
    if {$package_key eq "acs-content-repository" && $parameter eq "CRFileLocationRoot" && $value ne ""} {
        nsv_unset CR_LOCATIONS CR_FILES
    
    # Take the directory from the FileLocation parameter that 
    # must be specified in acs-content-repository package.
    set relativepath_p [parameter::get_from_package_key -package_key "acs-content-repository" -parameter FileLocationRelativeP]
    set file_location ""
    
    if {$relativepath_p} {
        # The file location is relative to $::acs::rootdir
        append file_location "$::acs::rootdir/"
    }
    append file_location [parameter::get_from_package_key -package_key "acs-content-repository" -parameter "CRFileLocationRoot" -default "content-repository-content-files"]
    
    nsv_set CR_LOCATIONS CR_FILES "$file_location"
    
    } else {
    ns_log Debug "subsite::parameter_changed -impl acs-content-repository don't care about $parameter"
    }
}

# Local variables:
#    mode: tcl
#    tcl-indent-level: 4
#    indent-tabs-mode: nil
# End: