Problem HTML5: "index.html does not exist inside"

Operating System (e.g. Windows, MacOS, Linux): MACOS

Browser (e.g. Chrome, Firefox, Safari): Chrome

Channel (Name of the channel you were working on): SentiPensar

Description of problem:
I have create my channel at Kolibri Studio and I am trying to upload one HTML5 fold that I have exported directly from my articulate storyline, but it sends me the following message:

“index.html does not exist inside”.

Could you please help me understand the problem?

Hello @Bruna_Lobo,

My name is Samson, a core contributor at Learning Equality. You are very welcome to our community!

Regarding the issue you are experiencing, the error simply means that you are trying to upload HTML5 content without an index.html file. Consider an index.html file a landing page for your HTML5 content, that Studio defaults to when your content is loaded. Please verify that you have a file named “index.html” in the folder you are trying to upload (I presume that you zipped the folder before the upload).

To learn more about how to use HTML5 content in Studio, I recommend reading through the documentation provided here. The same link also includes documentation on other supported file types and how to use them.

Regards,
Samson

Hi Bruna, I had the same situation and resolved very easily in the following way:

  • Publish your storyline course
  • Browse the published folder files
  • Rename the file “story.html” as “index.html”
  • ZIP the folder
  • Use that ZIP with Studio

NOTE: when ZIPPING the folder, make sure the Zipped package has the same structure as when you ZIP the package directly with Storyline.

1 Like

@Antonio_Herrera, thanks for the additional context when using Storyline HTML5 resources. Hopefully, this should help resolve the issue you experienced @Bruna_Lobo.

@Antonio_Herrera , thank you!!! I finally got it. I finally got it. The problem was in the structure of the folders. When I changed the name to index.html, the order of the files changed.

@Bruna_Lobo, we are glad to know that the issue has been resolved. And thank you @Antonio_Herrera for sharing your insights into the issue.

Hi Leaning Equality Team,

I have a similar issue uploading SCORM content via Studio. I would like to test the capabilities of Kolibri with interactive SCORM content but I do not have any available yet. I downloaded as sample in SCORM 1.2, I believe Kolibri supports this version.

Link to the file is here
https://scorm.com/wp-content/assets/golf_examples/PIFS/RuntimeMinimumCalls_SCORM12.zip

I added an index.html file to the root but I still cannot publish. I also added index.html to each content subfolder. Any ideas?

I also tried some content from Articulate. The content structure looks like the image attached. there was no index.html. I added it and zipped it again. I get the same error

“index.html” does not exist inside “9618a195aca496174ae76eba84505e62.zip”

Hi, Do you have any feedback on this issue. Please confirm it has been seen.

Kind Regards,
Guy

Hi @Guy - welcome to the community forum, and apologies for the delayed response.

We support the SCORM 1.2 runtime API. It looks like the zip file that you’ve shared here has multiple different entry files in subfolders (for example the folder /Etiquette contains “Course”, “Distracting” and “Play”). While we’re working to improve the management of SCORM with multiple folders that may not have “index.html” as the entrypoint, we don’t support this yet via user upload. We have work in progress for direct upload of IMSCP packages you are working with, but it has not been launched yet.

Our best recommendation is to create a new zip, and that you select a single activity that you want, and make sure the relevant html file is renamed “index.html”.

Let us know if this works for you, or if you have additional questions.

Hello Everyone…I am new to this community .Looking forward to contribute in the organization

Hello Marcel,

Thank you for taking the time to respond and have a look at the issue. I tried to do what you said. I chose only etiquette I renamed course.html to index.html, zipped and uploaded. I got the same error stating no index.html file. I took it one step further and I removed all the other files within etiquette and left just index.html, course.jpg and questions.js. I still got the same error. Screenshot of both folder structures attached.

The IMSCP work looks promising, however it looks like it has stalled, all progress stopped in October 2023. Any idea if this is going to be revived and any idea of really rough timelines to launch e.g 6 months or 1 year.

Etiquette-index-and-other-files
scorm1.2-etiquette-course-only

Hi @Guy – I’ll take a look at the sample content in more detail and see if I can successfully get it to upload. I’ll let you know what I discover!

As for the IMSCP packages, the link I shared was part of an open source student contribution last summer. There is a small amount of additional work that would need to be completed by someone on our team before it is merged. It’s not targeted to a specific release yet, but I imagine sometime early next year. (I’ll be happy to follow up here with more details once we start planning our release timelines for early 2025.)

Hi @marcellamaki thank you for taking the time to look into the sample content in more detail. The IMSCP work sounds promising. Hoping we can test with some html5 interactive content once we can get some basic content to work. If you have any working simple content and more interactive content that we can upload and test with that could also be an option. We would then know it works if we follow the structures used.

Hi @Guy - thanks for your patience while I investigated.

I’ve put together a very basic sample of SCORM content, and I’ve confirmed that it works in Studio (you see a successful preview on upload) and in Kolibri.

Here’s a basic file structure that you can work from as you create your content:

/scorm-package
    /api/
        SCORM_API.js
    index.html
    imsmanifest.xml

A few tips:

  • make sure that the index.html is at this location, and do not have more than one index.html
  • don’t use nested folders
  • make sure there is alignment between the file paths referenced in the manifest and the actual file paths themselves
  • and, something I learned while figuring this out, is that you don’t actually want to zip the folder that your content is in, you want to just zip the content itself

For example, in my sample content, I don’t want to select and compress the folder ,

I navigated into the folder, selected the contents, and compressed the files themselves.

This ensures that your index.html file is available at the right path, and you will see the correct content preview when uploading to Studio

And that Learners are able to access the content in Kolibri, once it’s imported from Studio.

While the example is very basic, I hope this helps, and let me know if you have any further questions. Thanks again for your patience and I’m sorry for the wait!

Marcella

1 Like

Hi Marcella,

Thank you so much for all the effort. It has helped a lot. I went through the sample content and it worked. We really want to use richer content that is created by using services like Articulate from Rise. Using your suggestion I can get the content to work in web based mode, but we cannot track completion. I got the content to work in SCORM 1.2 format by moving the folders around and renaming certain files so that index.html is in the root and everything seems to work. However once completed, the content cannot be viewed again, when you click on the content after completion it loads with an empty page. The same thing happens if y9oui exit the content half way through. I have added a link to the content zip that I created.

The issue seems to be with the way the content is updating the LMS with progress.

E.g
In the browser console we can see the following when we reach a particular marker point

LMSSetValue called with path: cmi.core.lesson_location and value index.html#/lessons/5NbwK0xuSD8hJuq9vpiuVIjtiRIKpsSz

In the Kolibri logs we get the following that I assume is linked to the console output
INFO 2024-09-18 15:04:17,275 127.0.0.1 - - “PUT /api/logger/trackprogress/f194c7edf91875ce74b0d5a4842702ac/” 200 0 “http://localhost:8080/en/learn/” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0”

If we exit here and reload Kolibri seems to think the content can be loaded from the location set but a 404 is returned and can be seen in the console when the app tries to load the url below which matches what was in the console in the earlier session.

http://localhost:54792/content/zipcontent/scormcontent/index.html#/lessons/5NbwK0xuSD8hJuq9vpiuVIjtiRIKpsSz

It seems that the content anchor or marker points are being mismatched or saved incorrectly. It may be related to what you were saying imscp not being supported. If that is the case I guess there is nothing to do but wait for this work to be complete. If this is the case is there anyway I can be added to mailing list when this is released?