Feature Wiki

Information about planned and released features

Tabs

Streamlining Mediacast and Mediapool

While this feature request outlines some very vaulable suggestion, it is too epic. In order to become jf-ready this feature requests needs to be broken up into separate parts which then also merit some more conceptual work. 

1 Initial Problem

Mediacast and Mediapool both offer upload forms for videos/images/audio.

The main differences are:
  • The Mediacast defines a "description", while Mediapool & Page Editor define a "caption".
  • The Mediacast can make assumptions about the mimetype according to the Mediacast type (i.e. Video/Audio/Image). Therefore only settings will be available, which make sense for the mimetype.
  • The Mediacast allows to configure a Preview Picture, while Mediapool and Page Editor take the reverse approach of defining a Full Screen Resource.
  • Mediacasts do not allow for uploading subtitles /srt. 
Differences like these can lead to confusion and create a steeper learning curve. Implicit knowledge about one form cannot be transfered to the other form.

It is also quite obvious, that the php code of both component isn't reused, potentially increasing the maintenance effort for both components.

All differences are highlighted with color.

MEDIAPOOL & PAGE EDITOR: INSERT MEDIA OBJECT

  • Title
  • Resource -- mediapool "resource" equals mediacast > "file"
    • File
    • URL
  • Format -- read-only, only when EDITING objects
  • Size
    • Original Size
    • Adjust Size
  • Caption -- mediapool > "caption" equals mediacast > "description"
  • Parameter -- only when EDITING objects
FULL SCREEN
  • Resource
    • None
    • Use the same resource as above
    • File
    • URL
  • Size
    • Original Size
    • Adjust Size
  • Caption

MEDIACAST: ADD NEW ITEM / EDIT ITEM

  • Title
  • Description -- mediacast > "file" equals mediapool "resource"
  • Play Time
STANDARD MEDIA FILE -- mediacast > "file" equals mediapool "resource"
  • Value -- only visible when editing items
  • File (File Input)
  • URL
  • Preview Picture (Image File Input)
    • Delete Existing File -- only visible, if preview image exists

2 Conceptual Summary

Streamline the upload forms of Mediacast and Mediapool and introduce a common implementation, which covers all current possible variations.

Suggestions

  • Mediacast "description" and Mediapool & Page Editor "caption" should be the same thing
  • The Mediapool & Page Editor should perform a mimetype selection or detection in step 1 and then present the same form as the Mediacast in step 2
  • The role of "Full Screen Resource" should be reversed for Mediapool & Page Editor - with some form of legacy handling
  • The setting "size: original | adjust" will become a local property of references to a media object (in the page editor) - i.e. it will be dropped for global instances in the media pool.
  • References to a media object (in the paged editor) will acquire a new setting "use preview resource and allow magnification".
  • The preview resource will default to the main resource - allowing for simple down-scaling + magnification.
  • Mediacast should allow for uploading subtitles / srts. 
Migration
  • Media Objects (of Mediapool and Page Editor) will perform the following swap (ONLY IF a full screen resource is defined)
    • former "full screen resource" will be the new "main resource"
    • former "main resource" will be the new "preview resource"
    • any reference to this media object (in the page editor) will get a flag "use preview resource and allow magnification" (which at the same time enables the "magnify feature" showing the main resource)
  • If there is NO "full screen resource"
    • the main resource will stay the same
    • the preview resource will refer to the main resource (as is the default for new media objects)

Note

  • A different caption/title for fullscreen-videos will be dropped! This feature currently exists for Mediapools and page editor, but not for Mediacasts.
  • For new Media Objects in Mediapool and Page Editor it will only be possible to define a Preview Picture. Preview Videos and Preview Audios will only be supported for legacy content. They can be deprecated in future ILIAS versions to consolidate the code base. -- OR do we want to keep this functionality?

3 User Interface Modifications

3.1 List of Affected Views

  • Mediacast > Add New Item
  • Mediapool & Page Editor > Insert Media Object

3.2 User Interface Details

The process of adding items to Mediacasts or Mediapools will happen in two steps.

The first step will ask for all settings that are common for video-, image- and audio-files (titel, description, and a Resource-File or -URL). The next step will ask for details depending on the Mimetype of the Resource.

ADD NEW ITEM - step 1

Accordeon: File

  • File
Accordeon: URL
  • URL
Accordeon: Mediapool
  • ... select from media pool
Button "Next" (or "Continue")

ADD NEW ITEM - step 1b

  • If the mimetype cannot be detected, the user can either set it manually or abort

ADD NEW ITEM - step 2

MEDIA ITEM

  • Title [________] (pre-filled from file name / URL)
  • Description  [________]
  • Resource
    • (x) File
      • [Select File - Dropzone]
    • ( ) URL
      • Resource URL [________]
