WebsiteBaker Community Forum

WebsiteBaker Support (2.8.x) => Hilfe & Support (deutsch) => General Help & Support => Allgemeine Hilfe & Support => Topic started by: WebBird on July 20, 2009, 01:12:38 PM

Title: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 01:12:38 PM
Hallo,

mir ist noch was aufgefallen, wobei ich nicht weiß, ob noch andere Entwickler so schlimme Dinge treiben wie ich. :-D

Ich hab' nämlich in meinen Modulen zum Teil Icons aus dem WB-Admin-Backend benutzt, und die liegen ja nun woanders. (Nicht mehr unter admin/images, sondern unter templates/<Template>/images) Ich finde es halt von wegen der CI etwas unglücklich, wenn jedes Modul seine eigenen Icons mitbringt - und auf der anderen Seite ist es Platzverschwendung, wenn immer dieselben Icons in den einzelnen Modulverzeichnissen liegen.

Wäre vielleicht schön, wenn es dafür eine allgemeingültige Lösung gäbe. Etwa eine Funktion, die die URL für die Grafiken des aktuell gewählten Backend-Templates liefert. Und zur Wahrung der Abwärtskompatibilit ät bis auf weiteres zusätzlich die alten Icons im alten Ordner.

Ginge das?
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 20, 2009, 04:20:47 PM
Hallo,

Quote
Wäre vielleicht schön, wenn es dafür eine allgemeingültige Lösung gäbe. Etwa eine Funktion, die die URL für die Grafiken des aktuell gewählten Backend-Templates liefert. Und zur Wahrung der Abwärtskompatibilit ät bis auf weiteres zusätzlich die alten Icons im alten Ordner.

Ist doch alles schon gemacht beziehungseweise es wird bei der Upgrade Anleitung beschrieben:

Guckst du hier:

http://start.websitebaker2.org/de/wb-2.8.php

Vorbereitungen:
- Schritt 4 + Hinweis

Abschlussarbeiten:
-Schritt 3

Und schwuppdiwupp ziehen sich auch Module die Images immer vom aktuellen theme.  :-D

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 20, 2009, 04:38:37 PM
Hi,

damit funktionieren dann Module für WB 2.8 aber nicht mehr für WB 2.7, da dort THEME_URL nicht definiert ist.

Wer Module für WB 2.8 entwickelt, aber sicherstellen will dass diese auch noch unter WB 2.7 laufen könnte folgendes verwenden:
Code: [Select]
$admin_theme_path = defined('THEME_URL') ? THEME_URL : ADMIN_URL;
Doc

P.S.: Und nein, precheck.php wäre hier keine Lösung, da diese Datei erst ab WB 2.8 aufwärts ausgewertet wird, in WB 2.7 aber ignoriert werden würde.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 20, 2009, 04:42:24 PM
Hallo doc,

das ist natürlich der Königsweg, bist wie immer genial.  :-D

