Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add-On Update Tutorials #37

Closed
jobisoft opened this issue Aug 21, 2020 · 3 comments
Closed

Add-On Update Tutorials #37

jobisoft opened this issue Aug 21, 2020 · 3 comments

Comments

@jobisoft
Copy link
Collaborator

jobisoft commented Aug 21, 2020

Each of these tutorials is designed so it can be completed in a short amount of time. Please contact us via our support channels, if anything is unclear or you need further assistance.

All tutorials will be announced here. You can get automatically notified by subscribing to this issue.

@jobisoft
Copy link
Collaborator Author

jobisoft commented Oct 1, 2020

The first tutorial has been released!

Switch to the WebExtension i18n locale system

This tutorial includes the following steps:

  • convert your DTD and properties locale files to the new WebExtension i18n JSON format using a converter tool
  • remove usage of DTD files
  • remove usage of nsIStringBundle and properties files

This tutorial also shows, how to automatically localize i18n locale strings in WebExtension HTML windows, like option pages, browser action pages or any other page created using the windows API.

@jobisoft
Copy link
Collaborator Author

jobisoft commented Oct 6, 2020

The second tutorial has been released!

Convert add-on parts individually by using a messaging system

This tutorial includes the following steps:

  • introduce the concept of sending notifications between the WebExtension background page and privileged scripts executed by an Experiment API

messaging

One of the key concepts of the WindowListener update approach is to move smaller code segments from the Experiment into the WebExtension part without having to change everything at once. The introduced messaging system aims to allow just that.

@thunderbird thunderbird locked and limited conversation to collaborators Oct 6, 2020
@jobisoft jobisoft pinned this issue Oct 6, 2020
@jobisoft jobisoft changed the title Further update tutorials Further Add-On Update Tutorials Oct 6, 2020
@jobisoft
Copy link
Collaborator Author

jobisoft commented Mar 22, 2021

The third tutorial has been released!

Convert your legacy XHTML options page into a WebExtension HTML options page (keeping your preferences in Thunderbird's prefBranch for now)

This tutorial is based on the universal messaging introduced in the second tutorial:

  • switch to a messaging approach to get and set preferences
  • only the options page has to be touched, preferences remain in Thunderbirds preference system (prefBranch)
  • developers can continue to replace the remaining preference calls by messaging requests step-by-step
  • after all preference calls have been replaced, developers can switch from using Thunderbirds preference system to using WebExtension local storage by just loading a different preference handler into their background page.

@jobisoft jobisoft changed the title Further Add-On Update Tutorials Add-On Update Tutorials Oct 22, 2023
@jobisoft jobisoft unpinned this issue Aug 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant