Forum Discussion
Translating entire Storyline files with an alternative method
Like Manuel and Jürgen, I've developed companion apps for Storyline and Rise 360 (due to forum rules, I can't mention these by name as it could be considered self-promotion). I tested my latest app using Manuel's files (thank you for posting these!) and I think I have a better understanding now of what is happening.
Here are the steps I took to get to my below hypothesis:
- I took Manuel's first Storyline file (English audio) and replaced the audio with my app. I then published the course and the replacement audio worked as expected (it was not the original audio but the replacement audio I chose).
- I then opened Manuel's second file, noted the French replaced audio, made no changes and published immediately. The audio that played was the audio I replaced in the first file - not Manuel's English file or French file that appears on the timeline.
- I went ahead and replaced the audio with my app on Manuel's second file with a copy of the French audio that I named differently. Again, the audio that played was the audio I replaced in the first file.
- And then to close out testing, I went back to the first file of Manuel's, replaced the original file's audio with my app again and... same result. The very first audio file I used played and not the new audio.
Here's my hypothesis in what might be happening in this specific situation. Please jump in and let me know where I'm wrong in my assumptions:
- The Storyline application uses an internal settings file. It is not a cache per se but rather a table that stores a unique ID for both external assets (audio, image, video) and internal assets (textbox, button, etc.) added to the application as a whole and not a specific .story file. One cannot simply delete the cache to 'cure this problem' - this internal file also stores application settings, etc. so you likely wouldn't want to delete it even if you could.
- The unique ID is likely a checksum of the file from my simple testing.
- Storyline seems to fetch a new ID only when the replace media function is called by the user. With the new ID added to the internal settings file, the course publishes as expected (the replaced audio is what you expect to see in the published version of the course)
- Items with this specific ID seem to be 'timeline bound' - it has to be placed on the timeline to get an ID. Captions do not live on the timeline but rather are added to another object so doing a replacement with my app has no problem.
- The ID is only 'checksum unique' and not truly a new ID created each and every time an asset is added. If that were the case, my experience above should not be repeatable (and perhaps it isn't but with the testing I did, it seems so - Manuel had the perfect example because the second file is a direct copy and not a new Storyline course.)
I think part of the solution to the problem would be to refresh the internal settings file. I can't think of a way to do this in how Storyline is programmed today. It would have to be an internal programming change. The developers wouldn't want to do the refresh often though because there would likely be a significant performance hit as every asset (external and internal) has an assigned ID.
I hope this all makes sense and leads to further discussion.
Thor
Now, with a little more testing, let's talk about a possible work around. It's not perfect but more on that in just a moment.
- Go to Publish Settings
- Change any of the audio settings (Audio bitrate or Optimize Audio Volume)
- Click Ok
- Click Publish
By making a simple change, Storyline will re-encode the audio and generate the replaced audio as expected.
Here's why it's not perfect - go back to Publish Settings and change your audio back to exactly as it was and then publish again. Surprised? The previous audio file plays. Change it back one more time to exactly what you had and publish again. Once again, the expected audio plays.
So... I mentioned earlier about the internal file with settings, but I also think there's an internal cache (stored locally) as suggested. This internal cache isn't in sync because "it only knows what it knows" and it's using that file checksum ID to find what's supposted to be there. When changing the audio, it forces a new file ID, and then publishes the audio as expected.
FYI - When publishing, I noticed a temporary file (temp1.wav) is created here (C:\Users\username\AppData\Local\Temp\Articulate\Storyline\{foldername}
but it wasn't the file I heard after publishing. It was, however, the file I wanted to hear. More to discover, right?
Thor
- ManuelBERRI4 years agoCommunity Member
Hi Thor,
Thanks for your insightful input. That is really helpful and I feel less alone!
Although this internal file with settings cannot be deleted, perhaps the internal cache -- wherever it is -- can be deleted.
If we can locate (and understand ?) both these files, we may find a suitable workaround to our problems.
Manuel
Related Content
- 7 months ago
- 10 years ago
- 7 months ago
- 6 months ago