Bin gespannt ob jemand das in Modul primer mit aufnimmt. Gibt ja welche, die das weiterführen wollen.

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: aldus on July 20, 2009, 04:57:11 PM
Naja - meine Begeisterung hält sich in Grenzen.
Wenn die THEME_URL nicht definiert ist dann eben gleich die ADMIN_URL nehmen.
Code: [Select]
<?php
if (!defined(&#39;THEME_URL&#39;)) define ("THEME_URL", ADMIN_URL);
?>

dann ist WebBird auch sprachlich aus dem Schneider und kann weiter 2.8 machen und für
WB2.7 nicht noch eine neue Variable anlegen u.s.w.

Und eigentlich könnte man die Zeile auch in die config.php schreiben ...
oder noch besser im #836 die gleich noch auf dem letzten drücker mit auf den Weg in die Rente dazupacken ...

Gruß
Aldus
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 20, 2009, 05:02:20 PM
Ich glaube ich hatte das so verstanden und gelesen. Du entwickelst ein Modul mit THEM_URL  und da es in 2.7 die Konstante nicht gibt, siehe da, das Modul funktioniert trotzdem. Ginial

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 20, 2009, 05:22:23 PM
Ich meinte diese Lösung

Quote
<?php
if (!defined('THEME_URL')) define ("THEME_URL", ADMIN_URL);
?>

Finde ich gut.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 20, 2009, 05:33:03 PM
Hi,

Quote from: Aldus
Und eigentlich könnte man die Zeile auch in die config.php schreiben ...
Welche config.php die von WB, wohl eher nicht. WB 2.8 kennt ja bereits THEME_URL, nur WB < 2.8 nicht. Wenn so gemeint, müsste diese Zeile in die config.php von WB 2.7, WB 2.6.x ...

Ich definiere Pfade, ULRs oder sonstige Konfigurationsvaria blen meiner Moduls meist in einer config.inc.php:
Code: [Select]
$admin_theme_url = defined('THEME_URL') ? (THEME_URL : ADMIN_URL) . '/images/';
Wers lieber mit ner Konstanten löst, nur zu. Die beste Lösung kann ja dann in den "Modul Leitfaden" einfliessen, dafür ist er ja schliesslich gedacht.

Gruss Doc
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 20, 2009, 05:42:29 PM
SEhe ich auch so, Wäre ja schlimm, wenn wir alle einer Meinung wären. Es is tdoch produktiv, wenn wir unterschiedlicher Meinung sind, man denkt nach, könnte er doch recht haben. Meistens entstehen dadurch optimale Lösungen.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: aldus on July 20, 2009, 05:44:11 PM
Hi,

Quote from: Aldus
Und eigentlich könnte man die Zeile auch in die config.php schreiben ...
Welche config.php die von WB, wohl eher nicht. WB 2.8 kennt ja bereits THEME_URL, nur WB < 2.8 nicht. Wenn so gemeint, müsste diese Zeile in die config.php von WB 2.7, WB 2.6.x ...
Die meinte ich auch ... dann ist sie halt "für alle da" ...
Quote
Ich definiere Pfade, ULRs oder sonstige Konfigurationsvaria blen meiner Moduls meist in einer config.inc.php:
Code: [Select]
$admin_theme_url = defined('THEME_URL') ? (THEME_URL : ADMIN_URL) . '/images/';
Wers lieber mit ner Konstanten löst, nur zu. Die beste Lösung kann ja dann in den "Modul Leitfaden" einfliessen, dafür ist er ja schliesslich gedacht.

Gruss D
oc

ups
Code: [Select]
$admin_theme_url = defined('THEME_URL') ? (THEME_URL : ADMIN_URL) . '/images/';
Auch mit der Klammersetzung?  :-D
Code: [Select]
<?php
$admin_theme_url 
= (defined(&#39;THEME_URL&#39;) ? THEME_URL : ADMIN_URL) . &#39;/images/&#39;;

Gruß
Aldus
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 05:49:59 PM
Nein nein nein, Ihr versteht mich nicht. Was ist mit den Modulen, die für 2.7 entwickelt wurden und für 2.8 nicht angepaßt werden?
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 20, 2009, 05:54:10 PM
Hallo WebBird,

Vielleicht ein Modul von 27 was jetzt unter 2.8 nicht läuft. Dann könnte man eine Lösung finden. Ein praktisches Beispiel ist immer besser als die Theorie.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 20, 2009, 05:56:30 PM
Heisses Thema, aber berechtigt. Hier überschlagen sich die Posts

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 06:00:15 PM
Sorry, aber Ihr seid noch immer im falschen Film!

Neuer WB-Benutzer installiert WB 2.8. Installiert Module aus 2.7. Hat komisches Zeug im Backend, weil nix Icons da. Bezieht komisches Zeug auf Qualität von WB. Schmeißt WB weg. ;)

Ja, es ging ursprünglich auch um mich als Modulentwickler (was tun), aber es geht auch um den Benutzer bzw. um die "tausende" Module, die es schon gibt. Wenn durch das Update eine Überarbeitung aller Module erzwungen wird, ist das nix gutt für den Ruf der neuen Version.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 06:01:12 PM
Und jaaaa, man kann es lösen, indem man "von Hand" dies und jenes tut. Und genau das sollte nicht nötig sein. Weil ist nix gutt. ;)
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 20, 2009, 06:05:05 PM
Hi,

also zusammenfassend gibt es folgende Scenarien:
a) WB 2.7 Modul wird ohne Anpassung in 2.8 verwendet
b) WB 2.8 Modul soll sowohl unter 2.8 als auch 2.7 laufen

Lösung zu a):
Das Modul bekommt eine precheck.php welche prüft ob die Version 2.7 ist. Macht keinen Unterschied für WB 2.7, bricht aber beim Installieren des Moduls ab, wenn man versucht dieses Modul in WB 2.8 zu installieren. Ist das Modul gefixt, fliegt die precheck.php wieder raus. Müsste in jedem Modul gemacht werden (wurde so auch bei den Admin Modulen beim Update von 2.6.x auf 2.7 gemacht, Stichwort: Abschnitt Admin-Tools und Settings->Advanced Settings).

Oder: Man macht ne Abfrage in den WB 2.8 Core, der die Variable $module_platform prüft. Ist diese < WB 2.8 dann Warnmeldung, dass evtl. ein paar Ungereimtheiten (z.B. Icons ...) auftauchen können, die man fixen kann indem mann, oder ...

Lösungen zu b):
Zwei Wege. Entweder indem man das ganze im Modul Code selbst vorsieht ($admin_image_path, Konstante), oder aber in WB 2.7 eine Konstante in der config.php definiert (THEME_URL --> ADMIN_URL).

Doc
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 06:09:30 PM
Was spricht dagegen, einfach einen Icon-Satz im alten Verzeichnis zu belassen? Erspart einem einfach alles, von der Anpassung im Modul bis zur Handarbeit bei der Installation alter Module.

Ihr hattet wohl noch nie zahlende Kunden, die Euch wegen sowas an den Hals gesprungen sind, wie? :roll:
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 20, 2009, 06:15:02 PM
Gebe ich dir eigentlich recht, jetzt lästere ich mal, und was spricht dagegen, wenn du deinen Kunden das alte Verzeichnis einrichtet und du den Iconsatz einspielt. Obohl ich wüsste jetzt nicht dass das alte Verzeichnis beim Upgrade gelöscht wird. Also müsste es doc hklappen. oder?

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 20, 2009, 06:16:38 PM
Hallo,

Also so wie ich das verstehe:

1.) Um WB 2.7 Module, die nicht an WB 2.8 angepasst zumindest mit alten icons am laufen zu haben:
==>admin/images Folder muss in WB 2.8 drin bleiben, zumindest das was module betreffen könnte sollte wieder ins Paket aufgenommen werden.

