Plugin zum Erstellen von Plugins

  • Achso, meinst du, du hast die Verzeichnisstruktur des Plugins als Projekt in der IDE und syncst die Dateien dann immer in den WCF-Ordner?


    Der Unterordner avatars wird aber ausgeschlossen

    Mich würde interessieren, wie du das dynamisch gestaltest...
    Irgendwie müssen ja die Daten aus Gallerie, WCF, Filebase, Webdisk, Shop, Paketserver, ... als zur Anwendung gehörig erkannt werden, sonst listet dir das Tool ja alle Daten auf.

  • Irgendwie müssen ja die Daten aus Gallerie, WCF, Filebase, Webdisk, Shop, Paketserver, ... als zur Anwendung gehörig erkannt werden, sonst listet dir das Tool ja alle Daten auf.

    Regulär installierte Plugins haben doch alle Dateien im file-log, es müssen also nur dynamisch generierte Dateien ausgeschlossen werden und dann ein Abgleich erfolgen mit dem filelog, was einem Plugin zugeordnet ist sollte dann ja nicht aufgelistet werden...

  • Naja, ich gehe davon aus, dass es ne liste zu ignorierender Pfade gibt und hoffe, dass man diese auch selbst pflegen kann^^
    Sollte doch generell am ende nicht sooo das Problem sein :P

  • Naja, ich gehe davon aus, dass es ne liste zu ignorierender Pfade gibt und hoffe, dass man diese auch selbst pflegen kann^^
    Sollte doch generell am ende nicht sooo das Problem sein :P

    So sieht es aus. Ich bin noch kein stolzer Kunde der ganzen Anwendungen von WoltLab. Ich habe und kenne lediglich WCF und WBB. Daher habe ich beim Projekt Manager auch nur diese berücksichtigt, allerdings versuche ich möglichst flexibel zu bleiben, indem ich vieles in Optionen ausgelagert habe, welche vom Entwickler angepasst werden können. Die Option der auszuschließenden Pfade enthält für das WCF folgende Pfade als Standardwert:


    language
    tmp
    log
    attachments
    images/smilies
    images/avatars
    templates
    acp/templates
    (Templates werden ausgeschlossen, da sie nicht über das Files- sondern Templates-PIP installiert werden)


    Zudem werden folgende Dateinamen ausgeschlossen (die ersten drei sind reguläre Ausdrücke):
    style-(.*)\.css
    cache.(.*)\.php
    stylePreview-(.*)\.(.*)
    config.inc.php



    Achso, meinst du, du hast die Verzeichnisstruktur des Plugins als Projekt in der IDE und syncst die Dateien dann immer in den WCF-Ordner?


    Es gibt zwei Einstellungen im Plugin für externe Projekte:
    1. Alle Dateien werden mit dem WCF (bzw. den entsprechenden Anwendungen) synchronisiert (kopiert im Dateisystem).
    2. Es werden alle Dateien, außer das lib Verzeichnis synchronisiert. Das lib Verzeichnis wird durch Registration eines eigenen Autoloaders dem WCF bekannt gemacht.


    Die zweite Methode nutze ich, da mir meine IDE sonst immer zwei Sprungziele zur Auswahl stellt: Die Klasse in meinem eigenen Projekt und in die kopierte Version im WCF.


    In den externen Projekten ist die Ordnerstruktur so, wie man sie im WCF (bzw. der Anwendung) haben möchte. Die Zuordnung zur entsprechenden Anwendung erfolgt über einen Ordner, welcher nach der Abkürzung der Anwendung benannt ist. Beispielsweise wcf, falls man die darin enthaltenen Dateien im WCF haben möchte, und wbb, falls die Dateien in das Verzeichnis des WBB kopiert werden sollen.


  • Der Vorteil für WoltLab liegt schließlich klar auf der Hand: Neueinsteiger und auch fortgeschrittene Entwickler, welche aber noch keinen für sich zufriedenstellenden Workflow aufbauen konnten, können mit einem Plugin von WoltLab ihre lokale Installation des WCF zu einer Art Entwicklungsumgebung umfunktionieren. Es gibt potentiell mehr Entwickler, es gibt schneller und sauberer entwickelte Plugins, also insgesamt mehr Plugins im Pluginstore. Das wiederum kann zu mehr Kunden führen, da sie das WCF/WBB ihren Bedürfnissen durch die Vielfalt der Plugins anpassen können, und natürlich zu mehr Einnahmen aus dem Pluginstore.


    Verzeihe mir die Frage, aber wenn dein Plugin so gut ist und so viel kann und auch für Neueinsteiger geeignet ist, wieso haust du das Plugin hier nicht in den Plugin-Store oder haust ein Plugin nach dem anderen raus? Damit könntest du doch auf langer Sicht mehr Geld einnehmen wie dir WoltLab zahlen würde. Wenn man so ein "Goldesel" im Stall hat, wieso nutzt du ihn dann nicht? - Irgendwie schon merkwürdig, wenn meine gesunde Skepsis einmal erlaubt ist.

  • @Serana
    Ich werbe natürlich schon ein bisschen dafür, aber im Kern sollte meine Aussage stimmen. Ich bin selbst auch nur auf die Entwicklung von Plugins für das WCF / WBB aufmerksam geworden, da ich für meine Community Anpassungen und Erweiterungen vornehmen wollte. Als ich dann festgestellt habe, wie mühsam es ist, die Pakete händisch anzulegen und den Code zu testen, habe ich mich entschlossen es mir einfacher zu machen. Ich habe den Projekt Manager für das WCF 1.1 geschrieben und damit Plugins für meine Community gemacht. Allerdings war der Projekt Manager damals deutlich schwächer. Vor etwa einem Jahr habe ich beschlossen, dass ich meine Community auf das WCF 2 umziehen möchte. Dazu muss ich die eigenen Plugins anpassen. Dafür wollte ich auch einen neuen Projekt Manager. Sowohl der Projekt Manager als auch der Umzug meiner Community gehen der Fertigstellung entgegen. Im Anschluss habe ich vor, die Plugins, welche ich für meine Community geschrieben habe und die nicht zu speziell sind, in den Plugin Store zu stellen. Auch den Projekt Manager möchte ich veröffentlichen, bin mir aber noch nicht sicher, unter welcher Lizenz und für welchen Preis. Eine kostenlose Nutzung, zumindest für nicht-kommerzielle Entwickler, ist auf jeden Fall mein Ziel.


    Da ich aber auch nur begrenzt Zeit habe mich um meine Community zu kümmern und noch weniger Zeit, mir irgendwelche Plugins aus den Fingern zu saugen, nur um damit etwas Geld zu verdienen, habe ich eben überlegt, ob ich aus dem Projekt Manager etwas Profit schlagen kann, ohne von meinem Ziel abzuweichen, den Projekt Manager für Einsteiger kostenfrei zu halten.


    Skepsis ist natürlich bei so etwas immer angebracht, gerade weil ich bisher nur Worte liefere und noch nichts konkretes. Falls du noch weitere Fragen hast, werde ich mich diesen gerne annehmen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!