Mozilla veröffentlicht Add-in SDK 1.16 für Firefox mit neuen Australis-APIs
Gute Nachricht für Entwickler von Firefox-Add-ons: Mozilla hat das Add-on SDK in Version 1.16 veröffentlicht. Die neue Version bringt in erster Linie Kompatibilität zu den neuen Australis-APIs für Firefox 29+.
Mozilla hat das Add-on SDK 1.16 für Firefox veröffentlicht. Damit können Entwickler von Add-ons endlich Gebrauch von den neuen für Australis optimierten APIs machen und insbesondere die zahlreichen Add-ons umrüsten, welche die alte Widget-API nutzen, um Symbole in der Add-on-Leiste abzulegen. Diese API harmoniert nämlich nur mittelprächtig mit Australis und ist ab Firefox 29 deprecated, wird früher oder später also aus Firefox entfernt werden. Mit dem neuen UI-Modul, welches mindestens Firefox 29 voraussetzt, gibt es dafür neue APIs für Buttons (ActionButton, ToggleButton), Toolbars sowie Sidebars.
Wer die neuen APIs ausprobieren möchte, kann dies direkt mit der Teilnahme an einem Wettbewerb verbinden: Bis zum 15. April läuft ein offizieller Mozilla-Wettbewerb, bei dem es darum geht, Add-ons zu entwickeln, welche für Australis optimiert sind.
Höchste Eisenbahn. Eigentlich schon 5 nach zwölf. In vier Wochen wird australis stable.
Hallo Sören,
Gibt es irgendwie eine Möglichkeit, so einen Button zu machen, der im Menü bei aktivieren so einen rechten Bereich einblendet? Also so wie z.B. bei den Entwickerwerkzeugen oder Zeichenkodierung… Wenn Links irgendwie möglich sind (wie? o.O ) würde es völlig reichen :-/ Ich finde einfach nichts vernünfiges.. Und die Beispiele sind mal wieder nichts sonderlich hilfreich 🙁
MfG
Hier findest du ein Beispiel:
https://github.com/jvillalobos/Australis-View-Demo/blob/master/src/bootstrap.js#L53
Okay.. danke. Mal durcharbeiten 😀
Viel Spaß. 😉 Das Beispiel ist allerdings kein SDK Add-on, für ein SDK basierendes Add-on müsstest du also nicht komplett alles kopieren. CustomizableUI.createWidget() ist die wesentliche Funktion (inkl. Import-Anweisung weiter oben).
Hmmhmm… Läuft so weit ganz gut… Nur frage ich mich, wenn ich das Panel in der CSS-Datei mit einer Höhe von 600px versehe, wieso wird dann nur das Panel 600px hoch, aber der Inhalt bleibt bei einer bestimmten Höhe. Ich weiß nicht wo ich die festlegen kann :/ Ich schätze mal in etwa, dass es so ca. 90-100px hoch ist… Nun ist dort so ein hässlicher Scrollbalken, und man kann auch nix sonderlich gut sehen… Gäbe es auch eine Möglichkeit auf HTML dort zu verzichten und dann dafür solche Buttons wie bei Verlauf oder Lesezeichen? Das würde mich schon ein riesiges Stück weiter bringen. Ansonsten funktioniert alles wie es soll 🙂 Danke!
//Sorry 😀 Hab gerade gefunden wie die Iframe eingestellt werden kann 😀 Kommt davon wenn ich kaum mit JS arbeite 🙂 Nur wäre meine andere Frage umsetzbar? :-/
Du kannst mit CSS alles so gestalten, wie du magst. 😉
Hallo Sören,
ich habe bisher in meinem SDK-Add-on ein Widget benutzt, das ein Panel mit einem kleinen Menü (in Form einer HTML-Datei) übergeben bekommen hat, was soweit auch funktioniert hat. Ich wollte nun das Add-on auf Australis umstellen und dabei ebenfalls diesen rechten Bereich anzeigen, wenn der Button im Menü ist.
Zunächst habe ich es mit einem ToggleButton versucht, allerdings erscheint dann nicht dieser rechte Bereich, sondern das Panel wird weiterhin oben (ich glaube an der Stelle des Menü-Buttons) angezeigt (des Weiteren funktioniert das mit einem Panel auch erst richtig mit Firefox 30).
Ich bin dann auf das CustomizableUI-Modul gestoßen, allerdings weiß ich nicht so recht, wie man das in ein SDK-Add-on einbauen kann bzw. soll (da die Dokumentation auch ziemlich dürftig ist). Ich kann zwar mit der createWidget()-Methode einen Button erzeugen, allerdings weiß ich nicht so ganz, wie man nun ein Panel hinzufügt bzw. was von dem ganzen Code überhaupt benötigt wird (bei den Beispielen scheint viel „Boilerplate-Code“ dabei zu sein mit den ganzen Listenern usw., auch scheinen die Beispiele nur Restartless-Add-ons anzusprechen, da der Code immer in der Datei „bootstrap.js“ abgelegt ist).
Vielleicht kannst du ja kurz aufklären, was man von dem ganzen Code überhaupt in einem SDK-Add-on benötigt :). Oder gibt es vielleicht doch einen einfacheren Weg mit SDK-Methoden?
Dieser Beitrag dürfte helfen:
https://blog.mozilla.org/addons/2014/03/06/australis-for-add-on-developers-2/
Passt ja eh, da Firefox 30 die aktuelle Version ist. 😉
Ich könnte mir das vielleicht mal ansehen und bei Erfolg ein Tutorial darüber schreiben, allerdings werde ich dazu definitiv nicht im Laufe der nächsten Woche kommen. Aber ich notier es mir mal.
Hallo Sören,
erst einmal danke für deine sehr schnelle Antwort :).
Den Beitrag kenne ich bereits, allerdings wird dort eher auf „normale“ Add-ons bzw. Restartless-Add-ons eingegangen (ansonsten ist das bisher der beste Artikel zu dem Thema). Ich werde mir dann wohl noch einmal das zweite Beispiel genauer anschauen müssen :). Mir ist halt unklar, ob man wirklich alle Methoden braucht (z. B. install(), startup(), shutdown() oder auch uninit() und windowListener() in dem AusView-Objekt, was im Beispiel auf GitHub benutzt wird). Ich habe auch schon einmal im Mozilla-Forum nachgefragt, allerdings kam dort auch nur eine Antwort, die auch nur auf ähnliche Beispiele hinwies. Da werde ich wohl noch einmal mit Trial & Error herumprobieren müssen :).
Das wäre natürlich nicht schlecht, aber besondere Eile hat dies für mich jetzt auch nicht, da das Add-on sowieso nur ein kleines Hobby-Projekt ist und ich momentan eh wenig Zeit habe :).