[FINAL] Customize first post edit permissions

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Allow edit of first post

Beitrag von LukeWCS »

gn#36 hat geschrieben:Statt das mit jeweils einem Array zu konfigurieren, in welchen Foren das erlaubt ist und in welchen nicht machen wir da einfach eine stinknormale Berechtigung draus: f_edit_first_post. Dann kann man das genau wie alle anderen Rechte Foren und Gruppenbezogen oder auch Userbezogen vergeben wie man lustig ist und im listener müssen wir nur überprüfen ob der User das Recht hat und gerade versucht den ersten Post zu bearbeiten oder nicht.
Die Erweiterung entwickelt sich gerade genau so, wie ich mir das ursprünglich vorgestellt habe. :D Allerdings ging ich bisher davon aus, das es mit den Arrays einfach zu realisieren ist, weil BlackHawk (Mod) und du (Ext) das so realisiert haben. Wenn das aber so klappen würde wie von dir geplant, dann wäre das perfekt, denn es geht ja schlussendlich auch um Erweiterung der Rechte. Wenn das dann tatsächlich über die Rechteverwaltung funktioniert, dann wäre das erstens genau dort wo es sein sollte (intuitiv zu finden) und zweitens würde das natürlich weitere Vorteile bringen wie z.B. Vererbbarkeit usw.
Anschließend findet man nach der Installation eine neue Berechtigung "Kann ersten Beitrag eigener Themen bearbeiten" unter dem Reiter "Aktivitäten" bei den Foren-Berechtigungen. Die steht erst mal überall auf "nein", kann dann für gewünschte Gruppen und Foren aber gesetzt werden. Vermutlich sind da jetzt noch kleinere Tippfehler drin, aber eigentlich sollte das so schön konfigurierbar sein. Ich mache da bei Gelegenheit mal ein Github Repository zu auf.
Einwandfrei! :grin: Ist der Code hier schon soweit, das ich das testen könnte? Bzw. bezieht sich "Tippfehler" auf blindes programmieren oder auf Text der ausgegeben wird?

Allerdings, ich bin noch nicht soweit dir dabei wirklich helfen zu können, bei dem was du jetzt vorhast. :wink: Ich stehe bezüglich Ext Programmierung ja ganz am Anfang und ich weiss auch nicht, ob ich überhaupt genug Zeit finden werde, mich soweit einzuarbeiten. Das heisst, ich könnte hier in unserem Fall lediglich die Erstellung der Sprachdateien übernehmen und das Testen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Allow edit of first post

Beitrag von gn#36 »

LukeWCS hat geschrieben:Die Erweiterung entwickelt sich gerade genau so, wie ich mir das ursprünglich vorgestellt habe. :D Allerdings ging ich bisher davon aus, das es mit den Arrays einfach zu realisieren ist, weil BlackHawk (Mod) und du (Ext) das so realisiert haben. Wenn das aber so klappen würde wie von dir geplant, dann wäre das perfekt, denn es geht ja schlussendlich auch um Erweiterung der Rechte. Wenn das dann tatsächlich über die Rechteverwaltung funktioniert, dann wäre das erstens genau dort wo es sein sollte (intuitiv zu finden) und zweitens würde das natürlich weitere Vorteile bringen wie z.B. Vererbbarkeit usw.
Das ganze hat im Grunde den Mod zur Basis, den wir hier in phpBB 3.0 eingebaut haben. Bei dem Mod ist das eindeutig einfacher, weil man einfach an der Stelle, die man eh bearbeiten muss das Array einfügt und fertig. Die Extension ist in der Form auf jeden Fall etwas komplexer, egal in welcher Version. Aber mir kam es zu Beginn irgendwie gar nicht in den Sinn, das mit Berechtigungen zu realisieren, als ich von ACP Modul schrieb. Irgendwie war ich da auf dem Dampfer, dass ich dafür eine komplette ACP Seite für die Konfiguration brauchen würde - das wäre mir zu viel Arbeit gewesen.
Einwandfrei! :grin: Ist der Code hier schon soweit, das ich das testen könnte? Bzw. bezieht sich "Tippfehler" auf blindes programmieren oder auf Text der ausgegeben wird?
Ja, das kannst du so wie ich das dargestellt habe eigentlich testen und "Tippfehler" bezieht sich auf "blindes" programmieren, falls du damit meinst, dass ich es nicht durch den Parser gejagt oder anderweitig getestet habe um Syntax- oder funktionale Fehler zu finden. Du musst also nur alle Dateien wie angegeben anlegen bzw. ändern (Sprachdatei 2x Deutsch (de und de_x_sie), 1x Englisch und Migration anlegen, den Rest ändern). Mehr sollte nicht nötig sein und es fehlt abgesehen von gründlichen Tests nur noch Feinschliff für eine Einreichung bei phpBB.com. Dafür gibt es einen Extension Prevalidator, der die Dateien auf grundlegende Fehler analysiert - da kann man seine Extension mal von Testen lassen bevor man sie einreicht.
Allerdings, ich bin noch nicht soweit dir dabei wirklich helfen zu können, bei dem was du jetzt vorhast. :wink: Ich stehe bezüglich Ext Programmierung ja ganz am Anfang und ich weiss auch nicht, ob ich überhaupt genug Zeit finden werde, mich soweit einzuarbeiten. Das heisst, ich könnte hier in unserem Fall lediglich die Erstellung der Sprachdateien übernehmen und das Testen.
Alleine das beides ist schon mal viel wert. Bei dieser Extension haben wir nur eine Sprachvariable, aber alleine die Sprachdateien auf beiden Sprachen zu verwalten frisst bei vielen Extensions schon viel Zeit. Und das ausführliche Testen erst recht.

