Addon erstellen - warum einfach wenn es auch kompliziert geht?

shining

Bekanntes Mitglied
Lizenzinhaber
Registriert
31. Aug. 2018
Beiträge
202
Punkte
83
XF Version
  1. 2.0.5
PHP-Version
7.2
Also ich muss ja sagen, dass ich mir das Development Tutorial von xenforo jetzt schon x-mal durchgelesen habe. Die ersten Versuche, selbst ein kleines Addon zu erstellen, scheiterten kläglich :D
Dagegen sind eigene kleine Mods bei vb5 zu erstellen ja ein Kinderspiel ...

Gibts irgendwo vllt weitere Tutorials für weniger technisch Begabte?
Zb möchte ich KEINE lokale Installation auf dem PC dafür ... das muss doch auch online gehen, also "live" auf dem (Test-)Server.


Und was ich auch immer noch nicht rausfinden konnte: wie wo wann wird die hash.json erstellt? Scheinbar muss die ja nach jeder noch so kleinen Änderung wieder neu erstellt werden? Oder habe ich auch das falsch verstanden? :D

Fragen über Fragen.. ich glaub ich werfe erst mal wieder das Handtuch, weil ich soooooo genervt davon bin. Anstatt das sich Fragen klären, kommen ständig neue hinzu. Leider fehlt mir momentan auch die Zeit mich da tagelang reinzufuchsen...

Das musste ich einfach mal loswerden :D
 
Ganz ehrlich? Bin da voll auf deiner Seite;)

Als neugieriges Kerlchen hab Ich vor einiger Zeit reingeschnuppert, aber dieses CLI, dann wieder ACP, dann zurück in CLI, dann IDE herumgehüpft entbehrt sich jeglicher Logik. Vielleicht bin ich ja nur von anderen System etwas verwöhnt, aber es ist IMO wirklich etwas unlogisch aufgebaut.
Natürlich kann man es für sich selbst umbauen und so anpassen wie man es braucht, aber die Grundstruktur mit CLI, ACP und IDE versteh ich persönlich einfach absolut nicht... Wenn dann halt nur CLI, ohne ins admincenter schauen zu müssen, aber so ist es einfach nur sehr verwirrend
 
Ich sag es mal so:
Die Add-on Enwicklung bei XF 2 ist für Profis gedacht & gemacht, nicht für den ambitioniertne Endanwender der eine Kleinigkeit ändern will - dementsprechend sind die Einstiegshürden höher.

Ich habe zwar kein vB 5, anhand von Screenshots die ich gesehen habe scheint das aber immer noch recht ähnlich zu sein wie vB 3.5+ - es gibt Hooks und man kann im ACP direkt Code dafür eingeben - das kann "jeder Depp".
Entsprechend einfach kriegt man auch (Schad)Code ins System, man erinnere sich an diverse vBSEO-Sicherheitslücken die genau dies ausgenutzt haben,

Natürlich könnte man die Erstellung eines Add-ons auch komplett im Backend machen, das würde es sicherlich einfacher machen - und ich bin mir relativ sicher dass dies bewusst nicht gewollt ist.

Verwirrend finde ich das ganze eigentlich nicht. Wenn man alleine arbeitet sind es im Grunde nur 3 Schritte:
  1. Man erstellt per CLI ein Add-on, geht (entsprechenden Support seitens IDE/Editor vorausgesetzt) direkt aus der IDE
  2. Man entwickelt das Add-on per IDE und Backend
  3. Man erstellt per CLI ein Release (wiederum ggf. direkt aus IDE)

Im Team wird das dann natürlich ein wenig mehr und es kommen weitere Schritte, z.B. sync der JSON-Daten, hinzu

Von den Systemen mit denn ich bisher umfangreicher zu tun hatte (XF 1 &2, vB 2-4, phpBB 2 & 3, WBB 2-5, WordPress 2.5-4.9) arbeit ich mit XF2 mit Abstand am liebsten

Zb möchte ich KEINE lokale Installation auf dem PC dafür ... das muss doch auch online gehen, also "live" auf dem (Test-)Server.
Geht durchaus, aber ist halt unkomfortabler - dann musst Du z.B. Templates im Backend bearbeiten anstatt direkt in deiner IDE/Editor (oder es ist langsam da per SSHFS o.ä. angebunden).
Die meisten haben ihre Entwicklungssysteme daher in einer VM (Vagrant, o.ä.) die lokal läuft.

Für eine "2-Minuten-Mini-Anpassung" ist der Aufwand ohne Frage deutlich höher als z.B, bei vBulletin 3.5-4.2 (kA wie es bei 5.X ist), sobald es aber etwas komplexer wird zahlt sich das dutzendfach aus.
 
