Forum Discussion

DanGoodall's avatar
DanGoodall
Community Member
2 years ago

Storyline 360 zip packages "missing" folders in "story_content"

Howdy,

I'll preface this by stating that I don't have Articulate myself but support a number of elearning developers who do and am familiar with how elearning development tools work, SCORM packaging etc.

 

Course wouldn't play on Workday:

We recently migrated to Workday as our LMS and have found a peculiar issue that seems unique to the Storyline 360 product.

A brand new course was created that contained some slides with video content. This course was uploaded to Workday and it failed to play past the first slide (you would just see the 3 "loading" dots). Using dev tools, I could see that a .m3u8 file, that was in a hls folder "video_5hMXO84aCgj_48_960x490.hls" under the "story_content" folder could not be found (404 error). 

 

But the same package played fine on SCORM cloud and Cornerstone LMS:

Oddly enough, this same exact SCORM package worked without issue when loaded into SCORM cloud or our Prior LMS Cornerstone.

 

Missing Files?

To test a bit further, I opened the SCORM package by double clicking it in Windows and couldn't see any folders in the story_content folder. Extracting it by right clicking the zip and choosing extract also resulted in no folders appearing there. However, if I used 7-zip to browse or extract the SCORM package, the folders appear. If I then rezip it and upload to Workday, the course plays without issue.

I've never seen anything like this, the files don't have a "hidden" or system attribute from what I can tell, they just can not be viewed or extracted properly by the built in Windows file compression tool (and I'm guessing the tool that Workday uses to extract media packages).  Again, 7-zip is able to extract them without issue. 

 

Known zipping issues with Storyline 360?

Does anyone know if there are any issues with the way Storyline 360 creates and zips it's SCORM packages?

 

Screenshots:

Below are some screenshots from another course we published from Storyline 360 just to see if we could reproduce the issue from another person's machine. 

1> Windows Compressed Folder Tools only sees 2 files in "story_content"

2> Extracted using Windows "Extract All", still just 2 files. 

3> Extracted using 7zip - the folder finally appears

At this point, I can just zip the course back up using any tool I wish (even the built in windows compression tools) and it will work in any LMS I load it into.

This seems to indicate that Windows can compress the course contents fine, including the "missing" folders, there just seems to be something odd happening if you allow Storyline to handle the zipping itself.

I do want to report this to Workday, perhaps they can change how they media packages get extracted so that the problem is a non-issue as it is on SCORM cloud, but because I can replicated it so easily even in Windows makes me there there's a problem to fix at the publication level as well. 

 

Bonus:

I do realize this is a weird issue, and may not be Articulate specific. This was the only reference I could find online to this issue, but the issue is also odd in that it may take some a/b testing of compression tools to even see what's happening (it would have been easy for me to just to blame Workday at the start, for example). 

https://answers.microsoft.com/en-us/windows/forum/all/folders-missing-in-downloaded-compressed-file-in/257db594-e158-4a80-b3bf-ce237ea2b76c

 

***

I have attached a sample package "Test Non Proprietary.zip". If you view or "Extract All" this using Windows you'll just see some files under "Story_Content".  If you use a tool like 7zip instead the missing folders will also be extracted. 

I also attached  "Test Non Proprietary(UnzipedWith7Zip_RezippedWithWindows).zip" which just shows that I can unzip it and then rezip the course using standard windows zipping functions and the folder is clearly visible. I wasn't sure if the period in the folder name was tripping up windows zip (if that's what Articulate uses) but that does not appear to be the case. 

  • probably the dot in the folder name "/video_nnnn_1280x720.hls/" triggers the whole thing

    UPDATE: Articulate should change the foldername to "/video_nnnn_1280x720_hls/" (without a dot) - perhaps this could fix the problem

    • DanGoodall's avatar
      DanGoodall
      Community Member

      Hi Jürgen! yes that's what I was thinking as well as I personally try to avoid using special characters (and spaces) in filenames and folders for anything I'm putting on a webserver.

      It is doubly odd that the files are technically there, however, and can be extracted by 3rd party compression tools without issue. And if I just immediately zip it back up the issue is "fixed".

      Articulate likely includes their own compression tool and pass some pre-defined attributes to it when it runs, I'm hoping:

      1 - This isn't just an "us" issue (corporate software conflicting/causing problems)

      2 - The fix is easy (zip tool included with 360 updated to a new version, or a command line tweak for each time it's run)

       

      I'm assuming the folder names (or at least the .hls part) are decided on by Articulate? When I watched the publication process on a screenshare I saw it going through the process of encoding the .ts files/creating the 'playlist' within the folder, I don't think our developer had any control over this. 

      If anything, it's interesting to see a product utilize .ts files and playlists for video playback like this vs a single progressive download mp4 as I don't think i've seen other development tools using this method. 

      Thanks for your response :)

      •  
  • >Articulate likely includes their own compression tool and pass some pre-defined attributes to it when it runs, I'm hoping:

    they use the standard zip library of from .net

    >I'm assuming the folder names (or at least the .hls part) are decided on by Articulate?

    yes - they can change it without any problem, the name of the folder has nothing to do with the video

     

     

    • Jürgen_Schoene_'s avatar
      Jürgen_Schoene_
      Community Member

      just testet on my computer - storyline creates zips with corrupt paths

      story_content/video_5dJkuFDWbAc_56_640x360.hls/./main.m3u8

      => "Workday" seems to proof the zips internal and don't ectract files with corrupt paths

      they respond to a broken zip correctly - I would have rejected it completely even with such a zip

       

  • DanGoodall's avatar
    DanGoodall
    Community Member

    Here's a screenshot showing the invalid /./ in the folder path within the story_content folder

  • DanGoodall's avatar
    DanGoodall
    Community Member

    Update:

    Workaround, configure Storyline 360 to use static video streaming instead of adaptive. Even though adaptive doesn't require any special technology (it's not utilizing actual streaming services that require server support) there still is a problem with the folder structure it is causing problems for some applications when they try to extract the zip package contents.

    Storyline 360: Streaming Video - Articulate Support

     

    Hopefully Articulate will see this and determine how their SCORM packaging is creating invalid zip files when utilizing adaptive streaming. 

  • Hello, I appear to be having a similar issue. I have a published course file that I tested in SCORM cloud. The course worked fine in the SCORM cloud testing environment; however, when uploading to our LMS, I'm receiving errors stating the Zip file is invalid. It appears that the publishing process is turning the video files into .hls files and creating folders instead of actual assets. Within the actual course file, there are edited MP4 files. Any thoughts or supports would be helpful. 

  • Hi Autumn Cash Rose,

    Thanks for reaching out and I'm sorry to hear you've hit this snag!

    Which LMS are you using? There may be other users in our E-Learning Heroes community who have experienced this issue and may have some insight. Additionally, since your course plays as expected in SCORM Cloud, I'd recommend getting in touch with your LMS administrator for further assistance!