Feature Wiki
Tabs
Fully LOM-conformant Metadata
Page Overview
[Hide]1 Initial Problem
While Moving LOM Metadata Editor to Kitchensink, we figured that the code underneath is a) not fully LOM conformant and b) due to its age not really up to snuff.
2 Conceptual Summary
Services/Metadata is to be re-implemented more or less from scratch, building on what was started for in the project Moving LOM Metadata Editor to Kitchensink. This includes:
Rectifying Conformance
- Restructuring the il_meta tables, which currently impede LOM conformity by forcing certain MD elements to be unique, while they should be non-unique according to the LOM standard (General: Coverage, Educational: Learning Resource Type, Intended End User Role and Context, Meta-Metadata: Metadata Schema, and Technical: Requirement: OrComposite).
New Database interface
- Implementing a new database interface according to the Repository Pattern. This will help make the code more maintainable: It simplifies unit testing, and goes a long way to structure the code more clearly by concentrating database accesses into a single class.
New Public Interface
- Currently there is no documented API. However a public interface supports maintainer of other ILIAS components or services to understand the Metadata Service. Let alone developers of other software packages.
- Providing a clean public interface makes it easier to read and edit metadata from other components.
Implementation of Repository Pattern for LOM-Metadata
The dependency of other components on Services/Metadata also necessitates a few other changes, including in
- import/export of objects,
- copying objects and
- creating new objects,
- and in the search.
3 User Interface Modifications
3.1 List of Affected Views
Note that this leads to small interface changes in the new LOM editor: some forms will be replaced by tables, as the corresponding aforementioned elements can properly be treated as non-unique.
3.2 User Interface Details
No changes in interface
3.3 New User Interface Concepts
No new interface concepts
3.4 Accessibility Implications
No user interaction
4 Technical Information
All existing usages of the old classes of the Metadata-Service in other components need to be replaced with the new API. Changes need to be made in many components, the main consumer is the Object-Service.
5 Privacy
No changes
6 Security
No forseen security issues.
7 Contact
- Author of the Request: Tödt, Alexandra [atoedt]
- Maintainer: Meyer, Stefan [smeyer]
- Implementation of the feature is done by: Schmitz, Tim [tschmitz]
8 Funding
If you are interest in funding this feature, please add your name and institution to this list.
- …
9 Discussion
JourFixe, ILIAS [jourfixe], 20 MAR 2023: We highly appreciate this suggestion and schedule the feature for ILIAS 9.
10 Implementation
This Feature is be partially implemented for ILIAS 9, and will be completed for ILIAS 10: the new API, a database repository, and a bunch of related infrastructure is implemented in ILIAS 9, as well as 'Rectifying Conformance'. The API is described in this README. The new infrastructure is already used for all new Metadata-related developments.
The old classes of the Metadata-Service will finally be abandoned in ILIAS 10. This includes changes in Search, Import/Export, and the Object-Service.
Update for ILIAS 10: The missing infrastructure to replace the old Metadata classes in Search, Import/Export, the Object-Service, etc. was added and exposed through the API. The old classes were set to deprecated, and will be deleted in ILIAS 11. PRs to switch from the old classes to the new API in consuming components will follow.
Due to the changes in infrastructure, a few LOM elements might potentially be handled differently in ILIAS 9 and 10, or disregarded altogether, if their value does not conform to the ILIAS standard (see also here):
- All elements of type datetime: In previous ILIAS versions, any string could be entered for datetimes, but ILIAS 9 expects values in the form 'YYYY-MM-DDThh:mm:ss.sTZD'. Not all parts of this format need to be present, 'YYYY-MM-DD' and 'YYYY' for example are also valid. The LOM editor in ILIAS 9 will ignore values that do not fit this format.
Further, for values that fit this format, only the date part is used, the time is disregarded. - 'Mozilla' as browser name: 'Mozilla' as 'name' under 'technical > requirement > orComposite' where 'type' is 'browser' will be ignored in the LOM editor in ILIAS 9.
In ILIAS 10, these elements will also not be exported and imported anymore, and 'Mozilla' will not be found as a browser name in the Advanced Search.
The affected invalid elements are not deleted, they can still be found in the database. When trying to read out one such element, ILIAS will write a corresponding 'info' to the ILIAS log, such that the element can be
corrected manually in the database if necessary.
Test Cases
Test cases completed at 2023-10-10 by Spirou, Ilias [ispirou]
- 1466 : Quick Edit: Adding LOM Metadata to Objects
- 1467 : Individual Metadata Sections: Adding LOM Metadata to Objects
- 1278 : Adding LOM Metadata to ILIAS Learning Modules (Module, Chapter, Page)
- 6973 : Allgemein
- 6974 : Lebenszyklus
- 6975 : Meta-Metadaten
- 6976 : Technische Angaben
- 6977 : Pädagogik
- 6978 : Rechte und Lizenzen
- 6979 : Beziehung
- 6980 : Anmerkung
- 6981 : Klassifizierung
Approval
API part approved at 2023-10-12 by Falkenstein, Rob [rob]
Approved at 13.10.2023 by Solzbacher, Bettina [BettinaSolzbacher].
Part "Repository Pattern" approved at 2024-07-22 by Mersch, André [amersch]; Schmitz, Tim [tschmitz] please add the implementation notes as agreed
Last edited: 29. Jul 2024, 17:56, Schmitz, Tim [tschmitz]