Feature Wiki

Information about planned and released features

Tabs

Correct version handling in file object

1 Initial Problem

The file object already supports versioning of files. One file object can contain several versions of a file. A new version of a file can be uploaded in an existing file object without getting a new permalink or reset permissions - which is a very helpful feature. Authors have the option to keep existing files which are still available for download on the 'Versions' tab, for example to show the change of a certain document. Or they can delete old ones and only publish the latest version of a document.

But this implementation has a conceptual problem from the very beginning of its implementation. If a new version is uploaded in an existing file object and the author do not want to make available older versions, the versioning number is reset to "1" instead of just set it to the next number. Effect is that several versions #1 exist for the same file. The version number is no longer a clear and reliable indicator. Especially in combination with the upcoming OER harvester this can lead to problems.

2 Conceptual Summary

The behaviour of setting version numbers shall be streamlined to the existing behaviour in SCORM modules. Suggested behaviour is:

  • ILIAS always increments version number for every new uploaded version - no matter if older versions are kept or deleted.
  • If older versions of a file are removed and only the latest version is available, the version number of this file is shown nevertheless.
  • The version number of file should be added to Metadata » Lifecycle to keep it when file object is exported.

3 User Interface Modifications

3.1 List of Affected Views

  • File » Info
  • File » Versions

3.2 User Interface Details

There is no real change of UI interfaces. Only the displayed number on the Versions tab will be different from the former implementation.

Example for a file with a new version (2) where former versions have been removed. Now, the real version number 2 would be displayed instead of a fake 1 at time being.

3.3 New User Interface Concepts

none

4 Technical Information

Schmid, Fabian [fschmid] 2018-05-01: I support this request in general and also think this needs some improvement. the feature would highly profit from a centralized storage, see Project: ILIAS Resource Storage Service (IRSS).

5 Contact

6 Funding

If you are interest in funding this feature, please add your name and institution to this list.

7 Discussion

JourFixe, ILIAS [jourfixe], 07 May 2018 : We highly appreciate this suggestion and schedule it for 5.4. We also appreciate Fabian's suggestion for a central file storage and ask all interested users for participate at a common crowdfunding for such an improvement.

8 Implementation

The ILIAS file object now uses extended data in the database to store the highest possible version in addition to the current version. This is the only way to ensure that the versioning works correctly with new uploads, regardless of whether a new version is to be created or the previous versions are replaced. Similarly, the mechanism for retrieving an old version had to be adjusted. Furthermore, the implementation was used to improve the FileObject regarding the use of the "public" interface.

The implementation on GUI level took place as described above.

Test Cases

Test cases completed at 04 OCT 2018 by Kunkel, Matthias [mkunkel]

  • C1910 : Neue Version hochladen - Alte Datei behalten (angepasst)
  • C24743 : Neue Version hochladen - Datei ersetzen 

Approval

Approved at 04 OCT 2018 by Kunkel, Matthias [mkunkel]

Last edited: 13. Oct 2023, 16:07, Kunkel, Matthias [mkunkel]