2.) Um Module die für WB 2.8 entwickelt wurden auch unter 2.7 lauffähig zu haben:
==>zusätzlich docs/aldus script für Module oder config.inc.php in Module einbauen

Weitere Änderungen sind nicht notwendig. Damit dürften dann alle Module sowohl unter 2.8 als auch unter 2.7 lauffähig sein, ohne dass der Benutzer eingreifen muss. Bei neueren Versionen von Modulen, sollte dann sukzessive die Theme Unterstützung eingebaut werden. Der admin/images kann dann bei einer künftigen Version gelöscht zu werden.

Wäre das ok?

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 20, 2009, 06:16:46 PM
Hi,

Quote from: WebBird
Ihr hattet wohl noch nie zahlende Kunden, die Euch wegen sowas an den Hals gesprungen sind, wie?
Ne, weil sowas wie Upgrade, Neuinstallation etc. über meinen Support abgedeckt war und man sowas zuvor gemeinsam besprochen und auf ein gemeinsames Vorgehen geinigt hat. Bin immer super damit gefahren  :wink:

Den alten Image Ordner einfach drin lassen, ist halt die Quick & Dirty Methode.

Denke es gibt nicht allzu viele Admin Module welche auch Icons aus dem /admin Ordner verwenden. Diese sollten schnell durch eine neue Variante mit precheck.php oder define THEME_URL etc. upgedatet sein. Dann einfach das neue Admin Tool installieren und fertig - die sauberere Lösung (wie auch bei WB 2.7 praktiziert).

Doc
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 20, 2009, 06:22:04 PM
Hallo,

Quote
Gebe ich dir eigentlich recht, jetzt lästere ich mal, und was spricht dagegen, wenn du deinen Kunden das alte Verzeichnis einrichtet und du den Iconsatz einspielt. Obohl ich wüsste jetzt nicht dass das alte Verzeichnis beim Upgrade gelöscht wird. Also müsste es doc hklappen. oder?

Dagegen spricht, User installiert sich WB 2.8, dann irgendein Modul und sieht sch.... im backend aus. Is nich gut und muss nicht sein.

Auch wenn es mir (persönlich) nicht gefällt den alten kram drinzulassen, denke aber dass ist für die Übergagszeit einfach noch die beste Lösung.

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 06:23:42 PM
Ich hab keinen WB-Kunden gemeint. ;) Aber im Beruf hab ich so einiges an Erfahrung, und die sagt: Wenn ich eine Sollbruchstelle kenne, und die ist einfach zu kleben, dann, um Himmels willen, klebe sie!

Mein Kunde (in beruflicher Hinsicht) hat ein Produkt meiner Firma samt Wartungsvertrag. Und er hat hunderte "Pakete", die von dem Produkt abhängig sind.

Wenn wir nun im Produkt was ändern, das dazu führt, daß der Kunde seine hunderte Pakete ändern muß, entstehen ihm Kosten. Das ist (selbstverständlich) inakzeptabel, und das würde er uns zu Recht um die Ohren hauen.

Nun muß es natürlich möglich sein, sich auch mal von Altlasten zu trennen. Das tut man, indem man dies RECHTZEITIG und LAUT ankündigt. Natürlich muß man dann damit rechnen, daß die Kunden, die allzu große Kosten befürchten, dann nicht umsteigen werden. Daher muß man sich vorher sehr genau überlegen, ob man dieses Risiko eingehen will, und ob es die Sache wert ist.

In diesem Fall bin ich der Meinung, daß es der Akzeptanz von WB 2.8 nicht gerade förderlich sein wird, wenn man solche Probleme wie diese BEWUSST provoziert. Wenn man nicht dran denkt - schlimm genug. Wenn man es aber WEISS und bewußt ignoriert, dann ist das, man entschuldige das harte Wort, grob fahrlässig. Ja, es sind KLEINIGKEITEN - und genau DESHALB sollte man eine vernünftige Lösung finden.

In diesem konkreten Fall sähe die vernünftige Lösung so aus, daß man per Default das alte Icon-Verzeichnis beläßt und darauf hinweist, daß der Benutzer es entfernen kann, wenn er sicher ist, daß er keine alten Module < 2.8 einsetzen wird. Im Zweifel soll er es lieber lassen. Wir reden hier ja nicht von Gigabytes, sondern von sage und schreibe 164 kB! (Bei mir unter Windows.)

Den Modulentwicklern legt man dann gleichzeitig SEHR eindringlich nahe, die neuen Pfade zu benutzen, da man in künftigen Versionen eben nicht mehr Rücksicht darauf nehmen wird, abwärtskompatibel zu sein.

Der professionelle Weg ist immer, mindestens eine Version lang darauf zu achten, daß man abwärtskompatibel ist. Fragt mal Microsoft. ;)
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 20, 2009, 06:27:16 PM
Wurde ja bisher auch so gehandhabt. Siehe Droplets und Outputfilter. Dafür führen ja diese Diskussionen. Ist ja sehr positiv.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 20, 2009, 06:29:06 PM
Hi WebBird,

