Bessere Mod Programmierung?

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Bessere Mod Programmierung?

Beitrag von Dave »

Hi,

Ich code selbst viel am phpBB und setze mich so auch mit den Neuerungen vom phpBB3 auseinander.
Ich schaue mir auch gerne an wie andere Coder ihre Mods programmieren. Was mir dabei auffällt das nur die wenigstens sich wirklich an den CodingGuide halten. Besonders von den offiziellen Mod DB-Team Membern hätte ich erwartet das sie sich daran halten.

z.B. den Usern das editieren der constant.php zu erleichert kann man das hook system vom phpBB3 nehmen. So werden Fehler von Usern vermieden. Wie oft wird das vergessen?

Meine Frage ist also: Was ist daran so schwer 5min mehr an Zeit zu investieren und dafür viele Fehler auf der User seite zu verhindern? Auch sicherheitslücken sollte man so verbeugen können. Einen Mod finde ich sehr schlimm vieleicht fühlt sich da einer mal angesprochen :wink:

Was meint ihr dazu?

MfG
Dave
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5390
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Aus meiner Sicht muss ich Dir zunächst recht geben.
Viele MODs sind eine Katastrophe.
Und ja, die Coding-Guidelines auf phpbb.com sind zwar ausführlich beschrieben sind, aber eben (noch nur) in englisch. Nicht jeder kann aber diese Sprache!
Und kennt auch jeder Modder diese Guidelines überhaupt???

Jedoch wird auch mit phpBB3 leider weiterhin der Support einen grossen Teil für Installationshilfen beim Einbau von MODs leisten müssen, denn man kann (soweit ich mir das phpBB3 nun schon angeschaut habe) nach wie vor nicht modular programmieren und die so erstellten Module dem phpBB zur Benutzung einfach "irgendwo" hinstellen, um sie einzubinden.
Andere Forensysteme sind hier deutlich weiter, ohne jetzt gegen phpBB eine Lanze berechen zu wollen ;)

Man muss so z. B. weiterhin immer wieder Kern-Dateien des phpBB bearbeiten, was ab einer gewissen Anzahl verbauter MODs schon bereits im phpBB2 für zahlreiches Kopfzerbrechen sorgte.
Ich denke da z B. an MODs wie den CH MOD, der spätestens ab Version 2.1.0 mehr als nur Probleme bereitet.

Naja, zumindest meine Meinung zur Qualität der MODs und die Möglichkeiten, die phpBB3 hierzu als Unterstützung bietet...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Ich als MODder will hierzu auch mal meinen Senf abgeben:
Ich kenne die Coding Guidelines zum größten Teil.
Allerdings solche Sachen wie z.B.:
http://www.phpbb.de/viewtopic.php?p=913100#913100
findet man dort nicht so genau gelistet.
Meine Zeit hat bisher auch nicht gereicht, um alle meine MODs darauf umzustellen. In neueren Versionen unterlaufen mir solche "Fehler" aber nicht mehr.
Bei solchen "Verstössen" gegen die Coding Guidelines freuen sich übrigens die meisten MODder, wenn sie darauf hingewiesen werden, denn nobody is perfect...
Dave hat geschrieben:z.B. den Usern das editieren der constant.php zu erleichert kann man das hook system vom phpBB3 nehmen. So werden Fehler von Usern vermieden. Wie oft wird das vergessen?
Hast du eine Erklärung, oder ein Beispiel wie man dieses hook-System einsetzt?
kein Support per PN
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Das Hook-System ist noch neu, es hat bis RC 4 oder sogar 5 noch nicht existiert (oder zumindest die Dokumentation dazu fehlte). Die Mods die derzeit im Umlauf sind sind aber Großteils älter und können diese Neuerung daher noch nicht berücksichtigt haben.

Dass phpbb3 nicht Modular aufgebaut ist stimmt so auch nicht mehr ganz, MCP, ACP und UCP sind in Modulbauweise eingerichtet und die Installation erfolgt durch kopieren von Dateien in die korrekten Ordner und anschließende Aktivierung im ACP.
Das Hook-System geht einen weiteren Schritt in diese Richtung, denn hiermit sollte es auch möglich sein Code in andere Funktionen einzufügen ohne den Core-Code dieser Dateien zu verändern. In meinen Augen hat eine Modulbauweise sowieso nicht in allen Bereichen Vorteile. Mal abgesehen davon, dass es sowieso nicht überall modular aufgebaut sein kann bedeutet ein Modularer Aufbau an vielen Stellen auch einen deutlichen Geschwindigkeitsverlust, denn ständig muss geprüft werden, ob an dieser Stelle im Code nicht vielleicht noch der Code eines Moduls eingebunden werden muss. Das gilt zwar nicht für Zusatzseiten, aber für viele der "üblichen" Mods die bestehende Funktionen verändern.