Zuletzt bearbeitet:
Ich versteh einfach den 1. Schritt mit CLI nicht... wozu die CLI um ein Addon zu erstellen? AFAIK hat sich da ja noch nichts geändert, oder? Alles andere wie zB Event Listener wird übers ACP und nicht CLI erstellt... Unnötiges hin und her IMO.
 
s.o. :)

Ich gehe davon aus dass das eine ganz bewusste Sicherheitsentscheidung war.

Wenn man das System entsprechend abgedichtet hat (PHP-FPM läuft unter einem eigenen User je Projekt der aber nicht Owner der Dateien ist sondern per POSIX-ACL lediglich rx auf /src hat), dann kann PHP-FPM nicht innerhalb von src schreiben - per Web wäre es dann nicht möglich.

Natürlich hätte man eine solche Funktionalität bauen können (die dann auf einem schlechter abgesicherten oder lokalen Dev-System funktionieren würde), aber was gar nicht erst da ist kann auch nicht ausgenutzt werden.
 
Die Add-on Enwicklung bei XF 2 ist für Profis gedacht & gemacht, nicht für den ambitioniertne Endanwender der eine Kleinigkeit ändern will - dementsprechend sind die Einstiegshürden höher.

Hohe Einstiegshürden garantieren vieles, aber keine Sicherheit... eher im Gegenteil, wenn ich mir anschaue, wieviele zweifelhafte oder minderwertige Addons so im Umlauf sind :D Hab mich erst die Tage tierisch über ein gekauftes Addon geärgert und würde dies nun gern selbst verbessern bzw eines entsprechend meinen Ansprüchen und Bedürfnissen schreiben. Darum kam ich wieder auf dieses Thema.

Ich habe zwar kein vB 5, anhand von Screenshots die ich gesehen habe scheint das aber immer noch recht ähnlich zu sein wie vB 3.5+ - es gibt Hooks und man kann im ACP direkt Code dafür eingeben - das kann "jeder Depp".
Ja, kann man via ACP machen.. hab ich aber nicht. Ich schreibe lieber oldschool in Dateien rum und lade diese hoch....

Nun aktuell "behelfe" ich mir mit Template-Modifikationen... wobei das mit der Zeit immer mehr werden und hab halt gedacht, die Lösung via Addons wäre etwas sauberer. Habe es gern aufgeräumt :)

Von den Systemen mit denn ich bisher umfangreicher zu tun hatte (XF 1 &2, vB 2-4, phpBB 2 & 3, WBB 2-5, WordPress 2.5-4.9) arbeit ich mit XF2 mit Abstand am liebsten

Da kann ich nur bei Wordpress mitreden, wofür schon einige Plugins geschrieben wurden und auch DAS mache ich (bislang) tausendmal lieber als für xf2 ...

Unnötiges hin und her IMO.

Sehe ich auch so.
 
Hohe Einstiegshürden garantieren vieles, aber keine Sicherheit...
Das sicherlich nicht, aber sie halten vielleicht doch den einen oder anderen ab der lieber keinen Code schreiben sollte ;)

Da kann ich nur bei Wordpress mitreden, wofür schon einige Plugins geschrieben wurden und auch DAS mache ich (bislang) tausendmal lieber als für xf2 ...
Menschen sind unterschiedlich :)

Ich könnte jedes mal im Kreis kotzen wenn ich mich mit dem WP Spaghetti-Code beschäftigen muss.
Was da alles in globalem Namespace rumhängt ist nicht schön und ein Garant für Seiteneffekte, Plug-ins die sich gegenseitig stören, etc.
Ein Plug-in arbeitet klassisch imperativ-prozedural, ein anderes objektorientiert ... totales Chaos :D
 
Mal n ganz neues Argument :D :
Hohe Einstiegshürden treiben das Preisniveau auch drastisch hoch, da kaum einer diese Hürden freiwillig erklimmen mag und hinterher für lau sein "Werk" abgibt. Höhere Preise stellen für Einsteiger auch gleichzeitig eine mitunter entscheidende Hürde dar - ob das am Ende in 4-5 Jahren aufgegangen sein wird, wird man sehen.

Aber mal zurück zu euren Kommentaren - die gesetzte Hürde find ich nun nicht sooo hoch das es mich abhalten würde, jedoch bin ich ein Mensch und von Natur aus bequem veranlagt und mich nervt es zur Zeit halt einfach. Ob daraus mal noch ne Leidenschaft erwächst oder die Scheidung ins Haus steht muss sich noch zeigen. Uneingeschränkt kann ich daher die Add-on Entwicklung bei XF2 bisher nicht als gelungen ansehen, sorry.