Wenn du also bei beliebigen Extensions dem Entwickler unter die Arme greifen willst, dann helfen Sprachdateien und ausführliche Tests mit genauen Problembeschreibungen schon sehr viel weiter. Wenn du noch ein paar PHP Kenntnisse hast ist es natürlich noch schöner, wenn du wie schon geschehen gewisse Korrekturen einfach selber machst. Inzwischen liegen auch schon viele Extensions auf github, wo man einfach Pull Requests verwenden kann um Änderungen vorzuschlagen oder einzufügen. Siehe auch KB:git, KB:git_installieren

Die Extension Programmierung habe ich am Anfang auch überhaupt nicht durchblickt. Aber wenn man einmal die Grundzüge verstanden hat ist eigentlich alles sehr logisch und sauber aufgebaut. Vieles ist eigentlich auch für Entwickler einfacher geworden. Cronjobs in phpBB 3.0.x sind z.B. ein totaler Albtraum zu programmieren und vor allem zu testen. In phpBB 3.1 ist das viel einfacher. Für viele Ergänzungen im Style braucht man nicht mal groß irgendwelche php Dateien, man muss einfach nur an der richtigen Stelle eine Datei mit dem entsprechenden HTML Code hinlegen und sie wird eingebunden, sobald man die Extension aktiviert.

Was aber leider fehlt ist eine vernünftige Übersicht über die vielen Möglichkeiten. Immerhin gibt's schon mal eine Liste aller Events, aber inhaltlich könnte die Doku zu den Parametern da auch etwas ausführlicher sein. Auf deutsch hat D@ve ein ganz gutes Tutorial geschrieben.
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.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Allow edit of first post

Beitrag von LukeWCS »