Ansonsten sollte man sich natürlich zumindest grob an die Guidelines halten (ich würde niemandem da jetzt einen Strick draus drehen, wenn er der Meinung ist dass man statt $i = (5 == $j) ? 1 : 2 lieber $i = 5 == $j ? 1 : 2 schreibt, aber $i = $j++ + ++$k (wenn das bei php überhaupt läuft, ist eigentlich C) ist nicht mehr ok).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

für das hook system:
includes/hook/hook_modname.php erstellen. die wird automatisch eingebunden. So einfach is das :wink:

Mal als kleines Beispiel wo ich denke das man es eigentlich besser wissen müßte:

Code: Alles auswählen

$template->assign_vars(array(
	'U_ADD_ARTIKEL'		=> append_sid("{$phpbb_root_path}artikel/kbposting." .$phpEx),
	'U_ACTION'	=> append_sid("{$phpbb_root_path}artikel/kb-search.php"),
	'S_ACTIVATE_ARTIKEL'		=> $auth->acl_get('m_activate_kb'),
	'S_ADD_ARTIKEL'		=> $auth->acl_get('u_add_kb'),
	'U_MODERATE'	=> append_sid("{$phpbb_root_path}artikel/kb_mcp.php"),
	'NOFORUMNAV' 		=> true,
	)
);
Das man nicht .php schreibt ist auch schon in phpBB2 so. (Von einer besseren überprüfung mit true und false beim auth check mal abgesehen)
Und wenn man nicht die CodingGuide lesen/verstehen kann, dann sieht man sowas auch einfach indem man sich mal die Dateien vom phpBB beschäftigt. Das mit dem hook System habe ich einfach rausgefunden in dem ich mir den Code angeschaut habe... Dafür brauchte ich keinen CodingGuide
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5390
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das mit dem hook System habe ich einfach rausgefunden in dem ich mir den Code angeschaut habe... Dafür brauchte ich keinen CodingGuide
Jemand mit viel Freizeit, stelle ich gerade so fest ;)
Das Hook-System ist noch neu, es hat bis RC 4 oder sogar 5 noch nicht existiert (oder zumindest die Dokumentation dazu fehlte). Die Mods die derzeit im Umlauf sind sind aber Großteils älter und können diese Neuerung daher noch nicht berücksichtigt haben.
Und dann auf die Modder rumhacken. Tztztz...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Also kontrolliert wann welcher Mod das letzte mal aktualisiert wurde habe ich nicht. Das mit dem hook System war ja nur ein beispiel wie man es in Zukunft besser machen kann. Andere Fehler hätte man so vermeiden können ;)

Und viel Freizeit? Leida nein. Und ein blick in den docs ordner würde btw reichen. Da ist eine Datei mit dem namen hook_system.html :D


MfG
Dave
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Dave hat geschrieben:Und ein blick in den docs ordner würde btw reichen. Da ist eine Datei mit dem namen hook_system.html :D
Ich habe noch nie einen Blick in den docs-Ordner geworfen. Vllt nicht gerade vorteilhaft, aber man kann nie alles wissen. Aber wie ich im ersten Post von mir schon geschrieben habe. Wenn du an konkreten MODs solche Dinge feststellst und diese in die entsprechenden Themen postest, freuen sich die meisten Autoren... dass ist viel effizienter als hier so einen halben "Rund-um-Schlag" zu veranstallten ;)
kein Support per PN
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag von Dave »

Nunja... Eine Diskussion dazu finde ich gerade sinniger als wenn ich in fast jedem Mod Thema den Author sage wie er programmieren soll. Ich persönlich finde das nicht so dolle. Das sieht dann aus meiner sicht so aus, als würde ich denen vorwerfen sie würden nicht richtig programmieren. Wenn einer von sich aus fragt was kann ich besser machen helfe ich da natürlich gerne.

EDIT: Noch zu dem doc ordner: Der ist nicht nur zur zierde da :D
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5390
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

EDIT: Noch zu dem doc ordner: Der ist nicht nur zur zierde da
Klar, aber erst mit dem RC6 kam das Hook-System auch dokumentiert ins phpBB3 ;)
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“