Feature Wiki

Information about planned and released features

Tabs

Additional Data for Page Editor Plugins

1 Initial Problem

The instance properties of Page Component Plugins are saved in the XML of the content page where an instance is created. This automatically supports copy and export/import by default and is suitable in many cases.

But some page plugins need to store more data, e.g. files, media or large data sets which would blow up the XML of a page. Examples:

  • A media plugin may support specific media types or playback modes.
  • Another page component plugin should make plugin question types available on learning module pages, e.g. the STACK question. The definition of such a question uses its own tables.
The problem comes when a page is coped or exported and imported. Then the additional content has to be treated, too.

2 Conceptual Summary

The ilPageComponentPlugin class should get an onClone() function with parameters for the old and the new page element. This function will be called when a plugin page component is copied and can be overridden by the plugin.

Page components plugins should be able to write additional data or files to the export of a page and should be able to import them when the page is imported. The implementation details have to be clarified with the maintainers of the COPage  and Export services.

3 User Interface Modifications

3.1 List of Affected Views

None.

3.2 User Interface Details

None.

3.3 New User Interface Concepts

None.

4 Technical Information

This feature is related to Services/CoPage and Services/Export.

5 Contact

6 Funding

DHBW for the optes project

7 Discussion

Killing, Alexander [alex], 27 Apr 2017: I support the general idea.

JourFixe, ILIAS [jourfixe], May 22, 2017: Highly appreciated and scheduled for 5.3

8 Implementation

August 19, 2017:

  • Pull request created: https://github.com/ILIAS-eLearning/ILIAS/pull/612
  • Test plugin enhanced: https://github.com/fneumann/TestPageComponent

Test Cases

Test cases completed at August, 19, 2017 by Neumann, Fred [fneumann]

C18555     Lernmodul-Inhalt mit Test-Plugin erzeugen             
C18685     Lernmodul-Inhalt mit Test-Plugin kopieren             
C18686     Lernmodul-Inhalt mit Test-Plugin löschen             
C18687     Lernmodul-Seite mit Test-Plugin kopieren             
C18688     Lernmodul-Seite mit Test-Plugin löschen             
C18689     Lernmodul-Seite mit Test-Plugin exportieren und importieren

Approval

Approved at 24.8.2017 by Anja Richter (DHBW).

Last edited: 26. Sep 2018, 20:10, Wischniak, Stanislav [wischniak]