opencast-ilias / OpenCast

Opencast plugin for ILIAS LMS. The plugin shows a Opencast series as an ILIAS object. This version of the ILIAS plugin for Opencast is operated and developed collaboratively by a community. The University of Bern acts as coordinative maintainer.
GNU General Public License v3.0
13 stars 14 forks source link

Copying an Opencast object in ILIAS is not what the user expects, it is almost the same as a link. #43

Open reiferschris opened 2 years ago

reiferschris commented 2 years ago

Describe the bug In ILIAS copying an object usually results in a completely independent object with the state at the time of the copy. All subsequent changes only apply to the copy and do not affect the original object. Copying an opencast object within in ILIAS has therefore very unexpected behaviour for the user. Changes to the copy of the opencast object still point to the exact same opencast-series and changes are made in both the original and the copy.

To Reproduce Steps to reproduce the behavior:

  1. Copy an Opencast object within ILIAS
  2. change something in the series (edit metadata, delete an event, change series title etc.)
  3. Observe it change in the copy and the original

Expected behavior Usually a copy detaches the state at the time of copying which does not happen in the case of opencast-series

Environment (please complete the following information): all versions are affected

Proposition Disable or make the possibility to copy the opencast-object configurable. Linking (deutsch: Verknüpfen) is sufficient in this case and more in line with the expectation the user should have. This is something that could be prohibited somewhere in the plugin.

What do you think about this? Have you seen Issues with this behaviour? Is that something that can be disabled somewhere within ILIAS without changing code, if yes we should add documentation for that.

dagraf commented 2 years ago

Edit (16.5.2024):

Thanks @reiferschris for starting a discussion about this topic. I think there is indeed a need for a better solution for which I think we should meet and talk about. Because at the moment you can both copy or link a series with different effects:

1. When linking a series (via "Action" > "Link"): All settings of the original series and the new 'linking series' are identical. The user is NOT told so in the tab "Settings" and in the tab "Info" the existing "Repository Links" are shown under "Additional informations" (see screenshot):

Bildschirmfoto 2022-06-20 um 16 31 32

2. When copying a series: Only the title, description and licence are identical in the original and the copied series. The user is told so in the tab "Settings" and in the tab "Info" it is indicated at the very top that there is a "Link" in ILIAS (see screenshots):

Bildschirmfoto 2022-06-20 um 16 31 59 Bildschirmfoto 2022-06-20 um 16 31 44

3. When choosing "Existing series" while creating a series: Only the title, description, and license are identical in the original and the 'new' series. The user is directly informed so after having inserted the new series when redirected to the tab content, is also told so in the tab "Settings" and in the tab "Info" it is indicated at the very top that there is a "Link" in ILIAS (see screenshots):

Bildschirmfoto 2024-05-16 um 09 06 58 Bildschirmfoto 2024-05-16 um 09 06 14 Bildschirmfoto 2024-05-16 um 09 06 58

Some thoughts (edit 16.5.2024):

dagraf commented 5 months ago

I suggest we get rid of the right "Copy" during the work on https://github.com/opencast-ilias/OpenCast/issues/14. I'm curious to hear anyone's opinion here.

dagraf commented 5 months ago

Looking at https://github.com/opencast-ilias/OpenCast/issues/43#issuecomment-1160530482 I additionally suggest to try to streamline the two remaining options to insert a new link to an existing series. My suggestion would be, to go with the actual behavior of "3. When choosing "Existing series" while creating a series" and adjust the behaviour of "1. When linking a series (via "Action" > "Link")".

@chfsx & @ferishili: What are your thoughts here? Would that be feasible?