
| Author | Message |
|---|---|
|
Written on: 25. 10. 2010 [14:06]
|
|
|
uko
Topic creator
registered since: 22.10.2010
Posts: 24
|
Vielleicht kann mir jemand hier im Forum den richtigen Tipp geben. Ich versuche ein eigenes Block Plugin einzubinden. Dafür habe ich zum Test erstmal nur das 'Developed By' kopiert und entsprechende Umbenennungen vorgenommen. Der Block erscheint aber nur auf folgenden Seiten: setup-step5 und manager/plugins sowie manager/plugins/blocks; ansonsten nicht. Was mache ich falsch? Danke Ute |
|
Written on: 25. 10. 2010 [14:51]
|
|
|
fgrandel
Florian Grandel
registered since: 24.11.2009
Posts: 65
|
Hallo Ute, die Blocks werden für jede Zeitschrift einzeln eingestellt. Hast du im Setup Schritt 5.6 (Zeitschriftenverwalter/in->Setup->Schritt 5) den neuen Block bereits in eine der beiden sichtbaren Spalten verschoben (z.B. nach rechts) und dann die Einstellungen gespeichert? Falls das nicht hilft: Du kannst in deiner php.ini die folgenden Einstellungen vornehmen: error_reporting = E_ALL & ~E_DEPRECATED log_errors = On Damit sollten eventuelle PHP-Fehler im Apache error_log auftauchen. Du kannst auch mit error_log=/pfad/zu/einer/logdatei in der php.ini explizit eine eigene Logdatei angeben. Bitte dabei darauf achten, dass die richtige php.ini angepasst wird. Oft, z.B. bei XAMPP oder den meisten Linux-Distributionen, gibt es unterschiedliche Konfigurationsdateien für den Web-Server und die Kommandozeilenversion von PHP. Eventuell wird der Block nur deshalb nicht angezeigt, weil sich im Plug-In noch ein Fehler versteckt. Viele Grüße, Florian Florian Grandel
Software-Entwickler Public Knowledge Project (PKP) http://pkp.sfu.ca/people#fg jerico.dev(at)gmail[dot]com |
|
Written on: 25. 10. 2010 [15:34]
|
|
|
uko
Topic creator
registered since: 22.10.2010
Posts: 24
|
Hallo Florian, danke für die schnelle Antwort. Leider bin ich aber noch nicht weiter gekommen. Das Block Plugin ist simpel; lediglich eine Kopie des 'Developed By' Block Plugin (ich brauche nur die Einbindung eines Bildes plus Link). Umbenannt habe ich alles entsprechend auch den Hinweisen im wiki. In die rechte oder linke sidebar zu schieben ist nicht das Problem. Der Block wird ja angezeigt, aber leider eben nur und ausschließlich auf den besagten Seiten (siehe unten) und nicht auf allen Seiten; Error reporting ist eingestellt - gibt aber keine Fehler. Im Moment wüsste ich also nicht, woran es liegen kann bzw. wie ich dem Ganzen auf die Spur komme. Gruß Ute |
|
Written on: 25. 10. 2010 [17:15]
|
|
|
fgrandel
Florian Grandel
registered since: 24.11.2009
Posts: 65
|
Ute, kannst du denn das originale "developed-by" Plug-In auf allen Seiten sehen? Tritt der Fehler nur bei deiner Kopie auf? Falls ja, dann schlage ich folgendes vor: 1) Installiere dir Eclipse (die PDT-Version) und xdebug, so dass du durch den Code durchsteppen kannst. 2) Schicke mir außerdem dein Plug-In (als ZIP) per Email, so dass ich es bei mir testen kann. Viele Grüße, Florian Florian Grandel
Software-Entwickler Public Knowledge Project (PKP) http://pkp.sfu.ca/people#fg jerico.dev(at)gmail[dot]com |
|
Written on: 25. 10. 2010 [17:20]
|
|
|
fgrandel
Florian Grandel
registered since: 24.11.2009
Posts: 65
|
... und noch eine mögliche Fehlerquelle ... Hast du nach der Installation des Plug-Ins das notwendige Upgrade durchgeführt? Vom OJS-Hauptordner aus: php tools/upgrade.php upgrade Florian Grandel
Software-Entwickler Public Knowledge Project (PKP) http://pkp.sfu.ca/people#fg jerico.dev(at)gmail[dot]com |
|
Written on: 25. 10. 2010 [19:02]
|
|
|
uko
Topic creator
registered since: 22.10.2010
Posts: 24
|
upgrade habe ich durchgeführt; hat aber nix gebracht. Komischerweise habe ich gerade einen analogen Effekt beim Testen eines anderen Plug-Ins: habe mal 'Rounded Corner' enabled: Ergebnis: erscheint auf den Seiten /manager/plugins sowie /manager/plugins/generic - ansonsten nicht (Ich teste das aktuelle release 2.3.3-2 unter windows). Ratlose Grüße, Ute |
|
Written on: 26. 10. 2010 [02:47]
|
|
|
fgrandel
Florian Grandel
registered since: 24.11.2009
Posts: 65
|
Ute, ich habe dein PlugIn bekommen. Ich bin gerade auf der Rückreise (bis Do.) und kann bis dahin nicht so regelmäßig antworten. Bis spätestens Ende der Woche schaffe ich es aber wohl, dein PlugIn zu installieren und zu testen. In der Zwischenzeit kannst du versuchen mit xdebug und in der Datenbank auf Fehlersuche zu gehen. Ich fürchte, dass in deiner Installation irgend etwas durcheinander gekommen ist, wenn auch ein anderes PlugIn nicht richtig geladen wird. Insbesondere müssen die Tabellen "versions" und "plugin_settings" richtig konfiguriert sein. Überprüfe bitte, dass dort alle Einträge für dein Plug-In enthalten sind, analog den Einträgen zum originalen "DevelopedBy"-PlugIn, das ja offensichtlich korrekt funktioniert. Es hört sich für mich so an als wären dort falsche Werte für dein PlugIn konfiguriert oder als würden Einträge fehlen, so dass dein PlugIn nicht richtig erkannt wird. Dass dein PlugIn trotzdem auf manchen Seiten erkannt wird ist nicht unbedingt ein Widerspruch. Es gibt je nach Seite unterschiedliche Lademodi für PlugIns: "enabled only" und "all", s. PluginRegistry::loadCategory(). Die von dir genannten Seiten arbeiten mit "all". Das heißt: Dort werden alle PlugIns geladen, auch wenn sie nicht aktiviert sind. Das ist notwendig, da wir z.B. auf der Konfigurationsseite alle Block-PlugIns anzeigen müssen, auch die deaktivierten. Auf den meisten Seiten vermeiden wir den vollständigen Load aber aus Performancegründen. Die Funktion, die für das "Erkennen" von aktivierten PlugIns zuständig ist, befindet sich in VersionDAO::getCurrentProducts(). Dort solltest du mal einen ersten Breakpoint setzen und überprüfen, ob dein PlugIn überhaupt als "current product" erkannt wird. Wenn nicht, siehst du am SQL dort weshalb es eventuell ausgefiltert wird. Sollte dein PlugIn dort korrekt erkannt werden dann befindet sich der nächste wichtige Einstiegspunkt in PKPTemplateManager::initialize(). Dort werden nämlich die Block-PlugIns geladen. Unter anderem sollte dort auch die Funktion BlockPlugin::register() für dein PlugIn ausgeführt werden, die dann die Hooks setzt. Wenn du feststellst, dass tatsächlich ein Fehler in einer der Tabellen vorliegt, wäre es natürlich ideal, wenn es dir gelingen würde diesen Fehler zu reproduzieren, damit wir ihn dauerhaft korrigieren können. Viele Grüße! Florian Grandel
Software-Entwickler Public Knowledge Project (PKP) http://pkp.sfu.ca/people#fg jerico.dev(at)gmail[dot]com |
|
Written on: 27. 10. 2010 [18:13]
|
|
|
bozana
Bozana Bokan
registered since: 15.12.2009
Posts: 64
|
Ich denke, dass das Verhalten vom Plug-In Rounded Corners fehlerhaft ist, d.h. dass es sich hier um einen Bug handelt -- das selbe passiert sowohl auf meinen Installationen als auch auf der Testinstallation von PKP (http://pkp.sfu.ca/ojs/demo/testdrive/index.php). Deswegen habe ich einen Eintrag in Bugzilla gemacht (s. http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=6077 ). Ute, was Deinen eigenen Plug-In angeht, kann ich leider noch nichts sagen -- ich muss es selbst ausprobieren. Viele Grüße, Bozana |
|
Written on: 27. 10. 2010 [18:45]
|
|
|
uko
Topic creator
registered since: 22.10.2010
Posts: 24
|
Danke Bozana. Zu 'rounded corners' noch eine Frage. Florian schrieb doch, das die Funktion, die für das "Erkennen" von aktivierten PlugIns zuständig ist, sich in VersionDAO::getCurrentProducts() befindet. Ich hab mal nachgeschaut, und wenn ich das richtig verstehe, dann wird dort aus der tabelle versions abgefragt, nicht aus plugin_settings. In der Tabelle versions findet sich aber das 'rounded corner' nicht. Ich hatte inzwischen probiert, den Custom Block Manager zu nutzen, aber da scheitere ich schon daran, dass das von mir eingetragene Plugin nicht auf der Liste der Block Plugins erscheint (in der DB ist der entsprechende Eintrag in der Tabelle plugin_settings aber erfolgt); ich also keine Möglichkeit habe, dann die edit-Funktion aufzurufen. Wenn ich das angelegte Plugin über den Custom Block Manger wieder entferne, bleibt der Eintrag in der DB-Tabelle, und wird nicht gelöscht. Mit dem Debuggen via eclipse und xdebug muss ich mich erst noch so richtig vertraut machen; suche den Fehler also etwas mühsamer im Moment. Ich war auch grad mal auf dem testdrive von pkp - da sieht es so aus, als wenn das gleiche problem besteht? Gruß Ute |
|
Written on: 27. 10. 2010 [21:25]
|
|
|
bozana
Bozana Bokan
registered since: 15.12.2009
Posts: 64
|
Liebe Ute, Ja, ich habe diesen Fehler beim Custom Block Manager auch bemerkt. Hier der Bugzilla-Eintrag: http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=6076 Was VersionDAO::getCurrentProducts() angeht -- das weiß ich leider nicht so genau und muss erstmal nachschauen. Morgen werde ich höchstwahrscheinlich nicht dazu kommen aber evtl. am Freitag. Auf jedem Fall melde ich mich sobald ich mehr weiß. Viele Grüße, Bozana |
|
Written on: 28. 10. 2010 [14:56]
|
|
|
uko
Topic creator
registered since: 22.10.2010
Posts: 24
|
Liebe Bozana, danke - und gleich noch eine Frage: man kann ja auch neue Plugins installieren über das Hochladen von xxx.tar.gz files. Welches tar programm sollte man da unter windows am besten benutzen? Das tool von GnuWin32 reicht da ja nicht aus (error fork, Function not implemented). Viele Grüße, Ute |
|
Written on: 29. 10. 2010 [00:22]
|
|
|
uko
Topic creator
registered since: 22.10.2010
Posts: 24
|
bozana schrieb: Ja, ich habe diesen Fehler beim Custom Block Manager auch bemerkt. Hier der Bugzilla-Eintrag: http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=6076 Für alle, die dieses Problem auch hatten, in bugzilla (siehe obiger Link) findet man einen Fix dafür. Gruß Ute |
|
Written on: 29. 10. 2010 [13:14]
|
|
|
fgrandel
Florian Grandel
registered since: 24.11.2009
Posts: 65
|
Hallo Ute und Bozana, danke, dass ihr während ich unterwegs war das Problem weiter untersucht habt. Es ist mir jetzt klar, wo der Fehler liegt. Ich werde einen Patch bereitstellen, der den Fehler dauerhaft korrigiert, so dass ihr nicht für jedes PlugIn ein SQL ausführen müsst. Viele Grüße, Florian Florian Grandel
Software-Entwickler Public Knowledge Project (PKP) http://pkp.sfu.ca/people#fg jerico.dev(at)gmail[dot]com |
|
Written on: 29. 10. 2010 [23:29]
|
|
|
fgrandel
Florian Grandel
registered since: 24.11.2009
Posts: 65
|
Ich habe soeben einen patch gegen OJS 2.3.3-2 veröffentlich, siehe http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=6076. Dieser Patch wird noch von uns getestet und dann werden wir demnächst ein neues Release von OJS veröffentlichen, das u.a. diesen Patch enthält. Viele Grüße, Florian Florian Grandel
Software-Entwickler Public Knowledge Project (PKP) http://pkp.sfu.ca/people#fg jerico.dev(at)gmail[dot]com |