VIDEO SETTINGS
  • Play Time -- detected, read-only
  • Preview Picture
    • (x) Keep -- only visible (and selected) if a preview image exists already (e.g. after first creation/upload of a video (step 1) a preview image may be generated automatically from second 1, if another feature request gets implemented. A thumbnail version of the current preview image is shown underneath.
    • ( ) Extract from Video
      • Second [1]
    • ( ) Replace with File
      • [Select File - Dropzone]
    • ( ) None -- replaces delete of current Mediacast Items. Selected, if no preview image exists.
FULL SCREEN
  • (x) Enable Full-Screen (default: yes) -- this replaces the current implicit option of Mediapool objects (Full Screen > Resource = None)
  • Resource -- the sub-resource mimetype must comply with the main-resource mimetype
    • ( ) Keep -- only visible (and selected) if this sub-resource exists already.
    • (x) Use the same resource as above -- replaces the delete option of Mediacast items. Resets the sub-resource mimetype and size option. Selected, if no sub-resource exists yet.
    • ( ) Replace with File
      • [Select File - Dropzone]
    • ( ) Replace with URL
      • Resource URL [________]
  • Mime Type [Dropdown] -- defaults to "automatic detection", if no sub-resource is set
  • Size -- does this make sense?? Do we need an option "as above" here too?
    • (x) Original Size
    • ( ) Adjust Size
      • Custom Size (for portable devices) [__________]
  • --  a different caption/title for fullscreen-videos will be dropped! This feature currently exists for Mediapools and page editor

-- Note: there will be no Play time or Preview Picture for images. Thus, the section "VIDEO SETTINGS" doesn't have any equivalent for images.

MEDIA ITEM

  • Title [________]
  • Description [________]
  • Resource
    • (x) File
      • [Select File - Dropzone]
    • ( ) URL
      • Resource URL [________]
FULL SCREEN -- does this make sense for images???
  • (x) Enable Full-Screen (default: yes) -- does this make sense for images???
  • Resource -- the sub-resource mimetype must comply with the main-resource mimetype
    • ( ) Keep -- only visible (and selected) if this sub-resource exists already.
    • (x) Use the same resource as above -- replaces the delete option of Mediacast items. Resets the sub-resource mimetype and size option. Selected, if no sub-resource exists yet.
    • ( ) Replace with File
      • [Select File - Dropzone]
    • ( ) Replace with URL
      • Resource URL [________]
  • Mime Type [Dropdown] -- defaults to "automatic detection", if no sub-resource is set
  • Size -- does this make sense?? Do we need an option "as above" here too?
    • (x) Original Size
    • ( ) Adjust Size
      • Custom Size (for portable devices) [__________]
  • --  a different caption/title for fullscreen-pictures will be dropped! This feature currently exists for Mediapools and page editor

--note: FULL SCREEN version for Audio files will be dropped (it is currently possible to define an alternate full screen version of audio files in Media Pools)

MEDIA ITEM

  • Title [________]
  • Description [________]
  • Resource
    • (x) File
      • [Select File - Dropzone]
    • ( ) URL
      • Resource URL [________]
AUDIO SETTINGS
  • Play Time -- detected, read-only
  • Preview Picture -- can we introduce this within budget, or must this be another feature?
    • (x) Keep -- only visible (and selected) if a preview image exists already. A thumbnail version of the current preview image is shown underneath.
    • ( ) Replace with File
      • [Select File - Dropzone]
    • ( ) None -- replaces delete of current Mediacast Items. Selected, if no preview image exists.

ADD NEW ITEM - step 2b

  • The user can set a new main resource. If the mimetype cannot be detected, this is equivalent to "step 1b". If the mimetype varies from the previous mimetype, the user can either switch the objects mimetype (potentially loosing settings), or abort. ALTERNATIVELY we could prevent changing the mimetype and ask the user to delete and create a new item instead.
  • If the mimetype of small devices or full screen resources cannot be detected, the user is asked to set it manually or abort. If any sub-resource mimetype varies from the main-resource mimetype, the sub-resource will be rejected.

3.3 New User Interface Concepts

-

4 Technical Information

{The maintainer has to provide necessary technical information, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues.}

5 Privacy Information

{ Please list all personal data that will need to be stored or processed to implement this feature. For each date give a short explanation why it is necessary to use that date. }

6 Security Implications

{ Does the feature include any special security relevant changes, e.g. the introducion of new endpoints or other new possible attack vectors. If yes, please explain these implications and include a commitment to deliver a written security concept as part of the feature development. This concept will need an additional approvement by the JourFixe. }

7 Contact

8 Funding

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

9 Discussion

Killing, Alexander [alex], 29 Aug 2022: I like some of the ideas, but this FW is currently "epic", meaning too many topics. Please create separate ones, e.g. for caption/descripton, creation process, srt support, fullscreen handling/migration.

10 Implementation

{The maintainer has to give a description of the final implementation and add screenshots if possible.}

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Approval

Approved at {date} by {user}.

Last edited: 30. Aug 2022, 12:02, Tödt, Alexandra [atoedt]