Feature Wiki

Information about planned and released features

Tabs

Metadata

1 General

Maintainer and Tester

 

Roadmap

Organize Constants

Reused constants should be collected into bespoke classes as appropriate, instead of being scattered across the component.

Get URI from Data Factory

Get URI from the data factory, instead of instantiating it directly.

Clean up Remains of Migrations for Ilias 10

With ILIAS 10, the migrations ilMDLOMConformanceMigration and ilMDCopyrightMigration can be deleted. To clean up the migrations, the following table columns should be dropped:

  • il_meta_general: coverage, coverage_language
  • il_meta_meta_data: meta_data_scheme
  • il_meta_requirement: operating_system_name, os_min_version, os_max_version, browser_name, browser_minimum_version, browser_maximum_version
  • il_meta_educational: learning_resource_type, intended_end_user_role, context
  • il_md_cpr_selections: copyright, language, costs, cpr_restrictions, migrated

Location Type

Check whether the field 'location_type' in the table 'il_meta_location' can be removed. Location type can be set in the old MD editor, but is not part of the LOM standard. It would be nice to get rid of it, should it not be used anywhere else in ILIAS.

Replace Generic Generators With Custom Iterators

A lot of generic generators are used throughout the component, along with quite a few usages of iterator_to_array. These should be gradually replaced by bespoke iterator classes.

Make Greater Use of Null Objects

null as a return type should be replaced by proper null objects. A good starting point might be Tags from Dictionaries.

Change default behavior for copyright

Currently, all objects without an entry for copyright in il_meta_rights are treated like having the default copyright. This special behavior has to be implemented in a variety of places (xml generation, copyright API, database search, ...), and makes supporting filtering for the default copyright in Lucene-search prohibitively complicated.

Requiring default copyright in new LOM sets would alleviate these problems, but would also mean more redundant information in the MetaData tables. It should be investigated how to progress here.

Stricter formatting of 'format' and 'entity'

The fields technical>format and the various entities should conform to different standards (e.g. entities should be vcards). This could be supported better in ILIAS, currently any string is valid.

Simplify Copyright Handling

Currently, the API leaves it to consumers to handle custom copyright and copyright presets differently from each other. It should be investigated how those two cases can be unified within the API, so that consumers don't need to worry about the difference, without making a mess.

The custom copyright string could e.g. act as the analogue of title, full name, and identifier of presets, but these concepts shouldn't get watered down too much.

Unify Presentation of Copyright

We are in danger of having too many modes of presentation of copyright in ILIAS. It should be investigated how presentation can be unified, while still being able to fit into the required slots in the KS (data table, properties in item, ...).

Allow INDEX path filters in search

It should be investigated, how path filters of type INDEX can be taken into account in the search, to allow for search queries like 'Find objects where the first author is Dr. No'.

These filters make translating the search queries to SQL much more complex, so the cost might outweigh the use.

Allow manipulation of LOM sets during derivation

The Derivator in the API could be expanded to contain methods like prepareOmit and prepareAddOrChange to allow changes to the derived LOM set before it is persisted. The repository would need to take into account more types of markers/scaffolds in transferMD.

Customizable LOM Digest

Customizing of LOM Digest could be made possible for plugins, in order to tailor the screen better to every installations configuration.

Clean up Elements Folder

Currently, the Elements folder does not have its own service, so creation of the factories contained therein is not centralized.

For the factories for elements and structure elements, centralization does not make much sense: those elements only make sense when created in bulk and corss-referenced (sub- and super-elements), but the factories only offer creation of single objects. The actual creation of elements in context is done by higher order infrastructure such as the repository. Those factories should thus only be created for that specific part of the infrastructure and not reused.

Factories for scaffolds, ressource IDs and data on the other hand can be reused just fine, and should be offered through a service. Markers are a special case, I'm not sure whether they are needed outside of the manipulator.

Internationalization of LangStrings

Elements consisting of a string and a language could be allowed to contain multiple such tuples, such that e.g. translations of the title can be stored in LOM.

This would need expansive changes to the database structure, and a new input element for multilangual text input.

Clean up Dependency Management

Most of the dependency management happens in the Services folders, but in some places Initiators are used in tandem with the Services. Either Initiators should be used consistently for every entry point into MetaData (and Services reserved for things used across 'sub-components'), or everthing should be done in Services.

Further, Settings should also be refactored to use Services properly.

Improve Unit Test Coverage