gn#36 hat geschrieben:Grunde den Mod zur Basis, den wir hier in phpBB 3.0 eingebaut haben. Bei dem Mod ist das eindeutig einfacher, weil man einfach an der Stelle, die man eh bearbeiten muss das Array einfügt und fertig. Die Extension ist in der Form auf jeden Fall etwas komplexer, egal in welcher Version. Aber mir kam es zu Beginn irgendwie gar nicht in den Sinn, das mit Berechtigungen zu realisieren, als ich von ACP Modul schrieb. Irgendwie war ich da auf dem Dampfer, dass ich dafür eine komplette ACP Seite für die Konfiguration brauchen würde - das wäre mir zu viel Arbeit gewesen.
Jupp, und ich hatte mich auch schon an die Arrays gewöhnt. Und das es jetzt als Ext Version eigentlich einfacher wäre das über die Rechte zu lösen, das wusste ich nicht. Eine eigene Seite wäre in diesem Fall wirklich überflüssig.
Ja, das kannst du so wie ich das dargestellt habe eigentlich testen und "Tippfehler" bezieht sich auf "blindes" programmieren, falls du damit meinst, dass ich es nicht durch den Parser gejagt oder anderweitig getestet habe um Syntax- oder funktionale Fehler zu finden.
Genau das meinte ich.
Du musst also nur alle Dateien wie angegeben anlegen bzw. ändern (Sprachdatei 2x Deutsch (de und de_x_sie), 1x Englisch und Migration anlegen, den Rest ändern). Mehr sollte nicht nötig sein und es fehlt abgesehen von gründlichen Tests nur noch Feinschliff für eine Einreichung bei phpBB.com.
Dann mache ich mich mal dran. Durch meine bisherigen Ext Übersetzungen hier hab ich ja schon Routine. :wink:
Und das ausführliche Testen erst recht.
Ja ich weiss, das ist auch bei uns ein grosser Posten. Alle Änderungen die ich in der Engine vornehme, müssen ausgiebig getestet werden, bevor die Spieler das bekommen. Und vorab muss ich selbst grob testen, bevor die Betatester das bekommen. Und so ist es auch bei allen anderen Programmen an denen ich beteiligt war in den letzten 30 Jahren oder die komplett von mir stammten. Testen ist unglaublich zeitintensiv aber absolut notwendig. Ganz besonders im kommerziellen Bereich. Wer hier nicht in Tests investiert, hat schon verloren. Und Bananaware gibts eh schon genug!
Wenn du noch ein paar PHP Kenntnisse hast ist es natürlich noch schöner, wenn du wie schon geschehen gewisse Korrekturen einfach selber machst.
In Perl bin ich seit etwa 10 Jahren unterwegs, PHP ist ja in vielen Punkten ähnlich und PHP nutze ich ab und an auch. Je nachdem was mir gerade geeigneter erscheint.
Die Extension Programmierung habe ich am Anfang auch überhaupt nicht durchblickt. Aber wenn man einmal die Grundzüge verstanden hat ist eigentlich alles sehr logisch und sauber aufgebaut. Vieles ist eigentlich auch für Entwickler einfacher geworden.
Das hört sich gut an. Ein durchdachtes System wird sich auch schnell verbreiten und durchsetzen.
Was aber leider fehlt ist eine vernünftige Übersicht über die vielen Möglichkeiten. Immerhin gibt's schon mal eine Liste aller Events, aber inhaltlich könnte die Doku zu den Parametern da auch etwas ausführlicher sein.
Hab ich gemerkt. Ich war auf der Suche nach einem vollständigen Kompendium, weil ich in den Erweiterungen immer wieder auf Funktionen stosse, deren Bedeutung mir unklar ist. Es gibt zwar schon einiges, aber alleine die vorhandene Doku reicht nicht aus, um sich wirklich komplett in die Materie einarbeiten zu können, wenn man mit phpBB vorher noch nie etwas zu tun hatte bez. Programmierung.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Allow edit of first post

Beitrag von LukeWCS »

Erste Rückmeldung:

Ich habe die Verzeichnisstruktur angelegt und mit den entsprechenden Dateien hier bestückt. Dann die composer.json von deiner ersten Version ins Root von firstpostedit gepackt. Dann noch Sprachdateien für de_x_sie und en angelegt sowie entsprechend die Variable angepasst. Ext taucht auch im ACP auf und lässt sich ohne Fehlermeldungen aktivieren. Das neue Recht erscheint aber weder bei den Gruppenrechten noch bei den Forenrechten. Zudem, "Aktivitäten" gibt es ja nur bei den Forenrechten, nicht jedoch bei den Gruppenrechten.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Allow edit of first post

Beitrag von gn#36 »

Wo sind für dich die Unterschiede zwischen Gruppen und Forenrechten? Das sollte ein Forenrecht sein, das man für Gruppen vergeben kann.
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.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Allow edit of first post

Beitrag von LukeWCS »

Moin

Naja klar, Forenrechte werden in Kombination mit Gruppen vergeben, das meine ich jedoch nicht. Forenrechte sind lokal pro Forum, Gruppenrechte aber global. Meine Variante berücksichtigt beides. In den beiden Arrays gebe ich an, in welchen Foren das Recht vergeben wird und bei welchen Gruppen. Hat eine Gruppe dieses Recht, ist das unabhängig vom Forum und gilt global.