Thema CLI - da kommt man heut eh kaum noch umhin. z.B. musste ich mich diesbezüglich schon bei Shopware damit auseinander setzen - gibt schlimmeres. Bei XF2 nervt mich halt auch das geswitche.
 
Auch ich habe die letzten 2 Tage versucht da zu basteln. Allein der erste Schritt scheint eine unüberwindbare Hürde.
Wenn ich mein cmd.exe (natürlich als Admin) starte und ins Verzeichnis von XF wechsel, den Befehl ausführe - öffnet er mir die cmd.php in Notepad++ - und unter src/addons ist rein gar nix zu finden

In Youtube gibt es ein Video - allerdings für XF1 - wo man einfach Templates erstellt und Funktionen auswählt ... so wie ich das in der hochgeladenen 320 Pixelversion erkennen kann ...

Also das Probieren geht weiter... arbeitet einen aber schon richtig auf ...

LG: Tammy
 
Wenn ich mein cmd.exe (natürlich als Admin) starte und ins Verzeichnis von XF wechsel, den Befehl ausführe - öffnet er mir die cmd.php in Notepad++ - und unter src/addons ist rein gar nix zu finden
Das liegt wohl daran, dass das CLI nicht weiß, was es mit der Datei cmd.php anfangen soll (nämlich als PHP ausführen).

Du könntest versuchen statt "php" den Pfad "C:\php\php.exe" voranzustellen. Wenn das nicht funzt, ist PHP wohl wo anders installiert.

Auf meiner Homepage google.de findest du unter dem Suchbegriff "windows php kommandozeile" weitere Infos, die ich für dich online gestellt habe. :nerd:
 
naja CLI verlangt halt schon ein wenig Vorkenntnisse.
 
Ich dachte allein dass Mamp (oder auch Xampp) gestartet ist, reicht schon aus.
Wenn ich mich recht erinnere, bist du ja im Bereich IT Reparatur tätig? Wenn du das mit der Entwicklung ernsthaft angehen willst und noch eine nicht benützte Kiste rumstehen hast, würde ich dir empfehlen Linux (z.B. Ubuntu) dort zu Entwicklungszwecken zu installieren. Das macht vieles einfacher. Noch um ein paar Ecken komfortabler ist natürlich ein MacOS Rechner.
 
noch eine nicht benützte Kiste rumstehen hast, würde ich dir empfehlen Linux (z.B. Ubuntu) dort zu Entwicklungszwecken zu installieren.
Bestimmt über 20 Stück ;) Hab das vor 3 Jahren mal gemacht. Das arbeiten war fast nicht möglich. Ich musse Xamp vor jeder Benutzung komplett neu installieren. Vielleicht hab ich auch nicht gewusst wie man das startet - aber so funktionierte da nichts. War dann so genervt nach ein paar Wochen murksen, das ich Windows 7 wieder installiert habe ;)

Noch um ein paar Ecken komfortabler ist natürlich ein MacOS Rechner.

Mac? Mir scheint fast, Du meinst das ernst ...
Oha ... 2006 hab ich mir mal ein MacBook gekauft ... 1700 hat das Teil gekostet ... was hab ich mit machen können? Kaum etwas!
Dateien verändern, Pfade - die ganzen Spielereien die man aus Windows gewohnt ist kann man echt komplett vergessen. Hab das teil nach nur 6 Monaten abgestossen (ich glaub für 700 oder 800 € - hauptsache weg).
Vor ... 4 Jahren ... (?) rum hab ich mir ein IPad aufschwatzen lassen ...
Stabil ist das Teil ... muss man schon sagen ... 4 volle Schläge über die Küchenarbeitsplatte - und das Teil hat immer noch gezuckt. Ein Wunder das ich erst nach einem Jahr ausgetickt bin!
Selbst die Gutscheinkarte über 25 Euro hab ich nach einem Jahr nicht integrieren können. Alles viel zu kompliziert! Die hab ich irgendwem im Internet geschenkt (und nicht mal ein Danke für bekommen).

ipad.jpg

