The function fs::publish_versioned_object_to_file_system ignores file_name parameter.
I solve this poblem with the next code:
if {[empty_string_p $file_name]} {
# After upgrade change title and filename...
set like_filesystem_p [parameter::get -parameter BehaveLikeFilesystemP -default 1]
if { $like_filesystem_p } {
set file_name $title
if {[empty_string_p $file_name]} {
if {![info exists upload_file_name]} {
set file_name "unnamedfile"
} else {
set file_name $file_upload_name
}
}
} else {
set file_name $file_upload_name
}
}
db_1row select_object_metadata {}