FriendsOfREDAXO / developer

Ermöglicht die Bearbeitung von Templates, Modulen und Aktionen im Dateisystem (also mit einem beliebigen Editor).
MIT License
90 stars 11 forks source link

Developer als Plugin? #5

Closed ghost closed 11 years ago

ghost commented 11 years ago

Hallo Gregor, hier eine Idee die ich heute morgen hatte:

Ein Addon "Developer Tools" welches genauso wie das be_extensions (vorläufiger Name) als Container Addon für Entwickler Plugins dient. Mögliche Plugins:

Auch hier könnte man dann auf der GitHub Seite die verschiedenen Plugins auflisten, so dass man auch ne Überisicht hat was es schon gibt und was man nutzen kann.

Eine Besoderheit: Das Addon selbst hat eine einzige Einstellungsmöglichkeit im Backend: DeveloperMode = true/false. Das dient quasi als globaler Ein- und Ausschalter für Funktionen die die Plugins nutzen, kann aber auch von anderen Addons, in Templates etc. abgefragt werden. Das würde das nervige dran denken eliminieren, verschiedene Addons/Einstellungen abzuschalten (wenn Projekt fertig), die ich manchmal fürs Entwickeln an habe.

jdlx commented 11 years ago

Also auch wenn der Gedanke eines DEV-Masterswitches nett ist, weiß ich nicht ob der Aufwahnd lohnt.

Zum Cheetsheet Plugin: das finde ich ne schöne Idee.. mindestens mal den Teil, daß man das bisherige cheatsheet in anderer Form als PDF zugreifbar macht und bei der Gelegenheit mal updatet/ergänzt. Ich hatte Thomas vor ner Weile mal drauf angesprochen sein cheatsheet in ein GH repo (bzw. dessen Wiki) zu übertragen.. damals allerdings mit wenig Erfolg. ;) Ein GH Wiki hätte diverse Vorteile, wie ad hoc änder/erweiterbar, Bezug des Contents via GH API, usw.

Was den "plugin" Teil der Idee angeht: In Sachen jedweden Content aus diversen Quellen geschmeidig im REX backend anzuzeigen hab ich was das sich (imho) aufdrängen würde: https://github.com/jdlx/rexinfo .. installiers dir mal, und kuck dir an was es kann.. darüber ließe sich ein solche GIT/Wiki basiertes cheatsheet sowohl beziehen wie auch geschmeidig anzeigen lassen..

ghost commented 11 years ago

@jdlx rexinfo -> nice... :)))

Hier noch ne weitere Idee von mir für ein Plugin:

gharlan commented 11 years ago

Also ich tendiere eher dazu, das Addon eigenständig zu lassen. Gründe dafür sind zum Beispiel:

Firephp ist in R5 übrigens schon im Debug-Addon, und phpinfo im Core (System-Page).

jdlx commented 11 years ago

@RexDude ein einfacher "DEV-Masterswitch" wäre im übrigen auch als eigenständiges Plugin(Addon) machbar: da man ja Zugriff auf die configs der versch. Addons hat, kann man prinzipiell dort auch eingreifen.. sprich mehrere Addons "inaktiv" schalten.. wenn man das mit Bedacht tut (z.b. last states berücksichtigen), dann wäre das ein Weg ohne an irgendeinem der Addons selbst was drehen zu müssen oder ein wrapper Addon zu bauen.

Aber: wirklich notwendig ist das in Bezug auf developer oder firephp nicht: developer arbeitet grundsätzlich nur bei eingelogtem User, und firephp - wenn man es nicht grad auf permanent stellt - eben auch nur für die Dauer einer backend Session.

ghost commented 11 years ago

@gharlan ok, dein punkte sind natürlich einleuchtend und nachvollziehbar. was ich aber doof finde: debug addon war bis grad eben noch unbekannt für mich, nur in R5 (?), hat keine backendpage und muss bei leufendem betrieb sicherlich von hand abgeschaltet werden. phpinfo im System zwar nice aber auch nur R5 und etwas versteckt. dann noch developer addon extra + "wo bring ich mein cheetsheet unter?" + jdlx tools usw. hier ist also alles was eigentlich zu einem thema passt, nämlich schlicht und einfach "Developer Tools" halt mega versträut an verschiednene Stellen. deshalb fände ich eine zentrale lösung wie auch immer die aussehen würde, inkl. eines master switch ziemlich cool.