was spricht dagegen, die Zeit bis zum WB 2.8 Final zu nutzen, die 10-15 Admin-Module zu fixen, die wirklich den /admin/images/... Pfad verwenden. Im WB 2.8 Upgrade Script kann man dann ein Prüfung auf alte Admin-Tools unterbringen und einen Hinweis ausgeben, diese Module mit den aktuellen Versionen auf AMASP oder der Addons Seite zu ersetzen.

Das wurde so auch beim Upgrade von WB 2.6 auf WB 2.7 praktiziert. Denke wenn gefixte Module bereit stehen, kein Problem. Dann kann man:

a) den alten Admin Pfad drin lassen
b) WB 2.7 auf 2.8 upgraden
c) die neuen Admin Tools einspielen
d) den alten Admin Pfad löschen wenn nicht mehr gebraucht.

Doc

P.S.: Vielleicht kann man ja hier eine Liste der betroffenen Admin-Module erstellen.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 06:43:16 PM
Tja, wenn Du das tun willst, feel free.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 07:02:34 PM
Das Modul bekommt eine precheck.php welche prüft ob die Version 2.7 ist.

Wo finde ich die Dokumentation zu dieser Datei?
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 20, 2009, 07:05:05 PM
Hi,

Quote from: WebBird
Tja, wenn Du das tun willst, feel free.
Habe die Admin-Module beim Upgrade von 2.6 auf 2.7 upgedated, denke für WB 2.8 sind andere dran :wink:

Oder halt Quick und Dirty. Meine Erfahrung von Quick und Dirty Lösungen ist nur, dass diese aus Bequemlichkeit meist länger bleiben als angenommen und es auch keinen wirklichen Anreiz gibt, Module auf WB 2.8 upzudaten, was sich dann spätestens beim nächsten WB Update rächt. Nun, wir werden sehen.

Gruss Doc
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 07:09:26 PM
Beim nächsten Mal kann man dann aber zu Recht sagen, "Das war lange angekündigt, wer seine Module jetzt noch nicht umgestellt hat, ist selber Schuld." Das kann man jetzt noch nicht mit Fug und Recht behaupten. :-D
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 20, 2009, 07:10:47 PM
Übrigens... ich hab jetzt schon von der einen oder anderen Seite gehört "Ach, WB 2.8, das macht doch nur Probleme und bringt nix wirklich Neues, also bleib ich doch lieber bei 2.7."

Schade eigentlich. :|
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Hans>NULL on July 20, 2009, 07:22:36 PM
Quote
bringt nix wirklich Neues,
Wenn das von ECHTEN Weltverschwörern kommt, ist's Werbung  :-D
Übrigens: Dieser Sommer würde auch angekündigt, aber er bringt nix neues.
Gruß, Hans>NUL
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 20, 2009, 07:57:02 PM
Hallo,

==offtopic==

Quote
Übrigens... ich hab jetzt schon von der einen oder anderen Seite gehört "Ach, WB 2.8, das macht doch nur Probleme und bringt nix wirklich Neues, also bleib ich doch lieber bei 2.7."

-über 10 neue features
-über 50 fixes
-5 third party scripts aktualisiert

und die Probleme, dazu ist ja die RC Testphase da um das zu lokaliesieren. Das meiste was bisher hier im Forum an Problemen aufgetaucht ist ist ja bereits gefixt oder wird gefixt.

Ok, aber wer nicht will, der muss ja nicht. Bleibt jedem selbst überlassen.

==offtopic ende==

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 20, 2009, 10:40:07 PM
Hallo,

so ein Teil der admin/images hat wieder Einzug in WB 2.8 gehalten. Damit wäre der Part erledigt, jetzt sind die Moduldevelopper dran  :-D

http://project.websitebaker2.org/changeset/1086 (http://project.websitebaker2.org/changeset/1086)

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 20, 2009, 10:44:42 PM
Hi,

Quote from: Ruebenwurzel
Damit wäre der Part erledigt, jetzt sind die Moduldevelopper dran
Fertig. Speichere CSS, Icons und Bilder von Modulen im Normalfall im Modulordner selbst :wink:

Doc
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: chio on July 21, 2009, 08:40:35 AM
Quote
Speichere CSS, Icons und Bilder von Modulen im Normalfall im Modulordner selbst
Dann sind die Bilder ein Fremdkörper und passen nicht zum Admin-Template.
Ich muss Webbird recht geben, das Problem völlig richtig erkannt.
Und die Lösung, die alten Admin-Bilder wieder reinzugeben ist wohl die einzig sinnvolle. Viele Module fallen ohne sie völlig auseinander.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 21, 2009, 11:14:07 AM
Fertig. Speichere CSS, Icons und Bilder von Modulen im Normalfall im Modulordner selbst :wink:

Wie ich schon sagte, dann haben wir hinterher dieselben Bilder in x Modulordnern - was für eine Platzverschwendung.

Von dem von chio bereits erwähnten Darstellungsproblem mal ganz abgesehen.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 21, 2009, 11:14:49 AM
Danke, Matthias, für Deine sehr pragmatische Herangehensweise. :-)
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 21, 2009, 12:23:43 PM
Hi,

Quote from: Chio
Dann sind die Bilder ein Fremdkörper und passen nicht zum Admin-Template.
Ich spreche von Modul-Icons die nicht im Admin Ordner enthalten sind, wie z.B. die Symbol-Icons im Addon File Editor.