Erst nach einem Waschgang in der Spülmaschine war es dann endlich tot! NIE NIE wieder irgendwas von Apple! ;)
Diese ganze Wischtechnik ist nix für mich .. brauche eine Tastatur ...
Hab mir vor etwas über einem Jahr einen ASUS T303 (das grosse mit I7 für fast 1500 €) als "Ersatz" für das IPAD geholt. Dachte ich würde es unterwegs mal verwenden, Daten transferieren...
Mehr als ein Video Abends im Bett und 3-4x geskypt hab ich mit dem Teil nicht ... effektiv vielleicht 10-15x verwendet in der ganzen Zeit.
Seit letztem Jahr hab ich das grosse ASUS ROG Laptop - und alles was ich brauche! Alles andere ist Spielzeug - ein echtes gefrickel und rumgewische auf irgeneinem Stück Glas.
Also mit Windows hatte ich bisher noch keine grossen Probleme. Für alles gibt es Lösungen und man kann sich selber helfen.
Ab und an hab ich Kunden mit einem MacBook im Laden - sie wissen nicht wo sie hingehen sollen und dachten sich, sie fragen mal bei mir (bin bekannt das ich fast alles repariere und nicht wegschmeisse um zu verkaufen).
Tatsächlich gibt es nur in Salzburg einen Store in der Nähe - der aber scheinbar nicht sonderlich beliebt ist - und der nächste ist gut 60km weiter weg in Deutschland. Zwischendrin geben sich immer ein paar Bastler als Profis aus, mit denen aber echte Apple-Liebhaber irgendwie immer ins Gehege kommen. Das ist nur das, was ich so mitbekomme.
Vor 2 Monaten war ich bei einem Kunden dem ich eine Kamera einrichten sollte. Nach 30 Min. bin ich heimgefahren und hab ein ordentliches Gerät geholt. MiniMac, 2 Ipad und natürlich IPhone ... hab gedacht mich trifft der Schlag!
Kann nicht da sitzen und fragen was ich öffnen muss um die IP abzufragen und zu testen ... Habs versucht ... neee .. nochmal ... Apple ... nein Danke ;)
Kein Angriff gegen Dich ;) War jetzt nur ein kleiner Ausflug in meine Apple-Erfahrugen und Gedankenwelt *lach

LG: Tammy
 
Wow wer mit der Apple Welt nicht zurecht kommt hat schon ganz andere Probleme...
Das du überhaupt Kunden hast wundert mich manchmal ein gaaanz kleines bisschen.

@nocte
also ich verstehe warum du fürs Web-entwicklung Linux empfiehlst aber warum MacOS?
 
Zuletzt bearbeitet:
Xamp ? Echt jetzt? Hmm ...

Ich nutz hier Jetbrains PHPstorm/MS Visual Studio zusammen mit beliebig vielen virtuellen Unix Servern über Oracels VirtuaBox + Vagrant (da kann man die Rechner in Sekunden erstellen oder killen und X beliebige Konfigurationen vorhalten) - das find ich weit komfortabler, als X-Rechner im Büro laufen lassen zu müssen. Dazu 2-3 Bildschirme um effektiv arbeiten zu können und los gehts. :)
Statt PHPstorm oder Visual Studio tuts zum anfangen ja auch schon Notepad++ mit Plugins oder ein anderer Code fähiger Editor.

In wie fern ist da jetzt aber MacOS Gewinnbringend oder gar nötig?

Edit: Tealk hatte die selbe Frage, also war se wohl gar nicht sooo dumm, meine Frage. :D ;)

Auch wenn se es eh nicht liest, andere vielleicht schon: fang mit Ubuntu oder Debian als Linux an. Top Dokumentiert und sehr Einsteigerfreundlich aber dennoch prima produktiv einsetzbar für kleinere und mittlere Projekte.
 
Zuletzt bearbeitet:
also ich verstehe warum du fürs Web-entwicklung Linux empfiehlst aber warum MacOS?
Weil MacOS bekanntlich auf Unix basiert und daher einem Linux System sehr ähnlich ist. PHP ist dabei (zwar meist nicht ganz aktuell, aber das lässt sich leicht updaten). MySQL ist schnell installiert. Und Apache ist ebenfalls an Board. Somit reicht für elementare (PHP) Webentwicklung die Installation von MySQL aus.

Die XF Devs entwickeln meines Wissens auch alle auf MacOS.
 
Statt PHPstorm oder Visual Studio tuts zum anfangen ja auch schon Notepad++ mit Plugins oder ein anderer Code fähiger Editor.
Ich mag Atom sehr gerne.

@nocte ja aber warum dann nicht gleich Linux wen man da alles einfach per Paket installieren kann. Außerdem ist es 4 free und sehr viel Datenschutzfreundlicher.
 
@nocte ja aber warum dann nicht gleich Linux wen man da alles einfach per Paket installieren kann. Außerdem ist es 4 free und sehr viel Datenschutzfreundlicher.
Jeder wie er mag. Ich kann auf Mac am produktivsten arbeiten. Viele Programme gibt es auch für Linux nicht und mir ist 1 Rechner (bzw. System) für alle Belange am liebsten.
 
Hatte leider bisher nie die Chance aktiv an einem Mac zu arbeiten, leider. Allgemein sieht der Workflow schon echt gut aus.
Nur die FTP/SFTP Programme fand ich bis jetzt immer sehr schwach.
 
Zurück
Oben