The following classes are not yet covered by unit tests:

  • everything in Editor, except Vocabulary
  • everything in Settings except Vocabularies\Import
  • GlobalScreen/ilMDKeywordExposer
  • Manipulator/ScaffoldProvider
  • everything in Paths
  • everything in Repository, Repository/Utilities/Queries/DatabaseSearcher, and Repository/Utilities/Queries/Paths
  • Services\InternalServices (along with all Services used by it), also all methods in Services\Services that don't do anything except lazily instantiate an object
  • Vocabularies\Standard\Assignment, Vocabularies\Controlled, Vocabularies\Manager, and everything in Vocabularies\Slots except ElementHelper
  • XML/Copyright, XML/Links, XML/Dictionary, XML/Writer/SimpleDC, and XML/Reader/Standard/Legacy
  • OERExposer/OAIPMH/HTTP, OERExposer/OAIPMH/Initiator
  • OERHarvester/RepositoryObjects, OERHarvester/Settings, OERHarvester/Results, OERHarvester/Initiator

 

2 Projects

The following projects are planned or have been realised for this component:

3 Suggested Features

In the following list you can add a request for a new feature or pick-up an already suggested feature about that should be decided again. The lists below show existing suggestions and scheduled features of this component.

Ready for Jour Fixe

Already suggested

  1. (Project) Improved test question sharing
  2. Abandon Description, Position, Bold and New Line From Display Options
  3. Allow the use of VCARDs in LOM
  4. Autocompleted tag search and assignment
  5. Better Organization of Copyright Licences
  6. Custom Metadata Administration - Revision of Presentation Menu
  7. Custom Metadata for Questions in Question Pools
  8. Custom Metadata: (Better) support for controlled vocabularies / import of subject headings authority files
  9. Custom Metadata: Array handling
  10. Custom Metadata: Grouping metadata fields (tuple)
  11. Custom Metadata: Mandatory metadata fields
  12. Custom Metadata: Smart(er) date fields
  13. Customizable LOM Digest
  14. Declutter Course «Info-Page»
  15. Display Metadata in Content-Sidebar
  16. Export SCORM with Metadata
  17. Field Type Link List for Metadata
  18. Forum: Custom Metadata for Postings
  19. ILIAS page editor for info page - advanced implementation
  20. Import Destatis Classification
  21. Import option / interface for metadata
  22. improve metadata sections on info page
  23. Improved filter in test question pools
  24. License filter for media objects
  25. LOM conformilty for Search and Export
  26. LOM metadata for Learning Sequences
  27. Metadata Database for Metadata Suggestions
  28. Metadata for Appointments
  29. Move Custom Metadata Form to KS
  30. Move Editing of Custom Metadata Fields to KS
  31. Move License and Download-Link to Footer
  32. Move LOM Administration to KS
  33. Move «Custom Metadata Sets» table to KS
  34. Move «Display Options» to KS
  35. New Type of Advanced Metadata: File Upload
  36. ObjectSelector as field type
  37. Option for querying other ILIAS installations / repositories / referatories
  38. Option to put container objects with every object under CC license
  39. ORCA Workflows
  40. Overview Over LOM Copyright Information of Subobjects
  41. Publishing Plugin Content as OER
  42. Refactoring Interface for Consumers of Custom Metadata
  43. Replace Arrays by Data Objects
  44. SEO for ILIAS
  45. Simplification of the input of metadata through personal metadata profile
  46. Some Data on Info Page is only presented with «Edit Settings»
  47. Support LOR harvesting
  48. Title and description write to Metadata
  49. Usability Improvements of LOM Editor
  50. Wizard for OER-Publishing

4 Accepted Features

The following features have been accepted for trunk but are not yet scheduled for a specific ILIAS version.

5 Scheduled Features

The following features have been scheduled / published in ILIAS 12:

The following features have been scheduled / published in ILIAS 11:

The following features have been scheduled / published in ILIAS 10:

The following features have been scheduled / published in ILIAS 9:

The following features have been scheduled / published in ILIAS 8:

The following features have been scheduled / published in ILIAS 7:

The following features have been scheduled / published in ILIAS 6:

The following features have been scheduled / published in ILIAS 5.4:

The following features have been scheduled / published in ILIAS 5.3:

The following features have been scheduled / published in ILIAS 5.2 :

The following features have been scheduled / published in ILIAS 5.1:

The following features have already been developed and published in ILIAS 5.0
 

The following features have already been developed and published in ILIAS 4.4:

  • none

 
The following features have already been developed and published in ILIAS 4.3:

  • none

 
The following features have already been developed and published in ILIAS 4.2:

  • none

 
The following features have already been developed and published in ILIAS 4.1:

  • none

 
The following features have already been developed and published in ILIAS 4.0:

  • none

6 Redundant, Outdated and Rejected Feature Requests

Requests that are outdated or redundant (already implemented in other requests)

Rejected Feature Requests

Last edited: 16. Oct 2025, 14:58, Kunkel, Matthias [mkunkel]