Wenn sich zukünftige Module wirklich nahtlos in das gerade aktive Backend Theme integrieren wollen, dürften ein paar mehr Klimmzüge nötig sein (z.B.):
Quote
- /modules/my_mod/icons/common/bild.gif   (unabhängig Bilder oder Bilder wenn gewählte Theme nicht unterstützt)
 - /modules/my_mod/icons/theme_x/bild2.gif (Bilder wenn theme_x verwendet wird)
 - /modules/my_mod/icons/theme_y/bild2.gif (Bilder wenn theme_y verwendet wird)

Ähnliches Konstrukt dann für die Modul CSS. Alternativ könnten man auch im jeweiligen Admin Backend Theme eindeutige CSS Selektoren für Addons einführen: Überschriften, Paragraphs, Form Elemente ..., welche an das jeweilige Admin Theme angepasst sind. Wäre dann eine Latte von "Konventionen" für Backend Theme Entwickler.

Ohne solche "Vorgaben" könnte man bei den Modul CSS ähnlich wie mit Modulbildern verfahren, also /modules/my_mod/css/theme_x.css ...

So oder so, es wird noch eine Weile Dauern bis vernünftige Standards ausgearbeitet wurden. Wenn man sich dann auf einen Standard geeinigt hat, wäre das ein guter Topic für den "Modul-Leitfaden".

Gruss Doc
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Stefek on July 21, 2009, 12:35:11 PM
auch im jeweiligen Admin Backend Theme eindeutige CSS Selektoren für Addons einführen: Überschriften, Paragraphs, Form Elemente ..., welche an das jeweilige Admin Theme angepasst sind. Wäre dann eine Latte von "Konventionen" für Backend Theme Entwickler.

Genau so wäre es richtig.
Es wäre zunächst wichtig, einen vernünftigen Backend Theme Prototypen zu erstellen, der Klassen bereithält, die widerum von den Modul-Designern/Entwicklern eingesetzt werden können. Also solche, auf die die Designer zurückgreifen können.

Ein Topic für den Modul Primer in diesem Zusammenhang wäre sehr sinnvoll.

Stefek
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 21, 2009, 04:11:13 PM
Mein Beitrag #25 wurde wohl übersehen. Wo finde ich die Doku zur precheck.php? Wo gibt es ein Beispiel?
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 21, 2009, 04:35:02 PM
Hallo,

hoffe, dass wir bis zum Final eine muster precheck.php (gibt es schon) + dazugehörige Doku liefern können.

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 21, 2009, 05:14:33 PM
Kann ich das Muster haben? Würd das gern schon in EM einbauen.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: doc on July 21, 2009, 06:10:41 PM
Hi,

Quote from: WebBird
Mein Beitrag #25 wurde wohl übersehen. Wo finde ich die Doku zur precheck.php? Wo gibt es ein Beispiel?
Ein Beispiel für "Precheck-Basics", sprich Abfrage der Modul-Mindestanforderung für WB- und PHP Version findest  Du im Addon File Editor ab Version 0.70. Hatte mal ne "precheck.php" die alle Möglichkeiten aufzeigt, ist aber beim letzten Platten-Putz über den Jordan gegangen.

Ein paar Infos über mögliche Schlüsselwörter findet man in der Datei /framework/addon.precheck.inc.php. Wer Zeit hat, sollte wohl lieber warten, bis Matthias die vorhanden Infos  lokalisiert und gepostet hat und dann loslegen  :wink:

Doc
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 22, 2009, 10:23:52 AM
Hallo,

so, nach einem Tip von doc bin ich fündig geworden  :-D.

Im Anhang ein dummy-modul und ein dummy-template in dem eine precheck.php drin ist. Denke innerhalb der Datei ist alles so gut dokumentiert, dass zumindest modul/template developper damit zurecht kommen. Dennoch wäre eine zusätzliche Dokumentation (mehrsprachig!!) nicht schlecht.

Viel Spaß beim testen.

Matthias

[gelöscht durch Administrator]
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 22, 2009, 11:21:57 AM
Hm. Vorschlag für Doku in Deutsch:

---

Mit Hilfe der precheck.php ist es möglich, vor der Installation eines Moduls auf dem Server zu überprüfen, ob alle Voraussetzungen erfüllt sind. (Beispielsweise bezüglich der WB- oder PHP-Version.)

Hierzu wird in der precheck.php ein Array $PRECHECK belegt. Folgende Schlüssel können verwendet werden:

WB_VERSION
Die WebsiteBaker-Version, die installiert sein muß.

Beispiel:
Code: [Select]
$PRECHECK['WB_VERSION'] = array('VERSION' => '2.7', 'OPERATOR' => '>=');
Das Attribut OPERATOR kann auch weggelassen werden; Default ist '>=', also "größer/gleich" oder auch "mindestens".

WB_ADDONS
Vorausgesetzte (andere) Addon-Module.

Beispiel:
Code: [Select]
$PRECHECK['WB_ADDONS'] = array(
    'anynews'    => array('VERSION' => '0.3.4', 'OPERATOR' => '='),
    'backup',
);

Es muß mindestens ein Verzeichnisname angegeben werden. Sofern eine bestimmte Version vorausgesetzt wird, kann diese zusätzlich angegeben werden. Siehe Beispiel.

PHP_VERSION
Vorausgesetzte PHP-Version.

