Seite 1 von 2

Namensänderung acp_info

Verfasst: 30.09.2025 20:07
von IMC
Folgende Mitteilung habe ich bei einer Validierung bekommen. Ich vermute dass dies die neue Konvention für phpBB4 ist. Ältere Extensions lief vorher glatt durch. Im Tutorial der Module ist so beschrieben wie ich es gemacht hatte.
Class naming does not follow phpBB convention. Should be acp_currenttime_info for clarity and to avoid conflicts.
Class naming does not follow phpBB convention. Should be acp_currenttime_module for clarity and to avoid conflicts.
Gibt es eine saubere Lösung die Dateien/Klassen umzubenennen und dabei auf die alte Migration aufzubauen.

Wenn ich die Klassen umbenenne findet die alte Mirgation diese natürlich nicht um die Module zu erstellen und macht einen Fehler.
Damit kann nicht funktionieren: Module erstellen -> Module löschen -> neue Module erstellen

Extension Code:https://github.com/IMC-GER/phpBB-Curren ... urrenttime
Die Migration des ersten Modul:

Code: Alles auswählen

			['module.add', [
					'acp',
					'ACP_CAT_DOT_MODS',
					'ACP_CT_MODULE_WORLDCLOCK'
				]
			],
			['module.add', [
					'acp',
					'ACP_CT_MODULE_WORLDCLOCK',
					[
						'module_basename'	=> '\imcger\currenttime\acp\acp_module',
						'modes'				=> ['settings'],
					],
				]
			],
Die acp_info:

Code: Alles auswählen

namespace imcger\currenttime\acp;

class acp_info
{

	public function module(): array
	{
		return [
			'filename'	=> '\imcger\currenttime\acp\acp_module',
			'title'		=> 'ACP_CT_MODULE_WORLDCLOCK',
			'modes'		=> [
				'settings' => [
					'title'	=> 'ACP_CT_SETTINGS',
					'auth'	=> 'ext_imcger/currenttime && acl_a_board',
					'cat'	=> ['ACP_CT_MODULE_WORLDCLOCK', ],
				],
				'worldclock_settings' => [
					'title'	=> 'ACP_CTWC_WORLDCL_SETTINGS',
					'auth'	=> 'ext_imcger/currenttime && acl_a_board',
					'cat'	=> ['ACP_CT_MODULE_WORLDCLOCK', ],
				],
			],
		];
	}
}
Im Moment sehe ich nur zwei Lösungen:
  1. Die Hinweise ingnorieren.
  2. Eine komplett neue Migration. Dann müsste aber die Vorgängerversion mit Datenverlust gelöscht werden.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 20:29
von LukeWCS
nAbend Thorsten, kannst du bitte im Startbeitrag auch noch den Code posten, der den Ist-Zustand zeigt, damit man direkt vergleichen kann, was falsch und was richtig ist?

Im Moment höre ich davon selber zum ersten Mal, aber erstmal schauen, wie du es denn bisher hattest.

Persönliche Meinung: Grob kann man mal festhalten; solche offiziellen Ansagen sollten erst dann kommen, wenn vorher auch die Doku angepasst wurde. ;)

Re: Namensänderung acp_info

Verfasst: 30.09.2025 20:39
von IMC
Der Github Link ist jetzt im Startbeitrag.
War auch nur als Info.
Der Ablehnungsgrund war weil eine Tabelle die angelegt hatte.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 20:46
von LukeWCS
Bitte direkt als Code Thorsten, damit man a) nicht erst eine externe Seite aufrufen und dort danach suchen muss und damit es b) keinerlei Missverständnisse gibt, was exakt gemeint ist. Simpel Pfad und Dateinamen, dann weiss man welcher Ordner und welche Dateien und gut ist.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 20:58
von IMC
Der Code ist jetzt auch im Startbeitrag. Die Migration nicht Komplett, man kann aber sehen worum es geht.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 21:07
von LukeWCS
Ich habe das eben mal bei mir angeschaut, wie ich das habe:
  • teilweise schon richtig
  • teilweise annähernd richtig
  • teilweise falsch