zur update fähigkeit von plugins: wenn ich addons updaten kann, dann sollte ich auch plugins updaten können, oder?

@jdlx

developer arbeitet grundsätzlich nur bei eingelogtem User

und auch nur im backend, oder? wusst ich noch gar nicht. aber dann muss ich es in zukunft ja gar nicht mehr ein und ausschalten...

gharlan commented 11 years ago

Ich verstehe deine Argumente schon auch gut. Ich lasse das hier auch erst mal noch offen, und mache mir auch noch mal weiter Gedanken dazu. Aber das oben war halt so erst mal meine spontane Reaktion dazu (und bisher ist die Tendenz auch immer noch da ;)).

Zum allgemeinen Thema Plugin-Updates: Falls da ein Diskussionswunsch besteht, am besten ein Issue im R5-Repo eröffnen. Würde ich ganz gerne hier eher raushalten. Aber nur so viel: Hatte das schon mehrfach mit Jan K. diskutiert, ist alles nicht so einfach. Aber es steht ja auch noch nichts fest, wobei ich eher nicht glaube, dass da noch zum R5-Release etwas kommt, sondern wenn eher in einem späteren Update.

Zum Thema "wann arbeitet Developer": Immer, wenn man als Admin eingeloggt ist, egal ob Frontend oder Backend. Daher kann man es ruhig dauerhaft aktiv lassen, solange es einen nicht stört, wenn Developer bei jedem Adminaufruf synchronisiert. Ich empfinde da aber keinen spürbaren Performanceverlust. Und wenn Nicht-Admins die Seite aufrufen, ist der Aufwand für den Admin-Check wirklich minimal.

ghost commented 11 years ago

Ok, danke! Wollt auch nur mal meine Idee los werden, weil ich halt eine zentrale Anlaufstelle für Entwicklertools noch vermisse. Ich habe zum Beispiel eine Funktion out() die ich halt momentan in dein Developer-Addon gesteckt hab:

function out($var) {
    echo '[DEBUGOUT_BEGIN]';

    echo '</pre>';
    print_r($var);

    echo '[DEBUGOUT_END]';
}

Sowas wäre halt auch net per Plugin irgendwo nachzurüsten, würde vermutlich dann ins Debug-Addon sogar passen.

Immer, wenn man als Admin eingeloggt ist, egal ob Frontend oder Backend

hmm, kein wunder warum ichs immer lieber ausschalte: habe ne session time von 12h eingestellt :D wegen diesem hier: https://github.com/redaxo/redaxo4/pull/51#issuecomment-12543329 auch wenn man performance mäßig vielleicht nicht so viel merkt, ist trotzdem doof wenns läuft wenn nicht entwickelt wird auch wegen server belastung etc.

ghost commented 11 years ago

schau, das meine ich: es gibt jetzt nochmal zwei neue plugins (oder addons?) für entwickler: https://github.com/tbaddade/redaxo_sherlock https://github.com/tbaddade/redaxo_watson

und du musst mal in mein be_utilities schauen (was ich auch mal demnächst noch releasen werde). hab es etwas aufgehübscht mit netten plugin icons :) man könnte das ding super als basis für developer tools (oder so) nehmen dann mit z.B. mit grünen icons etc. aber natürlich müssten wir hier alle als entwickler an einem strang ziehen und das addon dann auch "offiziell" als developer mutteraddon anerkennen...sonst braut halt doch wieder jeder sein eigenes süppchen ;)

jswebschmiede commented 11 years ago

witzig. ...z.B. mit grünen icons etc. aber natürlich müssten wir hier alle als entwickler an einem strang ziehen und das addon dann auch "offiziell" als developer mutteraddon anerkennen...sonst braut halt doch wieder jeder sein eigenes süppchen ;) von was träumst du? :-1:

ghost commented 11 years ago

von was träumst du?

von einheit :D

gharlan commented 11 years ago

Unter den aktuellen Umständen (keine wirkliche Plugin-Verwaltung auf redaxo.org etc.), empfände ich ein allgemeines Mutteraddon für verschiedene Developer-Tools (von verschiedenen Entwicklern) eher unpraktisch aus den schon genannten Gründen (unterschiedliche Entwicklungs- und Release-Philosophien etc.). Sehe auch noch nicht so wirklich die gravierenden Vorteile davon. Daher mache ich hier auch mal zu.