1. Startseite
  2. Nachrichten
  3. Herunterladen
    1. Thunderbird Release-Version
    2. Thunderbird 128 ESR
    3. Thunderbird 115 ESR
    4. Thunderbird Beta-Version
    5. Sprachpaket (Benutzeroberfläche)
    6. Wörterbücher (Rechtschreibprüfung)
  4. Hilfe & Lexikon
    1. Anleitungen zu Thunderbird
    2. Fragen & Antworten (FAQ) zu Thunderbird
    3. Hilfe zu dieser Webseite
  5. Forum
    1. Unerledigte Themen
    2. Letzte Beiträge
    3. Themen der letzten 24 Stunden
  • Deutsch
  • Anmelden
  • Registrieren
  • 
  • Suche
Dieses Thema
  1. Thunderbird Mail DE
  2. Forum
  3. Hilfe zu Add-ons und manuellen Anpassungen
  4. Erweiterungen

Mail Extension: Zugriff auf Dateisystem und Windows-Registry

    • 68.*
    • Windows
  • hambrecht.oliver
  • 29. Januar 2020 um 09:20
  • Geschlossen
  • Unerledigt
  • hambrecht.oliver
    Junior-Mitglied
    Beiträge
    3
    Mitglied seit
    29. Jan. 2020
    • 29. Januar 2020 um 09:20
    • #1

    Hallo verehrte Thunderbird-Gesellschaft,

    ich bin ein wenig am verzweifeln und erhoffe mir bei euch einen Wink in die richtige Richtung zu erhalten. Hoffe nur, dass ihr mir hier technisch unter die Arme greifen könnt und ich auch richtig bin.

    Bisher hatte ich ein einfaches Thunderbird Add-on, dass XPCOM verwendet hatte, um auf die Registry wie auch auf das Dateisystem unter Windows zugreifen zu können. Es kann nicht online bezogen werden, sondern wird im Rahmen einer Desktop-Installation bereitgestellt. Doch das neuste Thunderbird verlangt nun, dass das "alte" XUL Overlay" etc. in eine Mail Extension umgestellt werden muss. Natürlich war mein bisheriges Overlay nicht kompatible (auch nicht im Legacy-Mode!) und ich musste neue UI-Wege gehen, was soweit geklappt hat.

    Nun aber zum konkreten Problem:

    Beim Auslesen von Registry-Werten wurde bisher via XPCOM im JavaScript auf Components.classes zugegriffen:

    Code
    this.windowsRegistry = Components.classes["@mozilla.org/windows-registry-key;1"].createInstance(Components.interfaces.nsIWindowsRegKey);

    Jedoch erhalte ich nun im Log diese beiden Meldungen dazu:

    - Das Components-Objekt sollte nicht mehr verwendet werden. Es wird bald entfernt.

    - exception TypeError: Components.classes is undefined

    Bisher konnte ich bei Recherchen keine Informationen darüber finden, mit was "Components" in Mail Extensions ersetzten werden sollte und wie ich dann dort auf Components.classes zugreifen kann. Habt ihr dazu vielleicht eine Idee oder Anhaltspunkt? Oder entwickelt sich hier Thunderbird zu einer reinen Web-Lösung, die keinen lokalen Zugriff (Registry, Dateisystem etc.) mehr ermöglicht? Bin für alle Hinweise dankbar.

    Danke vorab und Grüße,

    Oliver

  • graba 29. Januar 2020 um 11:13

    Hat das Thema freigeschaltet.
  • generalsync
    Senior-Mitglied
    Reaktionen
    48
    Beiträge
    550
    Mitglied seit
    29. Aug. 2016
    Hilfreiche Antwort
    1
    • 29. Januar 2020 um 22:04
    • #2

    In 68 und allen bislang geplanten Versionen gibt es für privilegiertes JS eigentlich keinen Unterschied im Bezug auf Components.classes. Ich habe auch nichts gehört, dass sich das bald ändern soll.

    Kann das sein, dass du unprivilegiertes JavaScript nutzt (d.h. eine "reine" WebExtension in einer Sandbox ohne XPCOM)? Dort ist nur erlaubt, was dir deine Berechtigungen explizit ermöglichen. Wenn du in einer WebExtension an XPCOM willst, musst du ein "Experiment" anhängen. Im Experiment darfst du privilegiertes JS schreiben – und für die WebExtension eine API bereitstellen, mit dem dieses dann privilegierte Funktionen nutzen kann.

    Die Idee ist, dass Thunderbird solche Experimente einerseits mehr oder weniger direkt übernehmen kann, um so die WebExtension-Schnittstellen langfristig zu verbessern. Andererseits sollen größere Umbauten für neue Thunderbird-Versionen zukünftig nur in den Experimenten notwendig sein (diese aber dafür umso größer ausfallen!). Es empfiehlt sich also, die Experimente so klein wie möglich zu halten.

    Ich entwickle unter anderem Synchronisationssoftware für Kalender und Adressbücher – ohne Cloud oder Server.

  • hambrecht.oliver
    Junior-Mitglied
    Beiträge
    3
    Mitglied seit
    29. Jan. 2020
    • 30. Januar 2020 um 12:48
    • #3

    Das sind ja schon mal sehr interessant Informationen - vielen Dank dafür.

    Aktuell verwende ich eine "Mail Extension" - ist aber vermutlich eine "Web Extension" wie in Firefox, nur dass es in Thunderbird "Mail Extension" genannt wird.

    Zitat

    Dort ist nur erlaubt, was dir deine Berechtigungen explizit ermöglichen.

    Mit den Berechtigungen hier wird vermutlich "permissions" im manifest.json gemeint sein, oder? Hier konnte ich jedoch noch keine Option/Kombi finden, die mir das XPCOM zugänglich machen könnten.

    Die Alternative mit "Experiment" klingt spannen und unsicher zugleich. Ist das tatsächlich ein Pferd, auf das man langfristig setzen kann? Denn alleine der Name verheißt nichts wasserdichtes und ich will vermeiden in den kommenden Monaten schon wieder Hand anlegen zu müssen, nur weil es "Experimente" nicht mehr gibt - waren ja schließlich nur ein Experimente 8)

    Gibt es einen sinnvollen Zugang zu diesen "Experimenten", so dass ich mir die Entwicklung, API etc. anschauen kann, um es als mögliche Option in betracht zu ziehen? Wäre klasse, wenn es aus Erfahrung hierzu schon ein klasse Einstieg gäbe.

    Besten Dank vorab für weitere Infos zu diesem Thema.

  • generalsync
    Senior-Mitglied
    Reaktionen
    48
    Beiträge
    550
    Mitglied seit
    29. Aug. 2016
    Hilfreiche Antwort
    1
    • 30. Januar 2020 um 22:32
    • #4
    Zitat von hambrecht.oliver

    Hier konnte ich jedoch noch keine Option/Kombi finden, die mir das XPCOM zugänglich machen könnten.

    Das wird es auch niemals geben, soviel wurde bereits beschlossen. Wenn du "alles" machen können willst (was XPCOM ja zulässt), brauchst du ein Experiment (das sollte dann auch irgendwie als "Berechtigung" dem Nutzer angezeigt werden, auch wenn es technisch keine Berechtigung ist).

    Zitat von hambrecht.oliver

    Ist das tatsächlich ein Pferd, auf das man langfristig setzen kann?

    Nein, soll es auch nicht sein. Rechne damit, dass das Experiment für jede ESR-Version vollständig neu geschrieben werden muss. Daher soll man es ja auch klein halten.

    Zitat von hambrecht.oliver

    Gibt es einen sinnvollen Zugang zu diesen "Experimenten", so dass ich mir die Entwicklung, API etc. anschauen kann, um es als mögliche Option in betracht zu ziehen?

    Ist zwar eigentlich für Firefox, aber ich würde zuerst die offizielle Übersicht unter https://webextensions-experiments.readthedocs.io/en/latest/ lesen und anschließend das dort verlinkte crashme anschauen. Dann sollte man loslegen können.


    Beim Lesen der Übersicht nicht erschrecken: in Firefox-Beta und -Release sind Experiments bewusst gesperrt (d.h. Mozilla verbietet Drittentwicklern, Experiments zu veröffentlichen) – für Thunderbird ist eine solche Sperre meines Wissens bislang nicht geplant.

    Edit: es gibt eine offizielle Dokumentation für Thunderbird. Frag mich nicht warum ich die gerade übersehen habe...

    Ich entwickle unter anderem Synchronisationssoftware für Kalender und Adressbücher – ohne Cloud oder Server.

  • hambrecht.oliver
    Junior-Mitglied
    Beiträge
    3
    Mitglied seit
    29. Jan. 2020
    • 31. Januar 2020 um 08:39
    • #5

    Danke für die super Infos.

    Aber so richtig Spaß macht es - in meinem Fall ja dann nicht - eine Mail Extension zu schreiben, wenn ich unter Windows Zugriff auf das Dateisystem oder die Registry benötige. Da ist es natürlich auch nur ein schwacher Trost, dass man es zwar jetzt mit Experimente lösen könnte (hoffentlich auch für den Release-Kanal von Thunderbird lauffähig?!) - es aber offenbar nicht von Dauer sein wird. Da muss ich mir tatsächlich was überlegen oder schlicht den Thunderbird-Support was das Add-on angeht auf Eis legen.

    Nochmal besten Dank für den prima Austausch hier.

  • Community-Bot 3. September 2024 um 20:40

    Hat das Thema geschlossen.