Beispiel:
Code: [Select]
$PRECHECK['PHP_VERSION'] = array('VERSION' => '5.2.6', 'OPERATOR' => '>=');
Das Attribut OPERATOR kann auch weggelassen werden; Default ist '>='.

PHP_EXTENSIONS
Vorausgesetzte PHP Extensions. Diese werden als einfaches Array angegeben.

Beispiel:
Code: [Select]
$PRECHECK['PHP_EXTENSIONS'] = array('gd', 'libxml');
Die Extensions werden einfach namentlich angegeben.

PHP_SETTINGS
Einstellungen der php.ini, die vorhanden sein müssen. Die Angabe besteht in einem Array; Schlüssel sind die Attribute der php.ini, Werte die erwarteten Werte.

Beispiel:
Code: [Select]
$PRECHECK['PHP_SETTINGS'] = array('display_errors' => '1', 'safe_mode' => '0');

CUSTOM_CHECKS

Über die o. g. Standardprüfungen hinaus können eigene Checks definiert werden. Hierzu wird der Schlüssel CUSTOM_CHECKS verwendet.

Code: [Select]
$status = file_exists(WB_PATH . '/include/yui');
$required = $TEXT['INSTALLED'];
$actual = ($status) ? $TEXT['INSTALLED'] : $TEXT['NOT_INSTALLED'];

$PRECHECK['CUSTOM_CHECKS'] = array(
    'yui library'    => array('REQUIRED' => $required, 'ACTUAL' => $actual, 'STATUS'    => $status)
);

---

So weit erstmal.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 22, 2009, 11:33:18 AM
Entschuldigung, vor lauter Begeisterung hab ich glatt vergessen, mich zu bedanken. :roll:
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 22, 2009, 11:39:43 AM
Hallo,

cooles teil,l gelle  :-D

Danke für die deutsche howto, sollte in modul-primer mit aufgenommen werden (oder hello-world, oder auf auf hilfeseite oder ...)

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: WebBird on July 22, 2009, 12:09:47 PM
cooles teil,l gelle  :-D

Very cool. :-D
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: JayKay89 on July 22, 2009, 05:18:48 PM
Könnte mal jemand das Form X Modul unter WB2.8 testen? Verursacht bei mir Probleme, sobald ich die Einstellungen verändere, was nämlich dazu führt, dass im Frontend nur noch die Doppelpunkte, aber keine Felder & Labels mehr angezeigt werden...
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: erpe0812 on July 22, 2009, 05:37:45 PM
Hallo
das Form X Modul wird soweit ich weiss nicht weiter gepflegt (seit Herbst letzten Jahres).

Daher hat sich jemand des Moduls angenommen, es etwas "gereinigt", neue Funktionalitäten hinzugefügt und es als mp Form zur Verfügung gestellt.
Weiss nicht, ob es jetzt Sinn macht, das Form X nochmal aufzugreifen.

Das MP Form ist hier zu finden:
http://www.websitebakers.com/pages/modules/interaction/mpform.php

Gruss

erpe

PS: Auch wenn es aus Gründen der Abwärtskompatibilit ät eventuell Sinn macht
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Stefek on July 22, 2009, 05:49:49 PM
Bin der gleichen Meinung.
MP Form leistet alles was mit X Form beabsichtigt wurde und noch viel mehr.
Der X Form Entwickler entwickelt das Modul nicht mehr.

Ich empfehle einen Umstieg auf (und eine Förderung des) MPForm Moduls.

