chamilo-lms icon indicating copy to clipboard operation
chamilo-lms copied to clipboard

No resources in backup file

Open lonesomewalker opened this issue 5 years ago • 5 comments

Describe Exporting and importing a Chamilo course is not possible on the same platform

To Reproduce ??? Problem is: on 11.chamilo.org everything works, so this might have 2 reasons:

  • either this is already fixed (but i don't think so)
  • it is a server setting, but then the error message should be more informative

Desktop (please complete the following information):

  • OS: Win/Linux/Mac
  • Browser: Chrome, Firefox, Edge

**Server

  • OS: Debian latest
  • Version of Chamilo: 1.11.10 release PHP7
  • Version of PHP: 7.3 Debian

Additional context Really annoying is: if you export a course, you can see the content in the zip file. Also bonus: if you export from 11.chamilo.org, you can easily import this to other platforms.

Either the export functionality changed or it is a server thing.

lonesomewalker avatar Mar 09 '20 14:03 lonesomewalker

Debugging step 1: course_info.dat seems to have sufficient format. base64_decode shows a lot of serialized data.

Starting with: O:48:"Chamilo\CourseBundle\Component\CourseCopy\Course":9:{s:9:"resources";a:10:{s:18:"course_description";a:4:{i:9;O:69:"Chamilo\CourseBundle\Component\CourseCopy\Resources\CourseDescription":9:{s:5:"title";s:7:"restore";s:7:"content";s:2307:"<p>...

I also notice that there are several occurances of hard coded paths, like: s:17:"course_public_url";s:58:"https://... or: s:25:"course_image_large_source";s:49:"/var/www/chamilo/app/courses/WB120/course-pic.png"

lonesomewalker avatar Mar 09 '20 14:03 lonesomewalker

Okay, bug can be reproduced.

If you have checked WHITELISTING filetypes, course_info.dat matches as DANGEROUS.

Seriously? Yes, it is a regex match, but how to imort courses otherwise? Consider this a bug :-)

lonesomewalker avatar Mar 09 '20 15:03 lonesomewalker

It could be environment related, as I export/import from the same plaatform. It's worth testing the imported course as some elements sometimes have to be reloaded (mainly images), but this is quite sporadic my side. ---Edit---- An extra thought (night helps sometimes...). Is your course made via Chamilo's integrated authoring tool? Otherwise, you need to modify the configuration file as, for security matter, SCORM export/importis not allowed by default.

Coursenligne avatar Mar 10 '20 07:03 Coursenligne

In short: Add warning in course import to check if the file extension is considered dangerous and show the appropriate message:

if (!empty(api_get_setting('whitelist')) and in_array('.dat', preg_split('/;/', api_get_setting('whitelist')))) {
    Flash::display($message);
}

Message: "Although this file might have been generated through the same software, your security settings currently prevent .dat extensions to be uploaded to this platform. Please ask your administrator to allow the .dat extension in the security settings."

ywarnier avatar Dec 04 '20 11:12 ywarnier

Course copy is improved and checked with this ticket https://github.com/chamilo/chamilo-lms/issues/6958

christianbeeznest avatar Nov 06 '25 21:11 christianbeeznest