Aktuelle Programmversion

  • Thunderbird 138.0.2 veröffentlicht

    Thunder 20. Mai 2025 um 16:44

Aktuelle ESR-Version

  • Thunderbird 128.10.2 ESR veröffentlicht

    Thunder 20. Mai 2025 um 20:27

Keine Werbung

Hier wird auf Werbeanzeigen verzichtet. Vielleicht geben Sie dem Website-Betreiber (Alexander Ihrig - aka "Thunder") stattdessen etwas aus, um diese Seiten auf Dauer finanzieren zu können. Vielen Dank!

Vielen Dank für die Unterstützung!

Kaffee ausgeben für:

3,00 €
1
Per Paypal unterstützen*

*Weiterleitung zu PayPal.Me

Thunderbird Mail DE
  1. Impressum & Kontakt
  2. Datenschutzerklärung
    1. Einsatz von Cookies
  3. Nutzungsbedingungen
  4. Spendenaufruf für Thunderbird
Hilfe zu dieser Webseite
  • Übersicht der Hilfe zur Webseite
  • Die Suchfunktion benutzen
  • Foren-Benutzerkonto - Erstellen (Neu registrieren)
  • Foren-Thema erstellen und bearbeiten
  • Passwort vergessen - neues Passwort festlegen
Copyright © 2003-2025 Thunderbird Mail DE

Sie befinden sich NICHT auf einer offiziellen Seite der Mozilla Foundation. Mozilla®, mozilla.org®, Firefox®, Thunderbird™, Bugzilla™, Sunbird®, XUL™ und das Thunderbird-Logo sind (neben anderen) eingetragene Markenzeichen der Mozilla Foundation.

Community-Software: WoltLab Suite™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Lexikon
  • Artikel
  • Seiten
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern