Overhaul maintenance.md v2: data-driven folder mapping with upstream parity#14
Overhaul maintenance.md v2: data-driven folder mapping with upstream parity#14marvimarv wants to merge 1 commit into
Conversation
…parity Re-do of the maintenance.md restructuring previously proposed in PR #10. Adresses three issues found in PR #10: 1. **Authority drift**: PR #10 fell back to maintenance.json for several folders whose authoritative MD block lives under a different name (Test, TestQuestionPool, all Category/Container, all Remote*, etc.). Authority changes in the canonical maintenance.md were therefore silently lost. The new script resolves folder -> MD block via a canonical-name index, so PR ILIAS-eLearning#11546 (mbecker out of T&A code authority), the new TB member Maximilian Becker, and the alinaseibt update to CSS / Templates are all reflected. 2. **Hardcoded mapping tables**: PR #10 carried three parallel hand- maintained dicts (MD_COMMENT_TO_FOLDERS, FOLDER_TO_COMPONENT, FOLDER_TO_ILIAS_COMPONENT). They drifted and 10 entries were silently ignored. The new script derives the mapping from data: - canonical match of folder name against MD comment/title/aka, then - JSON `belong_to_component` against the same index, then - small explicit alias file (`component_aliases.json`). 3. **Display-Groups**: Folders that the Feature Wiki groups under one component (e.g. Login/Auth/Registration, ECS Interface, Privacy/ToS/DP) now share a single Belongs-To line with the canonical Wiki name and link, instead of each pointing to its narrower MD block title. Validated: 137 folders match the upstream MD authority block bit-for-bit; 43 folders without an MD block fall through to maintenance.json or NONE/Unmaintained as designed; 0 unintended deviations. Usage: python3 scripts/maintenance-overhaul/generate_maintenance_final.py --sync Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
rfalkenstein
left a comment
There was a problem hiding this comment.
Hi @marvimarv ,
thanks for this huge amount of work. I would propose the following:
- Please remove the tester lines
- We should discuss if we remove the unit-specific guidelines lines + the explanation of it above
- every TB member should check the comments and add his/her knowledge about these.
Maybe check until next tuesday?
| @@ -161,6 +161,8 @@ of ILIAS. The file contains the following fields: | |||
| * **"Authority to (De-)Assign Authorities"**: | |||
| An array in the form [ `<username> (<userid>), <company> (<company_page>)` ] | |||
| pointing to valid users on https://docu.ilias.de. | |||
|
|
|||
| * **"Tester"**: An array in the form [ `<username> (<userid>), <company> (<company_page>)` ] pointing to valid users on https://docu.ilias.de. | |||
There was a problem hiding this comment.
Why is this re-introduced? I don't fully remember but I think the decision was that the testers are internally curated by the test manager.
There was a problem hiding this comment.
Solution: I will delete Testers.
There was a problem hiding this comment.
The information about the unit-specific guidelines, rules and regulations was abandoned in the authorities part but not here. We should delete line 172-174, too.
There was a problem hiding this comment.
This was only abandoned in your version but not in trunk for the authorities?
-> https://github.com/ILIAS-eLearning/ILIAS/blob/trunk/docs/development/maintenance.md
There was a problem hiding this comment.
So should I add or remove?
|
|
||
| [//]: # (BEGIN Accordion) | ||
|
|
||
| #### [Accordion](https://github.com/ILIAS-eLearning/ILIAS/tree/trunk/components/ILIAS/Accordion) |
There was a problem hiding this comment.
This might belong to akill since this is in the content style
|
|
||
| **Status:** Unmaintained / NONE | ||
|
|
||
| *Belongs to:* Accordion |
There was a problem hiding this comment.
What is this information for? Do we try to be consistent between all components? This is kind of redundant. But probably it's best to leave it as is.
There was a problem hiding this comment.
Had another thought about this: I think it's good to leave it since this allows us to query information from the docu wiki in this document.
There was a problem hiding this comment.
So no To-Do for me here
| * Authority to Sign off on Code Changes: [mjansen](https://docu.ilias.de/go/usr/8784), [tjoussen](https://docu.ilias.de/go/usr/103745) | ||
| * Authority to Curate Test Cases: [mjansen](https://docu.ilias.de/go/usr/8784) | ||
| * Tester: [vimotion](https://docu.ilias.de/go/usr/25105) | ||
| * Authority to (De-)Assign Authorities: [mjansen (Databay AG)](https://docu.ilias.de/go/usr/8784) |
There was a problem hiding this comment.
The naming of mjansen is not consistent. (imo we can ignore this though)
There was a problem hiding this comment.
I think it might be consistent since the enterprise is only named in the meta-authority.
| * Unit-specific Guidelines, Rules, and Regulations: [LINK MISSING]('') | ||
| #### [Taxonomy](https://github.com/ILIAS-eLearning/ILIAS/tree/trunk/components/ILIAS/Taxonomy) | ||
|
|
||
| *Belongs to:* Taxonomy |
There was a problem hiding this comment.
This should belong to the taxonomy service: https://docu.ilias.de/go/wiki/wpage_2304_1357
|
|
||
| #### [UI_](https://github.com/ILIAS-eLearning/ILIAS/tree/trunk/components/ILIAS/UI_) | ||
|
|
||
| **Status:** Unmaintained / NONE |
There was a problem hiding this comment.
wouldn't this also belong to the UI/UI-Service people?
|
|
||
| **Status:** Unmaintained / NONE | ||
|
|
||
| *Belongs to:* UIComponent |
There was a problem hiding this comment.
Maybe UI Kitchen Sink: https://docu.ilias.de/go/wiki/wpage_3852_1357 ?
| * Unit-specific Guidelines, Rules, and Regulations: [LINK MISSING]('') | ||
| #### [UICore](https://github.com/ILIAS-eLearning/ILIAS/tree/trunk/components/ILIAS/UICore) | ||
|
|
||
| *Belongs to:* UICore |
There was a problem hiding this comment.
Does anyone knows where/if there are feature requests regarding this code?
| * Unit-specific Guidelines, Rules, and Regulations: [LINK MISSING]('') | ||
| #### [VirusScanner](https://github.com/ILIAS-eLearning/ILIAS/tree/trunk/components/ILIAS/VirusScanner) | ||
|
|
||
| *Belongs to:* Virus Scanner |
There was a problem hiding this comment.
mjansen and mbecker: Is still still maintained? Could this belong to the "File" category in the feature wiki? https://docu.ilias.de/go/wiki/wpage_4_1357
There was a problem hiding this comment.
This is still maintained by Ralf Schenk. I contact Ralf some months ago and asked if we should transfer the authorities, but I did not receive any feedback, yet.
Summary
Re-do of the maintenance.md restructuring previously proposed in PR #10, fixing three issues found there:
maintenance.jsonfor folders whose canonical MD block lives under a different name (Test → TestAndAssessment, all Category/Container → CategoryAndRepository, all Remote* → ECSInterface, …). Authority updates in the upstreammaintenance.mdwere therefore silently lost. The new script resolves folder→MD block via a canonical-name index, so PR #11546 (mbecker out of T&A code authority), the new TB member Maximilian Becker, and the alinaseibt update to CSS/Templates are all reflected.MD_COMMENT_TO_FOLDERS,FOLDER_TO_COMPONENT,FOLDER_TO_ILIAS_COMPONENT) which drifted and silently dropped 10 entries. The new script derives the mapping from data with one small explicit aliases file (component_aliases.json) for ~5 JSON typos and 4 plural/reference folder names.Validation
For every folder in
components/ILIAS/, the script's output was diffed against the authoritativeupstream/trunk:docs/development/maintenance.md:Usage
Test plan
docs/development/maintenance.mdside-by-side with PR #10's version to confirm the structural look matches.upstream/trunk:docs/development/maintenance.md(e.g.Test,CSSAndTemplatesconsumers,LDAP,RemoteWiki).--syncafter a freshupstream/trunkpull and verify idempotence.python3 scripts/maintenance-overhaul/test_maintenance_md.py.