Gruß,
Stefek

Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: JayKay89 on July 22, 2009, 07:05:33 PM
Bereits probiert, gleiches Prob  :-(
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: aldus on July 22, 2009, 07:23:18 PM
Unter "Optionen" -> "erweiterte Optionen" den PHP Error Level mal auf "E_ALL & Strict" gestellt und
dann Fehlermeldungen bekommen? Wenn ja - bitte hier posten oder pm.

Habe hier die "MPForm" (0.2.2 - von AMASP) unter einer svn #1086 (E_ALL & E_STRICT) installiert
ohne Probleme und es scheint zu laufen ... hm ... Evtl. einen Link zum ansehen posten?

Bei welchen Eingabefeldern hapert es denn? Bei allen? Hast Du evtl. von 2.6.7 direkt auf 2.8. RC1 upgegraded?

Gruß
Aldus
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 22, 2009, 08:09:03 PM
Hm,

sehe da im Moment auch keine Probleme. Kompliment, gute Arbeit, Kann man nur empfehlen

Wie Aldus bereits geschrieben, ein paar mehr Infos.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: JayKay89 on July 22, 2009, 08:21:18 PM
Das Upgrade lief von 2.7 auf 2.8 RC1. Das genauere Problem hatte ich schon auf Englisch im entsprechenden Thread gepostet, die Kurzform hier:

Wenn ich die Optionen öffne, dann ist die Einstellung für "Feld Schleife" (ohne sie jemals angerührt zu haben!):

Quote
<tr><td class="mpform_title">:</td><td class="mpform_td_help"></td><td class="mpform_field"></td></tr>

Dort fehlen also alle dynamischen Felder, die erst im Frontend durch ihren wirklichen Inhalt ersetzt werden sollten. Sobald ich die Optionen also speichere, sind die Platzhalter weg und das Formular wird ohne Labels und Inputfelder ausgegeben.

Edith sagt: Sorry, hätte erwähnen sollen, dass es keine Fehlermeldung gibt, sondern lediglich die Funktion beeinträchtigt ist...
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: FrankH on July 22, 2009, 08:24:28 PM
@JayKay89

Welche Version von mpform hast du denn im Einsatz?
Wie gesagt, die letzte auf AMASP ist die 0.2.2


Noch was (damit ich versuchen kann, das zu reproduzieren):
Hast du mpform vor oder nach dem Update auf 2.8 installiert?
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 22, 2009, 08:33:17 PM
Ich habe gerade nochmal getestet. Habe mit MpForm ein Formular angelegt und die Daten des Form in WB  sind weg. Umgekehrt genauso. Oder darf nur das Ein oder Andere nehmen und nie beide zusammen einsetzen?

Dürfte ja eigentlich nicht sein, das das mpform andere Tabellen hat.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: FrankH on July 22, 2009, 08:41:15 PM
OK, ich probiere das mal aus. Wird aber wohl erst am Wochenende, habe bis dahin lauter Termine.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 22, 2009, 08:47:16 PM
MAg auch sein, dass es hier dran liegt. Hatte nämlich den selben validen Fehler in der normalen Form. Schau mal in die view.php und lösche folgende Zeilen.

Quote
// obtain the settings of the output filter module
if(file_exists(WB_PATH.'/modules/output_filter/filter-routines.php')) {
    include_once(WB_PATH.'/modules/output_filter/filter-routines.php');
    $filter_settings = get_output_filter_s ettings();
} else {
    // no output filter used, define default settings
    $filter_settings['email_filter'] = 0;
}

Diese Funktion ist ebenfalls in der index.php im rootverzeihnis enthalten. Es wird einmal dir Droplets durchlaufen und dann der Outputfilter. Ob jetzt der beschriebene Fehler damit zusammenhängt muss ic hnoch testen. Auf jedenfall sind jetzt beide Form Module vailde.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: FrankH on July 22, 2009, 08:59:40 PM
Ich hab mich noch nicht mit output filter module beschäftigt (schäm).
Was macht das eigentlich und was hat sich da von 2.7 auf 2.8 geändert?
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 22, 2009, 09:14:58 PM
Das ist das E-mail Filter (at) (dot) und crypted E-Mail. Die läuft ja jetzt auch über Droplets. Um nach unten kompatible zu bleiben, ist die outputfilter noch drin. Ich halte dich auf dem laufenden, da das ja in dem alten Form auch drin ist. Will das kurz im DEV-Team ansprechen, damit wir keine Fehler machen. Kann dir ja dann eine PM schicken, damit du fixen kannst.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 22, 2009, 10:01:23 PM
Hallo FrankH,

zur Info, Einfach die Zeilen löschen geht auch nicht so ohne weiteres, da vor dem Senden die $filter_settings['email_filter'] abgefragt wird, die jetzt nicht mehr da ist. Sobald eine Lösung da ist, informiere ich dich. Es muss ja auch gesichert sein , dass die Filterroutine in der index.php im Root Verzeichnis ( da wo auch die config.php liegt) die E-Mail Adressen sauber umsetzt.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: JayKay89 on July 22, 2009, 10:06:10 PM
Habe das MPForm erst hinterher installiert, also nach dem Update. Die Felder sind ja soweit auch da, ich kann sie also weiterhin bearbeiten etc., im Backend also alles wie gehabt. Lediglich führt das Ausführen der Optionen-Seite und dem Speichern der Einstellungen dazu, dass im Frontend nur noch die Doppelpunkte zu sehen sind...

Ich hab mir mal ein Backend-Theme angesehen und gehe schwer davon aus, dass die Template-Engine zum generieren der Ausgaben im Backend die {} stehenden Teile der Vorlagen für das Formular löscht. Wenn man auf der Optionen-Seite mal den Code ansieht, so sieht man auch, dass da die variablen Platzhalter fehlen...

Kleines edit: Version von MPForm ist die neuste, also 2.2
Edit 2: Daran kann es nicht liegen, da bereits im Backend die Platzhalter entfernt werden, woher auch das Problem rührt...
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 22, 2009, 10:08:48 PM
Danke dir,

Ich denke FrankH und ich werden das alles mal durchchecken und sind natürlich für jeden Hinweis dankbar. Bis zur Final soll ja alles laufen wie gehabt.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: FrankH on July 23, 2009, 09:03:47 AM
Also meine Forschung hat ergeben, daß es was mit dem Template-Objekt zu tun haben muss.
Wenn ich im mpform in modify_settings.php die Zeile 47 ändere in
Code: [Select]
$tpl->set_unknowns('keep');dann funktioniert alles wie gehabt.

Das Template-Objekt scheint also neuerdings nicht nur wie gehabt die htt-Datei zu manipulieren, sondern in einer Art von Übereifer auch gleich noch die Austauschvariablen selbst? Sieht so aus, als ob das fertig geparste Template versehentlich ein zweites mal geparst wird, wobei die Felder dann rausfliegen, wenn man "remove" eingestellt hat.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 23, 2009, 11:34:27 AM
Hallo FrankH,

danke fürs testen. Werde das in der Form auch mal testen. Wie sieht das bei dir mit der Fehlermeldung aus. mpform hat genau dieselben 10 errors wenn du vailidierst wie das form. Und das liegt definitiv an Outputfilter Abfrage (wegen der E-Mails), da der buffer nach ob_start(); geleert wird.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 23, 2009, 11:50:15 AM
Hallo FrankH,

Das ist das Problem in beiden Forms

Quote
It is a known issue that the form module tried to stop the outputfilter to function.
This is because the email addresses submitted in the form should not be translated.

If you do not use the old emailfilter this error (notice) should not happen.

Das war es was ich meinte

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: FrankH on July 23, 2009, 12:57:45 PM
Hallo Dietmar,

wir reden wohl wieder mal über verschiedene Sachen?

Ich rede über den Fehler, den JayKay89 gemeldet hat:
Im Backend in den Optionen für ein Formular verschwindet bei der Anzeige "{...}"
Für die Anzeige ist modify_settings.php zuständig, und in dieser Datei wird gar kein output_filter aufgerufen.
Die view.php ist für das Frontend zuständig, hat mit der Fehlfunktion im Backend also nix zu tun.

Die Ursache liegt in einer fehlerhaften /include/phplib/template.inc
Wenn ich die Version aus 2.8RC1 (vom 6.11.2008) nämlich durch die 2.7er Version (vom 6.4.2008) ersetze, ist der Fehler weg.



Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 23, 2009, 01:33:02 PM
Hi,

ja wir reden über 2 verschiedene Probleme. Da wir beide aber auch Wert auf validen Code legen, wollte ich nur auf das Problem in der view.php hinweisen.

Also 2 Fehler die ausgemerzt werden sollten.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 23, 2009, 01:38:13 PM
Hallo,

Quote
Die Ursache liegt in einer fehlerhaften /include/phplib/template.inc

Gibt es da vielleicht inzwischen eine fehlerbereinigte Version von phplib? Kann sich da mal jemand schlau machen? Kann ja noch in 2.8 eingebaut werden.

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 23, 2009, 01:41:49 PM
Hallo,

soweit ich das verfolgen konnte leider nicht.

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 23, 2009, 02:25:01 PM
@FrankH

Dann kann das ganze nur an dem Fix von thorn liegen, den dieser extra für WB eingefügt hat:

Original:
Code: [Select]
function pparse($target, $varname, $append = false) {
    if ($this->debug & 4) {
      echo "<p><b>pparse:</b> passing parameters to parse...</p>\n";
    }
    print $this->finish($this->parse($target, $varname, $append));
    return false;
  }

Geändert:
Code: [Select]
function pparse($target, $varname, $append = false, $clear = true) { // added $clear: whether to delete undefined vars or not (needed for wb-module code) - thorn
    if ($this->debug & 4) {
      echo "<p><b>pparse:</b> passing parameters to parse...</p>\n";
    }
        if(!$clear) {
            $unknowns = $this->unknowns;
            $this->set_unknowns('keep');
            print $this->finish($this->parse($target, $varname, $append));
            $this->set_unknowns($unknowns);
        } else {
            print $this->finish($this->parse($target, $varname, $append));
        }
        return false;
  }

Kann jemand mal checken, ob der veränderte code benötigt wird, oder ob man lieber die original phplib Dateien benutzen sollte.

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: FrankH on July 23, 2009, 08:11:26 PM
Hi,

ja wir reden über 2 verschiedene Probleme. Da wir beide aber auch Wert auf validen Code legen, wollte ich nur auf das Problem in der view.php hinweisen.

Also 2 Fehler die ausgemerzt werden sollten.

Dietmar

Hallo Dietmar,

Also ich habe gerade mal eine Testseite mit mpform unter Wb 2.8 gebastelt, da gibt es keine Validierungsfehler im Frontend, wenn man den Fehler im Backend weggemacht hat. Scheint also doch nur der eine Fehler zu sein?
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: FrankH on July 23, 2009, 08:28:51 PM
@Matthias,

Quote
Dann kann das ganze nur an dem Fix von thorn liegen, den dieser extra für WB eingefügt hat:

Also hier muss eine Verwechslung vorliegen:

Ich schlage vor, die Version aus WB 2.7 in 2.8 zu übernehmen.
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: Luisehahne on July 23, 2009, 09:16:18 PM
Genau, wenn das dann damit funktioniert. In der 2.8 ist diese Änderung nicht nicht drin

Dietmar
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: ruebenwurzel on July 23, 2009, 09:57:01 PM
Hallo,

Quote
Also hier muss eine Verwechslung vorliegen:

    * Was du als Original bezeichnest, ist die nicht funktionierende Version vom 6.11.2008, die mit WB 2.8 geliefert wird.
    * Was du als geändert bezeichnest, ist die funktionierende Version vom 24.4.2008, die mit WB 2.7 geliefert wird, die den Patch von Thorn enthält.


Ich schlage vor, die Version aus WB 2.7 in 2.8 zu übernehmen.

ooops, da hab ich beim vergleichen wohl die Versionen vertauscht. Mysteriös, mysteriiös, mal nachforschen, warum das rausgeflogen ist. Vermute mal eher aus versehen. Werde die template.inc wieder hersetzen.

Matthias
Title: Re: 2.8 RC1 Abwärtskompatibilität - Modulentwickler
Post by: erpe0812 on July 23, 2009, 10:44:32 PM
Quote
ooops, da hab ich beim vergleichen wohl die Versionen vertauscht.

Wer arbeitet macht Fehler,
wer keine Fehler macht.............. ......

 :-D

Gruss

erpe