Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: imported series #151

Closed
loewis opened this issue Jul 30, 2020 · 26 comments
Closed

Feature request: imported series #151

loewis opened this issue Jul 30, 2020 · 26 comments
Assignees
Projects

Comments

@loewis
Copy link

loewis commented Jul 30, 2020

It would be desirable that importing the block from another course would only change the ACLs on the series, rather than creating a new series and copying all videos. The advantage would be two-fold

  • storage requirements decrease

  • links to the video imported from the other course (either through the repository, or an LTI, or direct linking) would remain accessible after being imported into the new course along with the block

I propose that this is offered as an option on import, as an alternative to copying.

I then propose that the feature provided by introducing "imported series" into the block_opencast. Each block instance would have one "primary" series (as it does now), plus arbitrary many "imported" series. Adding and deleting will only be possible for videos in the primary series; Videos in imported series can only be turned visible/invisible (by changing the ACL).

As the database structure, there will be a table of course IDs that have been imported into a block. In the code, it will be possible to determine all series that have been imported, but also all courses that a series has been exported to. When a video is added to a series, its ACL reflects also the courses that the series has been exported to, giving true linking (in the sense that all modificiations to the source reflect in all importers).

In the UI, there are several alternatives for presenting the import. Clearly, the delete button is gone. Instead, it could be possible to add a link icon linking to the source block, or the source course where the video is imported from.

I'd be willing to implement this feature when I get an indication that such a change is agreeable.

@abias
Copy link
Member

abias commented Nov 12, 2020

Just as a quick note: I have just created a PR on #161 which realizes an import wizard.
I am aware that #161 does not fully solve this issue here, but it is worth mentioning anyway.

@loewis
Copy link
Author

loewis commented Apr 22, 2021

In a discussion today, a different implementation strategy was proposed. The import of the opencast block from an existing course shall create a block with the same series ID as the source course. In order to make a video visible, the ACL must be edited to make the video available to the new course, while not affecting ACEs for other courses. Additional requirements identified:

  • the feature must be optional, on a system-wide level, whether this kind of import shall be used.
  • it would be desirable to see, in the block, which other courses share the same series.

@ebbertd ebbertd added this to Near Future in Roadmap May 6, 2021
@ferishili
Copy link
Contributor

Hi @TamaraGunkel, could you please assign this issue to me?

@ferishili
Copy link
Contributor

ferishili commented Jun 14, 2021

Thank you. I would like to also ask if the feature (Opencast-Moodle/moodle-tool_opencast@61d15ee) works fine and I can use it for this feature?

@TamaraGunkel
Copy link
Contributor

Well, it's in development. It does already work to a certain extend but you can expect bugs (however mostly in the block not the tool itself).
I think its a design decision on your side. My plan is to include the series feature in the next release so you can use it.
However, I thought the import should be realized into an existing series?

@TamaraGunkel
Copy link
Contributor

If you want to realize the import by adding the existing series to a new course, this is possible with the new feature (and already implemented). The work left is how to handle ACLs for such series

@ferishili
Copy link
Contributor

The latest proposal is to use the existing series for the course which is imported to and since the feature of having multiple series for a course is there, we can only change the ACL accordingly.

@TamaraGunkel
Copy link
Contributor

Okay, then just keep an eye on the changes I'll make in the following days / weeks when you're using the new feature. And do you already have a branch for the new import feature?
If yes, I can monitor your changes so that we can easily integrate our changes

@ferishili
Copy link
Contributor

Not yet, I am trying to create the branch after it could have a proper end result, probably at the end of this week.

@ferishili
Copy link
Contributor

Hi @TamaraGunkel,
is it possible to add another column next to isdefault in the seriesmapping called "imported" in order to identify which course is importing the serie later on. The advantage would be that we don't need to have a new table for that anymore!
What do you think about that?

@TamaraGunkel
Copy link
Contributor

Could you explain your use case in more detail?

My idea was that we do not differentiate between source course and target courses. Teachers should be able to manage videos of series in every course. And e.g. when deleting a video they are getting notified of how many courses are using this series. This is already possible with the current structure.

@TamaraGunkel
Copy link
Contributor

Btw, I forgot to push my code regarding the series handling in the block. You can find the current implementation in the branch issue-169

@ferishili
Copy link
Contributor

According to the requested feature from Martin, mentioned in the comments above:

  • it would be desirable to see, in the block, which other courses share the same series.
    In case of import, we should differentiate between the source and the imported course becasue we share the same serie, in which the changes should only be allowed in the source and not in the course which is imported to.
    In this case, I though we need another flag "imported" to identify the import scenario. And to show it in the block later on.
    Correct me if I am missing something!

@TamaraGunkel
Copy link
Contributor

Yes, Martin described it like that. However, I'd rather take another approach where we do not differentiate between source and target course. There are pros and cons for doing it like Martin described. But that's something I'd like to discuss in the next OC-Moodle Meeting because we need a common ground for that.

However, as Martin's approach is the current understanding, go ahead and implement it. Just add a column in the table and create a pull request

@ferishili
Copy link
Contributor

You are right, as I thought about it, if a teacher can import series which he/she has created, then logically he/she should be able to change it everywhere!
It is better that I don't implement Martin's approach for now and see which approach will be decided later in the next OC-Moodle Meeting.

@ferishili
Copy link
Contributor

Hi @TamaraGunkel,
I would like to exchange info and ask a few questions regarding to this feature, please let me know how we can communicate other than here!
Thanks in advance.

@TamaraGunkel
Copy link
Contributor

Hey,
I wrote you an email.

@jonlan
Copy link

jonlan commented Jun 22, 2021 via email

@TamaraGunkel
Copy link
Contributor

Oh sorry, that was just an information for Farbod.

@ferishili
Copy link
Contributor

Hi @TamaraGunkel,
the draft PR of this feature is ready, please take a look at it on #212.
Thanks in advance.

ferishili added a commit to ferishili/moodle-block_opencast that referenced this issue Jun 25, 2021
@ferishili
Copy link
Contributor

This issue has been merged via #213
It relies on issue-169 branch.

@mwuttke
Copy link

mwuttke commented Aug 12, 2021

Hello @TamaraGunkel,

I would like to know what the status of the issue-169 branch is currently? Do you already have any plans to release this contribution?

Thanks & Greetings,
Michael

@TamaraGunkel
Copy link
Contributor

Hey,
I merged everything into the master branch last week as the development is almost finished.
I'm currently conducting some last tests and will fix minor open bugs until next week Friday.
However, after that I'll be on holidays for two weeks during which my colleagues have time to test everything as well.
As it's a major release, the development + testing takes some time.
But after my holidays (beginning/mid of September) I'll release the version including the feature for the import.

@mwuttke
Copy link

mwuttke commented Aug 16, 2021

Hello Tamara,
thanks a lot for your answer and have a nice holiday. ;-)
Thanks & Greetings,
Michael

@jojoob
Copy link
Contributor

jojoob commented Sep 14, 2021

I just tested the new release with the import series feature. I noticed that deleting a series (unlinking from course) does not change the ACL on the series and its episodes... Should I open an issue or is this behaviour intended?

@TamaraGunkel
Copy link
Contributor

Hey,
this is intended or at least not a bug. The behaviour is the same as before when you simply changed the series id the block (=nothing is done).
However, I would be fine with changing that. So if you think it is helpful, open an issue for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Roadmap
Near Future
Development

No branches or pull requests

7 participants