Würde mich also auch betreffen. Okay, das geht so nicht wirklich aus der Doku hervor.

Ich habe in Erinnerung, dass man Module per Migration auch umbenennen könnte. Ich meine ich hatte das schon mal, aber ohne Gewähr! Müsste ich erst suchen. Aber es stellt sich die Frage, ob das nachträglich überhaupt Sinn ergibt.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 21:48
von IMC
LukeWCS hat geschrieben: 30.09.2025 21:07 Ich habe in Erinnerung, dass man Module per Migration auch umbenennen könnte.
Dazu habe ich eben diese Methode gefunden: function update_module_data(&$module_data)
Dazu müsste man schon die erste Migrationdatei ändern. Wenn das alte Module vorhanden ist - umbenennen. Wenn nicht vorhanden ist - gleich das neue erstellen.

In MathJax hatte ich weniger stark eingegriffen. Musste aber sein damit die Extension überhaupt unter v3.3.x installierbar ist. Da gab es diese Info:
release_0_0_1.php:
Changing migration files is not allowed!!! In this case we will allow it as the changes appear to just be syntax and performance related, and does not change or impact previous migration installations of this extension.
Wenn du oder jemand anderem nicht besseres Einfällt versuche mal etwas mit update_module_data() zu basteln.
In phpbb\db\migration\tool\module gib es leider keine update Methode, aber die Methode exists(). Aus der Kombi kann man etwas machen.

Ist doch schön, nur weil man drüber spricht sprudeln die Ideen.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 22:04
von LukeWCS
Jupp, Migration nachträglich ändern ist ein NoGo. Aber das hängt davon ab, ob eine Änderung die Migrationskette unterbrechen würde, denn das darf auf keinen Fall passieren.

Ich hab mich übrigens falsch erinnert, habs jetzt gefunden, das war bei WWH. Da gings aber nicht primär um eine Umbenennung, sondern darum, dass ich meine ACP Module von dem "uralten" Schema auf das modulare Schema umgestellt habe, was inzwischen längst Standard ist.

Da habe ich mit einer Kombi von module.remove und module.add gearbeitet, mit dem ich zuerst das alte Modul quasi deinstalliert und dann wieder installiert habe. Ich weiss jetzt aber nicht, ob sich damit das Problem löse liese, was die Valis kritisieren. Das sind jetzt also nur laute Gedanken für dich und keine durchdachte Lösung, sondern nur ein möglicher Ansatz.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 22:51
von IMC
LukeWCS hat geschrieben: 30.09.2025 22:04 Da habe ich mit einer Kombi von module.remove und module.add gearbeitet
Da müsste ich auch ganz am Anfang eingreifen. Durch die Umbenennung der acp_module ist der alte module_basename nicht mehr plausibel. Ich werde mir bei Gelegenheit die unterschiedlichen Alternativen detailliert anschauen. Allein aus Intresse an der Sache. Es war ja nur "INFORMATIONAL ONLY".

Mein erklärtes Ziel ist es aber dass bei meine Erweiterungen hinter "Revision 1.0.0 approved with the following note:" nichts steht.

Das Ergebnis werde ich hier posten. Wird aber etwas länger dauern.

Re: Namensänderung acp_info

Verfasst: 30.09.2025 23:05
von LukeWCS
Jupp, ich würde das mal vorsichtig als ab-jetzt-Ansage einstufen, sprich, bei neuen Modulen und natürlich bei neuen Exts umsetzen und gut ist. Sollte sich bei der EMP 3.1.0 Validierung was neues dahingehend ergeben, gebe ich hier Bescheid, weil da habe ich es auch nicht richtig. Wurde aber bisher auch nicht kritisiert.