Ok, nun ist mir also klar, das du das nur auf die Forenrechte bezogen hast. Aber auch da taucht das Recht nicht auf. Es gibt allerdings auch keine Fehlermeldungen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Allow edit of first post

Beitrag von gn#36 »

Ich habe den Fehler gerade gefunden, es fehlte ein "false" in der Migration: array('permission.add', array('f_edit_first_post')), wird zu array('permission.add', array('f_edit_first_post', false)), Außerdem fand ich die Kategorie bei den Berechtigungen doch unpassend - ich habe das nach "Beiträge" verschoben. Mit obiger Änderung kannst du aber schon testen.

Könntest du mir die Englische Übersetzung schon mal zukommen lassen? Dann brauche ich die nicht anlegen.

EDIT: So, Git Repository ist angelegt und befüllt: https://github.com/gn36/phpbb-ext-firstpostedit
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.
Verschoben von [3.1.x] Extension Bastelstube nach [3.1.x] Extensions in Entwicklung am 14.05.2015 13:21 durch gn#36

Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Allow edit of first post

Beitrag von LukeWCS »

gn#36 hat geschrieben:Ich habe den Fehler gerade gefunden, es fehlte ein "false" in der Migration: array('permission.add', array('f_edit_first_post')), wird zu array('permission.add', array('f_edit_first_post', false)), Außerdem fand ich die Kategorie bei den Berechtigungen doch unpassend - ich habe das nach "Beiträge" verschoben. Mit obiger Änderung kannst du aber schon testen.
Ja, Beiträge wäre passender. Ok, werde es testen.

Ich glaube ich lege mir die Extension 2 mal an. Einmal als Original von dir und einmal meine eigene Variante auf Basis deiner V1. Dann kann ich bequem umschalten.
Könntest du mir die Englische Übersetzung schon mal zukommen lassen? Dann brauche ich die nicht anlegen.

Code: Alles auswählen

<?php
/**
* permissions_firstpostedit [English]
*
* @package language
* @copyright (c) 2015 gn#36
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
    exit;
}
if (empty($lang) || !is_array($lang))
{
    $lang = array();
}

// Adding the permissions
$lang = array_merge($lang, array(
    // Forum perms,
    'ACL_F_FIRST_POST_EDIT'            => 'Can edit first post in own topics',
)); 
EDIT: So, Git Repository ist angelegt und befüllt: https://github.com/gn36/phpbb-ext-firstpostedit
Rgr. Werde das dann mit meiner Verzeichnisstruktur vergleichen, ob ich da noch was übersehen habe. Denn ich hab die ja bei mir selbst erstellt, mit all den Schnippseln hier.
Zuletzt geändert von LukeWCS am 14.05.2015 16:06, insgesamt 2-mal geändert.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Melmac
Ehemaliges Teammitglied
Beiträge: 3623
Registriert: 15.10.2012 03:27

Re: [ALPHA] Allow edit first post

Beitrag von Melmac »

Hi,

auf die Gefahr hin, mich jetzt als Dibbelschisser zu erweisen ( :D ):

Code: Alles auswählen

'Can edit first post from own topics'
Statt "from" vielleicht besser "in":

Code: Alles auswählen

'Can edit first post in own topics'
*wechduck*
Handle nur nach derjenigen Maxime, durch die du zugleich wollen kannst, dass sie ein allgemeines Gesetz werde.
(Immanuel Kant)
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [ALPHA] Allow edit first post

Beitrag von LukeWCS »

@Melmac

Kein Ding, ich spreche etliche Sprachen, allerdings Computersprachen, mit den menschlichen hab ich es nicht so. :D Mit anderen Worten; von Englisch ins Deutsche zu übersetzen ist kein Problem, wenn ich die Thematik verstehe. Umgekehrt tu ich mich aber eher schwer. Kurz: hab deine Änderung übernommen, danke dir.

@gn#36

Jetzt wird das Recht problemlos aufgeführt. Verschiedene Tests durchgeführt, technische Funktionalität ist ebenfalls gegeben. Schaut gut aus. :)

Was hältst du davon, das wir da noch eine zusätzliche Erklärung mit einbauen? Ich hab das jetzt mal testweise bei mir drin. Ich habe bei uns ein zusätzliches Thema angelegt, damit man mal ohne Aufwand Bilder zeigen kann.

[ externes Bild ]
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Antworten

Zurück zu „Extensions in Entwicklung“