Skip to content

Latest commit

 

History

History
1314 lines (964 loc) · 46.5 KB

maintenance.md

File metadata and controls

1314 lines (964 loc) · 46.5 KB

ILIAS Maintenance

The development of the ILIAS source code is coordinated and maintained by a coordination team within the ILIAS network. Besides the main responsibilities for the project, several developers and users are maintaining certain modules of ILIAS.

Special Roles

Maintainers

We highly appreciate to get new developers but we have to guarantee the sustainability and the quality of the ILIAS source code. The system is complex for new developers and they need to know the concepts of ILIAS that are described in the development guide.

Communication among developers that are working on a specific component needs to be assured. Final decision about getting write access to the ILIAS development system (Github) is handled by the product manager.

ILIAS is currently maintained by two types of maintainerships:

  • Classic Model with First Maintainer and sometimes Second Maintainer
  • Coordinator Model

The following rules must be respected for everyone involved in the programming of ILIAS for all components having a listed component maintainer (see below):

  1. Decisions on new features or feature removals are made by the responsible first maintainer and the product manager in the Jour Fixe meetings after an open discussion.
  2. Components under the Classic Model have a first and sometimes second maintainer. Code changes are usually done by the first maintainer. The first maintainer may forward new implementations to the second maintainer.

Responsibilities of a component maintainer:

  • Component maintainer must assure maintenance of their component for at least three years (approx. three ILIAS major releases).
  • Component maintainers must agree to coordinate the development of their component with the product manager.
  • Component maintainer are responsible for bug fixing of their component and get assigned related bugs automatically by the Issue-Tracker.
  • Component maintainers are responsible for Pull Requests to their component and get assigned related Pull Requests by the Technical Board according to the [Rules for Maintainers and Coordinators assigned to PRs[(Rules for Maintainers and Coordinators assigned to PRs)

Becoming a Maintainer

Applications for maintainerships can be handed in to the product manager. The product manager together with the technical board decide on who becomes a maintainer. Maintainerships are listed with the name of the maintainer. In addition the company the maintainer is working for can be listed, too. In this second case, the company has the right to propose an alternative maintainer at any time. In particular, if the maintainer resigns from his maintenance, a proposal for a new maintainer by the company of the old maintainer will be preferred, if the company recently invested substantially in the general condition of the component and the proposed maintainer meets the criteria.

Implicit Maintainers

If a component is currently unmaintained, a developer can take responsibility for it without agreeing to give full support. An implicit maintainer will get assigned related bugs automatically and will keep the component working through the update cycle. S/he will not implement new features or develop the component further. If enhancements of the component are wanted, an explicit maintainer or coordinator must be assigned.

Additional Competences

A maintainer can pass certain of her/his competences to other people in the community. Currently these are:

  • The competence to handle pull requests including the rights to merge or close them.
  • The competence to handle issues in Mantis including the rights to relable, reassign, close, or reopen them.

If nobody is fulfilling the responsibilities of the component maintainer, the Product Manager together with the Technical Board can look for members of the community and assign these competences to them.

Tracking Maintainerships

Maintainerships are tracked in maintenance.json files placed in the root of the corresponding components of ILIAS. The file containes the following fields:

  • maintenance_model: Currently there are two possible entries for this field
  • "first_maintainer": One entry in the form <username> (<userid>) pointing to a valid user on https://docu.ilias.de. Only relevant if the maintenance_model is set to "Classic".
  • "second_maintainer": One entry in the form <username> (<userid>) pointing to a valid user on https://docu.ilias.de. Only relevant if the maintenance_model is set to "Classic".
  • "implicit_maintainers": An array in the form [ <username> (<userid>) ] pointing to valid users on https://docu.ilias.de. Only relevant if the maintenance_model is set to "Classic" and neither a first nor a second maintainers is set.
  • "coordinator": An array in the form [ <username> (<userid>) ] pointing to valid users on https://docu.ilias.de. Only relevant if the maintenance_model is set to "Coordinator".
  • "pr_management" : An array in the form [ <username> (<userid>) ] pointing to valid users on https://docu.ilias.de.
  • "issue_management" : An array in the form [ <username> (<userid>) ] pointing to valid users on https://docu.ilias.de.
  • "tester": One entry in the form <username> (<userid>) pointing to a valid user on https://docu.ilias.de.
  • "testcase_writer": One entry in the form <username> (<userid>) pointing to a valid user on https://docu.ilias.de.

Current Maintainerships

  • Administration
  • cmi5/xAPI Object
  • Comments
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: skaiser
    • Tester: skaiser
  • Cron Service
    • Maintenance Model: Classic
    • 1st Maintainer: mjansen
    • 2nd Maintainer: N.A.
    • Testcases: kunkel
    • Tester: kunkel
  • Didactic Templates
    • Maintenance Model: Classic
    • 1st Maintainer: smeyer
    • 2nd Maintainer: N.A.
    • Testcases: kunkel
    • Tester: kunkel
  • Exercise
  • Export
    • Maintenance Model: Classic
    • 1st Maintainer: smeyer
    • 2nd Maintainer: N.A.
    • Testcases: Fabian
    • Tester: Fabian
  • File
    • Maintenance Model: Classic
    • 1st Maintainer: fschmid
    • 2nd Maintainer: N.A.
    • Testcases: scarlino
    • Tester: Heinz Winter, CaT
  • ILIAS Page Editor
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: ezenzen
    • Tester: FH Aachen
  • IndividualAssessment
  • ItemGroup
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: berggold
    • Tester: berggold
  • Learning History
  • Learning Module ILIAS
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: Balliel
    • Tester: Balliel
  • Learning Module SCORM
    • Maintenance Model: Classic
    • 1st Maintainer: ukohnle
    • 2nd Maintainer: N.A.
    • Testcases: n.n., Qualitus
    • Tester: n.n., Qualitus
  • Learning Sequence
  • Mail
    • Maintenance Model: Classic
    • 1st Maintainer: mjansen
    • 2nd Maintainer: nadia
    • Testcases: AUTHOR MISSING
    • Tester: Till Lennart Vogt/Test-Team OWL
  • MathJax
    • Maintenance Model: Classic
    • 1st Maintainer: fneumann
    • 2nd Maintainer: N.A.
    • Testcases: fneumann
    • Tester: resi
  • Media Objects
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: kunkel
    • Tester: kiegel
  • Media Pool
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: kunkel
    • Tester: kiegel
  • MediaCast
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: berggold
    • Tester: berggold
  • Notes and Comments
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: skaiser
    • Tester: skaiser
  • Notifications
    • Maintenance Model: Classic
    • 1st Maintainer: mjansen
    • 2nd Maintainer: mbecker
    • Testcases: N.A.
    • Tester: N.A.
  • Object Service
    • Maintenance Model: Classic
    • 1st Maintainer: fawinike
    • 2nd Maintainer: N.A.
    • Testcases: N.A.
    • Tester: N.A.
  • Online Help
  • Open ID Connect
    • Maintenance Model: Classic
    • 1st Maintainer: smeyer
    • 2nd Maintainer: N.A.
    • Testcases: N.A.
    • Tester: N.A.
  • Personal and Shared Resources
  • Portfolio
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases Portfolio: ezenzen
    • Testcases Portfolio Template: N.A.
    • Tester Portfolio: KlausVorkauf
    • Tester Portfolio Template: TESTER MISSING
  • Precondition Handling
  • Rating
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: Fabian
    • Tester: Fabian
  • RBAC / Access Control
  • Refinery
    • Maintenance Model: Coordinator
    • Coordinators: mjansen , rklees
    • Used in Directories: src/Refinery
  • SAML
    • Maintenance Model: Classic
    • 1st Maintainer: mjansen
    • 2nd Maintainer: N.A.
    • Testcases: AUTHOR MISSING
    • Tester: Alexander Grundkötter, Qualitus
  • Session
    • Maintenance Model: Classic
    • 1st Maintainer: smeyer
    • 2nd Maintainer: N.A.
    • Testcases: yseiler
    • Tester: yseiler
  • Shibboleth Authentication
  • Study Programme
    • Maintenance Model: Classic
    • 1st Maintainer: rklees
    • 2nd Maintainer: shecken
    • Testcases: rklees
    • Tester: Florence Seydoux, s+r
  • Survey
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: ezenzen
    • Tester: elena
  • Taxonomy
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: Tested separately in each module that supports taxonomies
    • Tester: Tested separately in each module that supports taxonomies
  • Terms of Services
    • Maintenance Model: Classic
    • 1st Maintainer: mjansen
    • 2nd Maintainer: N.A.
    • Testcases: Stefania Akgül (CaT)
    • Tester: Heinz Winter (CaT)
  • Test & Assessment
    • Maintenance Model: Classic
    • 1st Maintainer: dstrassner
    • 2nd Maintainer: mbecker
    • Testcases: SIG E-Assessment
    • Tester: Stefania Akgül (CaT), Stefanie Allmendinger (FAU) , dehling , simon.lowe , rabah
  • Web Feed
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: kunkel
    • Tester: kunkel
  • Who is online?
  • Wiki
    • Maintenance Model: Classic
    • 1st Maintainer: akill
    • 2nd Maintainer: N.A.
    • Testcases: N.N., Uni Köln
    • Tester: N.N., Uni Köln
  • Workflow Engine

Unmaintained Components

The following directories are currently unmaintained:

  • Services/Context
  • Services/CSV
  • Services/EventHandling
  • Services/Excel
  • Services/QTI
  • Services/Randomization