[Bug erledigt] HTML-Vorlagen inkompatibel, müssen anders geschrieben werden

  • Bezüglich https://bt.ritlabs.com/view.php?id=521 den haben die eifach zugemacht.
    Was für eine Lösung! :(

    HTML-Vorlagen und Makros ind wirklich unbrauchbar geworden. In jedem Fall muss man für Text-Mails und HTML andere schreiben.

    Wie?
    Statt:

    Code
    %IF:"%TIME='hh:mm:ss'"=>"00:00:00":"%IF:'%TIME=""hh:mm:ss""'<='04:59:59':'Gute Nacht'"%-
    %IF:"%TIME='hh:mm:ss'"=>"05:00:00":"%IF:'%TIME=""hh:mm:ss""'<='08:59:59':'Guten Morgen'"%-
    %IF:"%TIME='hh:mm:ss'"=>"09:00:00":"%IF:'%TIME=""hh:mm:ss""'<='18:59:59':'Guten Tag'"%-
    %IF:"%TIME='hh:mm:ss'"=>"19:00:00":"%IF:'%TIME=""hh:mm:ss""'<='23:59:59':'Guten Abend'"%-

    dann:

    Code
    %IF:"%TIME">="00:00":%IF:"%TIME"<"05:00":"Gute Nacht":"" :""%-%IF:"%TIME">="05:00":%IF:"%TIME"<"09:00":"Guten Morgen":"" :""%-%IF:"%TIME">="09:00":%IF:"%TIME"<"19:00":"Guten Tag":"" :""%-%IF:"%TIME">="19:00":%IF:"%TIME"<"24:00":"Guten Abend":"" :""%- 
    %CURSOR

    Wozu noch das %- wenn es gar nichts nutzt zu Strukturierung der Makros.

    Der Parser für die Templates is sowas von kaputt!

    Denn auch ein %INCLUDE macht Murks.

    Statt:

    Muss ich nach Ritlabs-Entwickler nun so schreiben:

    Jetzt muss man auch noch <br> für Umbrüche reinpfuschen.

    Und wenn man Leerzeichen nutzen will, soll man ein &nbsp; rein machen.


    Eine Zumutung, dass Nutzer von Templates jetzt HTML-Markup lernen müssen!


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

    3 Mal editiert, zuletzt von GwenDragon (25. Dezember 2017 um 12:58)

  • Wie findet ihr diese Entwicklung? Ein Rückschritt!

    Ich fühle mich gerade extrem veräppelt von Ritlabs.


    Wie nutzt ihr denn Makros in HTML-Mails? Geht doch so nicht.
    Habt ihr keine Probleme!?


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

    Einmal editiert, zuletzt von GwenDragon (25. Dezember 2017 um 13:12)

  • Ich habe das Gefühl, es wird immer schlimmer. Anstatt Ritlabs sich erst einmal damit beschäftigt, dass das Programm das kann, was eigentlich jeder moderne e-Mail-Client kann, nämlich alle Arten von e-Mail - vor allem die nicht mehr wegzudenkenden HTML-Mails - richtig darzustellen und dabei weiterhin komfortabel bedienbar zu bleiben, werden Korrekturen an irgendwelchen Kleinigkeiten vorgenommen, die dann andere Fehler nach sich ziehen. Ich habe erst mal nicht upgedatet und bin bei der letzten 7-er Version stehengeblieben. Ich muss jetzt noch zusehen, wie ich alle meine gespeicherten e-Mails unbeschädigt von TB! nach Outlook bekomme (hat das schon mal jemand gemacht?) und wie sie dort gespeichert und benutzt werden können, vor allem die Menge. Dann stelle ich um. Schade.

    TheBat! Pro 10.x (64 Bit) NAU • Win 11x64 Pro • keine PlugIns

  • Wozu noch das %- wenn es gar nichts nutzt zu Strukturierung der Makros.

    Man muss die gesamte Vorlage nicht in eine einzige Zeile schreiben. Vielleicht hat aslius im BT einfach keine Umbrüche gemacht. Wie ich im BT bereits selbst geschrieben habe, muss man bei deiner Vorlage die Gleichheitszeichne entfernen und sie damit etwas anpassen, damit sie auch als HTML-Vorlage funktioniert. Das hat aslius getan. Die richtige Vorlage sollte daher lauten:

    Code
    %IF:"%TIME">="00:00":%IF:"%TIME"<"05:00":"Gute Nacht"%-
    %IF:"%TIME">="05:00":%IF:"%TIME"<"09:00":"Guten Morgen"%- 
    %IF:"%TIME">="09:00":%IF:"%TIME"<"19:00":"Guten Tag"%- 
    %IF:"%TIME">="19:00":%IF:"%TIME"<"24:00":"Guten Abend"%-


    Diese funktioniert auch, wenn man sie mehrzeilig schreibt und/oder über %INCLUDE einfügt.


    Jetzt muss man auch noch <br> für Umbrüche reinpfuschen.

    Das macht sehr wohl Sinn, denn man fügt einen Text aus einer externen Datei unverändert ein. Wieso muss der HTML-Editor diesen formatieren und damit verändern? Vielleicht will der Benutzer das gar nicht. Daher muss der Benutzer selbst entscheiden können, ob er einen unformatierten oder formatierten Text einfügen will. Im letzteren Fall muss der Benutzer die externe Datei vorher selbst entsprechend anpassen, wofür HTML-Kenntnisse erforderlich sind. Wenn man diese nicht besitzt, sollte man entweder die externe Datei in einem WYSIWYG-HTML-Editor bearbeiten oder gar nichts importieren, sondern die Vorlage gleich in TB! erstellen.

    Das war in TB! schon immer so und ich sehe hier daher keine Verschlechterung und auch keinen Fehler.


    alle Arten von e-Mail - vor allem die nicht mehr wegzudenkenden HTML-Mails - richtig darzustellen

    Ich glaube, dass das Hauptproblem in der entsprechenden Delphi-HTML-Komponente liegt. Ritlabs kann also nichts dafür, dass diese gewisse Grenzen hat. Wenn also diese Komponente bestimmten HTML-Code entweder gar nicht oder nicht richtig darstellen kann, dann kann Ritlabs nichts daran ändern, da die Firma diese Komponente nicht erstellt hat, sondern sie nur anwendet. Man muss also das gesamte Programm unter Verwendung einer anderen Programmiersprache umschreiben oder zumindest den HTML-Teil, falls es so teilweise überhaupt geht. Alternativ könnte man vielleicht irgendwelche Dritt-Komponenten einsetzen, die also nicht standardmäßig zu Delphi gehören, falls diese mehr Möglichkeiten bieten. Dafür müsste man aber wahrscheinlich extra Lizenzgebühren zahlen, da kostenlose normalerweise nur für Privatzwecke benutzt werden dürfen und nicht gewerblich.

    Oder kennt jemand ein Programm oder einen Browser, das/der ebenfalls mit Delphi programmiert wurde, und den gesamten HTML-Code problemlos darstellen kann?


    hat das schon mal jemand gemacht?)

    OL hat bekanntlich ein eigenes MSG-Format, das mit dem von TB! nicht kompatibel ist. Dazu haben wir im Thread "Unterschied eml - Outlook msg" diskutiert. Ich habe dort auf ein kostenloses Tool hingewiesen, mit dem man zwischen EML von OE und MSG von OL hin und her konvertieren kann. Das EML von OE ist wiederum kompatibel mit dem EML von TB! Man kann also in TB! alle Nachrichten als EML exportieren und dann mit diesem Tool in das OL-MSG konvertieren.

  • Es geht mir darum, dass Vorlage, die für den Text-only-Mails erstellt wurden einfachst auch für HTML-formatierte übernommen werden sollen.

    Was das <= anbelangt ist es ein gültiger Operator bei Makros.

    Wenn ich da HTML einfügen muss oder gar Entities maskieren, dann taugt die Hilfe von The Bat! zu Vorlagen und Makros nix/ist fehlerhaft. Dort steht nichts, dass man was bei Text-Vorlagen ändern muss, damit sie für HTML funktionieren.

    Ich benutze %INCLUDE und %QINCLUDE weil verschiedene Konten bzw. Adressatengruppen andere Füße im Mail haben.
    Inhalte mittles fertiger Vorlagen zu erstellen ist für mich untragbar, weil ich nichts global einfach ändern kann.

    Ich verstehe unter einem Template was anderes. Nämlich eine Vorlage, die egal auf welchem Ziel sie ausgegeben wird, keine Änderungen braucht.
    Das wäre ja in einer Textverarbeitung als müsste ein Template für ASCII-Drucker anders aussehen als für PDF.

    Tut mir leid Leute, wenn ich als erfahrene IT-Fachfrau udn Informatikerin kapiere warum es zweierlei Vorlagen geben muss, keine korrekte Doku existiert, wie sollen das normale Nutzer!?

    Und bitte wie soll ich jetzt diese zig Vorlagen in 14 Konten, zig Ordnern, Adressbüchern umstellen auf HTML?
    Alle Vorlagen öffnen udn dann Format HTML? Dann überprüfen pb alle Vorlage noch laufen?
    Ehrlich!?

    Kein Wunder, dass ich seit über einem Jahrzehnt HTML+The Bat! meide – wegen der Makros und Vorlagen.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

    3 Mal editiert, zuletzt von GwenDragon (25. Dezember 2017 um 19:49)

  • Ach nee, im BT sieht aslius ein bisschen ein, dass was zu ändern wäre.

    Wenn die Entwickler bei Ritlabs mal ein bisschen nutzerorientierter anstatt Abstrakt denken würden, wäre einige Nutzer glücklicher.

    The Bat! ist ein Anwendungsprogramm, keine Programmierübeung für Mailschreiber.
    Bin gerade etwas verärgert nicht ernst genommen worden zu sein. :(


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

    Einmal editiert, zuletzt von GwenDragon (25. Dezember 2017 um 20:03)

  • Was das <= anbelangt ist es ein gültiger Operator bei Makros.

    Wenn es aber Überschneidungen mit HTML-Tags gibt, die bekanntlich ebenfalls mit spitzen Klammern geöffnet und geschlossen werden, dann muss man die Vorlage anpassen oder auf HTML verzichten. Ich gehe davon aus, dass andere Programme damit ebenfalls Probleme bekommen würden.


    Dort steht nichts, dass man was bei Text-Vorlagen ändern muss, damit sie für HTML funktionieren.

    Die Hilfe wurde überwiegend aus der alten CHM-Datei übernommen und damals gab's noch keine HTML-Vorlagen. Der Fehler besteht also darin, dass man die Online-Hilfe später nicht angepasst hat.

    Bei den Makros steht in der Hilfe übrigens nicht, dass sie alle mit HTML-Vorlagen problemlos funktionieren. Man kann ja auch nicht alle Fälle von komplizierten Makro-Kombinationen bedenken, so dass Überschneidungen und damit Probleme nicht ausgeschlossen sind. Man kann also nur so einen allgemeinen Warnhinweis in die Hilfe aufnehmen. Der wird aber nicht sonderlich hilfreich sein.

  • Wenn es aber Überschneidungen mit HTML-Tags gibt

    Das ist ein Designfehler beim Programm, wenn der Parser erst HTML erzeugt und dann das Makro auflöst!

    %IF:"%_ZAHL"<="42":"<b>Wie</b>":"42"
    Ist das nicht eindeutig, dass es sich bei "%_ZAHL"<="42" um einen Vergleich mit Operator <= handelt?
    Und ist es nicht eindeutig, dass "<b>Wie</b>" eine Zeichenkette als HTML-Markup ist?


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Vielleicht braucht es sowas wie ein NoParseMarkup in Makros.
    Genauso wie es für HTML/XML-Markup folgendes gibt.

    Code
    <!-- 
    <sender>John Smith</sender> 
    -->
    <![CDATA[
    <sender>John Smith</sender>
    ]]>

    gibt.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Feature wegen der Umstellung vorhandener Text-Templates: https://bt.ritlabs.com/view.php?id=1377

    Man sollte zuerst abwarten, wie #0000521 genau gelöst wurde. Die TB!-Version wurde zwar nicht genannt (v8.0.14.6 stimmt ja nicht mehr), aber gemeint ist wahrscheinlich die nächste Beta nach v8.0.18. Wenn jedenfalls in der neuen Version die Zeilenumbrüche und -abstände aus einer externen Text-Datei richtig übernommen werden, dann wäre #0001377 wohl auch erledigt.


    Ist es nicht dasselbe wie #0000521? Es geht jedenfalls um die gleiche Vorlage. Ob man sie über %INCLUDE einfügt (vgl. #0001375) oder direkt einbaut (vgl. #0000521), spielt ja keine Rolle. Sie funktioniert nämlich in beiden Fällen nicht.

    Nicht ganz verständlich ist nur, was genau in #0000521 behoben wurde. Dort ist die Rede nur von %-. Also bleibt das Problem mit den spitzen Klammern und der Überscheidung weiterhin bestehen. Wenn ja, dann solltest du #0000521 nach dem Testen der neuen Version vielleicht wieder eröffnen. Die alternative Vorlage funktioniert, aber ich habe dich so verstanden, dass für dich das Problem besteht, solange deine eigene Vorlage nicht funktioniert.

  • Ist es nicht dasselbe wie #0000521? Es geht jedenfalls um die gleiche Vorlage.

    aslius bat mich aber um eine neue Meldung für %INCLUDE.

    Man sollte zuerst abwarten, wie #0000521 genau gelöst wurde.

    Ansonsten hast du Recht: Abwarten bis eine Beta kommt.

    Ich war ein bisschen ungehalten wegen der Bugs.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • aslius bat mich aber um eine neue Meldung für %INCLUDE.

    Da die Antwort von aslius über meiner steht, interpretiere ich sie so, dass sie darauf bezogen ist, was ich vorgeschlagen habe, nämlich ein neues Makro für das Einfügen von externen Dateien in eine HTML-Vorlage. Also nicht das Makro %INCLUDE, sondern allgemein "include file". Das hängt aber zunächst davon ab, wie sich das Makro %INCLUDE in der neuen Version verhalten wird.

  • Man sollte zuerst abwarten, wie #0000521 genau gelöst wurde. Die TB!-Version wurde zwar nicht genannt (v8.0.14.6 stimmt ja nicht mehr), aber gemeint ist wahrscheinlich die nächste Beta nach v8.0.18.

    In v8.0.18.1 funktioniert die Vorlage

    Code
    %IF:"%TIME='hh:mm:ss'"=>"00:00:00":"%IF:'%TIME=""hh:mm:ss""'<='04:59:59':'Gute Nacht'"%-
    %IF:"%TIME='hh:mm:ss'"=>"05:00:00":"%IF:'%TIME=""hh:mm:ss""'<='08:59:59':'Guten Morgen'"%-
    %IF:"%TIME='hh:mm:ss'"=>"09:00:00":"%IF:'%TIME=""hh:mm:ss""'<='18:59:59':'Guten Tag'"%-
    %IF:"%TIME='hh:mm:ss'"=>"19:00:00":"%IF:'%TIME=""hh:mm:ss""'<='23:59:59':'Guten Abend'"%-


    weiterhin nicht als HTML-Vorlage. Als Text-Vorlage schon, das war aber auch früher so.

    Zeilenumbrüche werden beim Einfügen über %INCLUDE einer externen Text-Datei in eine HTML-Nachricht ebenfalls nicht eingefügt. Es steht also alles in einer Zeile.

    Ich verstehe daher nicht, was genau behoben wurde. #0000521 ist jedenfalls geschlossen.

  • @slisu hat mir jetzt gezeigt, dass ich Unrecht hatte. Beschämend! :huh:

    <= und >= existiert gar nicht als Operator laut CHM- und Online-Hilfe. Mein Denkfehler. :whistling:
    Da hab ich über Jahre die Makros fasch geschrieben.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Ich habe gerade im BT etwas geschrieben und als ich es veröffentlichen wollte, war der Eintrag bereits geschlossen. :(

    <= und >= sind jedenfalls gültige Operatoren und die Vorlage funktioniert auch als HTML-Vorlage, nur dass du ein paar Syntax-Fehler gemacht hast. Die richtige Vorlage muss lauten:

    Code
    %IF:"%TIME='hh:mm:ss'">="00:00:00":%IF:"%TIME='hh:mm:ss'"<="04:59:59":"Gute Nacht"%-
    %IF:"%TIME='hh:mm:ss'">="05:00:00":%IF:"%TIME='hh:mm:ss'"<="08:59:59":"Guten Morgen"%- 
    %IF:"%TIME='hh:mm:ss'">="09:00:00":%IF:"%TIME='hh:mm:ss'"<="18:59:59":"Guten Tag"%- 
    %IF:"%TIME='hh:mm:ss'">="19:00:00":%IF:"%TIME='hh:mm:ss'"<="23:59:59":"Guten Abend"%-
  • <= und >= existiert gar nicht als Operator laut CHM- und Online-Hilfe

    Das habe ich auch gesehen. Sie werden zwar bei der Beschreibung des Makros %IF nicht genannt, müssen aber existieren, da man sonst nie "mehr oder gleich" bzw. "weniger oder gleich" verwenden könnte.

    Die Beispielvorlage von aslius funktioniert übrigens auch nicht als HTML-Vorlage wegen Syntax-Fehler. Und außerdem wird sie nicht funktionieren, wenn es z.B. exakt 00:00:00 Uhr ist, denn nach seiner Vorlage muss es entweder mehr als 00:00:00 oder weniger als 23:59:59 sein.

  • Ich geb ja zu, dass mein Makro Fehler hatte. Kann ja passieren, es fiel ja nie auf. Wenn man über die Jahre Vorlagen mitschleppt und die, weil HTML damals noch nicht funktionierte, nie ausprobieren musste und jetzt reinfällt, weil der HTML-Editor das anders als der MicroEd interpretiert.

    Es mangelt hat doch an vielem bei den Makros wie z. B: das Debuggen und eine Fehlermeldung wenn der Parser was nicht frisst.

    Ich bin ja gespannt, was die weiterhin aushecken bei den anderen fehlerhaften Makros wie die Includes.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Ich geb ja zu, dass mein Makro Fehler hatte

    Man sollte hier zwei Sachen nicht vermischen.

    Du hast an einigen Stellen zu viele Anführungszeichen gesetzt, was im BT aber überhaupt nicht angesprochen wurde. Ansonsten war deine Vorlage völlig OK. Im BT meinte der Ritlabs-Mitarbeiter jedoch, dass die Vorlage nur deshalb nicht funktioniert, weil <= und >= verwendet wurden. Daran liegt's aber gar nicht, was meine oben angepasste Vorlage beweist. Sie enthält ebenfalls <= und >=, funktioniert jedoch sowohl als Text als auch als HTML-Vorlage.

    Im Ergebnis hattest du also Recht.