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

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

    Bezüglich 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:

    Quellcode

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

    Quellcode

    1. %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":"" :""%-
    2. %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:

    Brainfuck-Quellcode

    1. --
    2. Mit liebem Gruß
    3. %FromFName
    4. E-Mail: grrrr@local.tld
    5. Web: http://test.local/
    6. +-----------------------------------------------------------------+
    7. | E-Mail mit GnuPG signiert/Signed with GnuPG |
    8. | |
    9. | GnuPG-Signatur RSA/4096bit |
    10. | Key-ID: 0xDEADBEEFDEADBEEF |
    11. | Fingerprint: 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA |
    12. +-----------------------------------------------------------------+
    13. %SingleRe%-
    14. %Quotestyle="none" %-
    15. %PGPMIME%-
    16. %SIGNCOMPLETE%-
    Alles anzeigen
    Muss ich nach Ritlabs-Entwickler nun so schreiben:

    Brainfuck-Quellcode

    1. --<br>
    2. Mit liebem Gruß<br>
    3. %FromFName<br>
    4. <br>
    5. E-Mail: grrrr@local.tld<br>
    6. Web: http://test.local/<br>
    7. <br>
    8. +-----------------------------------------------------------------+<br>
    9. | E-Mail mit GnuPG signiert/Signed with GnuPG |<br>
    10. | |<br>
    11. | GnuPG-Signatur RSA/4096bit |<br>
    12. | Key-ID: 0xDEADBEEFDEADBEEF |<br>
    13. | Fingerprint: 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA |<br>
    14. +-----------------------------------------------------------------+<br>
    15. <br>
    16. %SingleRe%- <br>
    17. %QuoteStyle="none"%-<br>
    18. %PGPMIME%-<br>
    19. %SIGNCOMPLETE%-<br>
    20. <br>
    21. <br>
    Alles anzeigen
    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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.x | XMP + Regula


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

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von GwenDragon ()

  • 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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.x | XMP + Regula


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

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von GwenDragon ()

  • 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 7.x BETA (64 Bit) • Win 10 Pro x64 • keine PlugIns
  • GwenDragon schrieb:

    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:

    Quellcode

    1. %IF:"%TIME">="00:00":%IF:"%TIME"<"05:00":"Gute Nacht"%-
    2. %IF:"%TIME">="05:00":%IF:"%TIME"<"09:00":"Guten Morgen"%-
    3. %IF:"%TIME">="09:00":%IF:"%TIME"<"19:00":"Guten Tag"%-
    4. %IF:"%TIME">="19:00":%IF:"%TIME"<"24:00":"Guten Abend"%-

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


    GwenDragon schrieb:

    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.


    Ralf Brinkmann schrieb:

    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?


    Ralf Brinkmann schrieb:

    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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.x | XMP + Regula


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

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von GwenDragon ()

  • 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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.x | XMP + Regula


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

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von GwenDragon ()

  • GwenDragon schrieb:

    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.


    GwenDragon schrieb:

    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.
  • sanyok schrieb:

    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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.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.

    Quellcode

    1. <!--
    2. <sender>John Smith</sender>
    3. -->
    4. <![CDATA[
    5. <sender>John Smith</sender>
    6. ]]>
    gibt.
    The Bat! Pro 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.x | XMP + Regula


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

    Feature wegen der Umstellung vorhandener Text-Templates: 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.
  • sanyok schrieb:

    Ist es nicht dasselbe wie #0000521? Es geht jedenfalls um die gleiche Vorlage.
    aslius bat mich aber um eine neue Meldung für %INCLUDE.

    sanyok schrieb:

    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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.x | XMP + Regula


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

    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.
  • sanyok schrieb:

    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

    Quellcode

    1. %IF:"%TIME='hh:mm:ss'"=>"00:00:00":"%IF:'%TIME=""hh:mm:ss""'<='04:59:59':'Gute Nacht'"%-
    2. %IF:"%TIME='hh:mm:ss'"=>"05:00:00":"%IF:'%TIME=""hh:mm:ss""'<='08:59:59':'Guten Morgen'"%-
    3. %IF:"%TIME='hh:mm:ss'"=>"09:00:00":"%IF:'%TIME=""hh:mm:ss""'<='18:59:59':'Guten Tag'"%-
    4. %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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.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:

    Quellcode

    1. %IF:"%TIME='hh:mm:ss'">="00:00:00":%IF:"%TIME='hh:mm:ss'"<="04:59:59":"Gute Nacht"%-
    2. %IF:"%TIME='hh:mm:ss'">="05:00:00":%IF:"%TIME='hh:mm:ss'"<="08:59:59":"Guten Morgen"%-
    3. %IF:"%TIME='hh:mm:ss'">="09:00:00":%IF:"%TIME='hh:mm:ss'"<="18:59:59":"Guten Tag"%-
    4. %IF:"%TIME='hh:mm:ss'">="19:00:00":%IF:"%TIME='hh:mm:ss'"<="23:59:59":"Guten Abend"%-
  • GwenDragon schrieb:

    <= 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 8.x BETA (32bit) | Win 10 Pro x64 | GnuPG 2.2.x | XMP + Regula


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

    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.