As the holiday approaches I would like to make an Adapt wish list with the two things I would like the most in upcoming versions.
They are actually a bit related and would be especially nice to have if you need to make translations of your courses.
My first wish is: Persistent IDs.
The IDs of components, blocks, articles and content objects are MongoDB ObjectIDs.
This means that any copy of a course, either made by just copying it in the AT or exporting and importing it, will have all new IDs.
Any IDs entered by hand – e.g. start lists or menu locking – will have to be reentered by hand.
But if you do translations you also end up with CSV files whose IDs are no longer correct. And there is no simple or safe way to replace the IDs.
If there were a dedicated ID for the items that was not tied to the database and this ID was used for generating the course JSON files, the problem would be solved.
A nice extra would be if you could enter ID values in the AT.
They could be initialized with the current MongoDB value when first created, but if you were able to edit them in the AT, you could enter IDs relevant to the course.
In both translation and QA, I would like to use IDs relating to the course storyboard. This would make it a lot easier to navigate a course with 3.000 lines of text in the CSV files.
People are of course always a source of errors and there should be some checking of the uniqueness of the IDs. It could either be a custom validator on the field in the AT or a build-time check (which may already exist).
I know that there has been some talk about this before, but I do not know if it is on the roadmap.
My second wish is: Real asset file names.
Any asset file uploaded to the AT is assigned a file name on the server derived from a sha1 hash of the file.
From here the original file name is in reality lost forever – it is stored in the title field of the asset record, but this can be edited by users.
I have a few issues with this.
Again translation: assets can be language specific – bitmaps can have text or symbols, VTT-files are by nature language specific, videos may have language content etc.
And the asset file names are not only no longer descriptive of their content or role in the course, they are also hard to read:
Instead of “introduction.mp4” you get “0ebf6f3e272749769a879953acd227f6b5a813be.mp4” and instead of “module_3_section_1_image.jpg” you may get “1dcbbf0f889d5a6bc4331c0dc5cbd9b04c646fa9.jpg”…
Not so great for the person making the translated versions, and it is not too motivating to tell a Computer Graphics Artist that his “module_3_section_1_image.jpg” now is referred to as “1dcbbf0f889d5a6bc4331c0dc5cbd9b04c646fa9.jpg”.
In the asset manager you can see the original name of e.g. a JPG image (if it has not been altered) and the image itself – but you cannot see the internal filename which makes it difficult to link the two – and that may be necessary as translated versions have to use the internal name.
To overcome this, we have made system of grunt scripts, that can map between the internal and original file name through the new exported “assets.json” file, but it is not ideal.
I would really like that the AT kept the original file names!
It would make the above-mentioned problems go away, and if you need to work with the exported JSON-files, it makes looking at asset links so much easier.
But I also believe it would benefit the general work with assets in the AT.
Today you cannot replace an asset in the AT, and this can be a bigger pain than it may seem…
- We make a course for a client and the course contains 16 videos.
- The client reviews the course and finds that the logo embedded in the video is too small.
- We make new videos, and now we must upload a new set of 16 videos, but we cannot overwrite the old ones.
- We must upload the new ones, mark the old ones as deleted (they still clutter the asset manager) and relink to the new ones in the components where they are used.
I do not know why the current system was designed like it is, and I may overlook something.
But conceptually I believe that using the original filenames and make an upload of an asset with the same file name as an existing one, overwrite the existing file (proper warning issued of course) is easy to understand.
Most people know it from their operating system – you replace a file by overwriting it with a similar named file.
These are the things I want for Christmas.
I hope they can be an inspiration for anyone working with these issues in the Adapt AT.