Depuis le début, j’utilisais Songbird Developer Tools pour m’aider à créer des extensions pour Songbird. En quoi consiste « DevTools » ? C’est un regroupement de différents outils conçus à la base pour Firefox et plus généralement la plateforme Mozilla (Gecko/XULRunner). En regardant la description :
Since the beginning, I was using Songbird Developer Tools to help me create add-ons for Songbird. In what consist DevTools ? It’s a pack of different Tools originally designed for Firefox and globally the Mozilla platform (Gecko/XULRunner). Looking at the description :
- Assistant de création de thèmes, pour créer des « plumes »
- Assistant de création d’extensions, permet de faire une extension de base avec des parties d’interface
- Options pour désactiver le cache de XUL et permettre le rafraichissement de l’interface
- Plus de débogages
- La table périodique de XUL, pour tester toutes les possibilités d’interfaces
- Accès facile au gestionnaire de profils
- Un bouton pour rapporter des bugs
- Une console de débogage Javascript et environnement de test
- The Feathers Wizard, used to set up feathers development projects
- The Extension Wizard, which creates a HelloWorld extension and UI sample code
- Options to disable XUL caching and refresh the UI
- More debug output
- The XUL Periodic Table, so you can test all the standard XUL widgets
- Easy access to the Profile Manager
- A great big bug report button
- Javascript debugger and test environment
Alors que c’était bien pratique, Songbird a beaucoup évolué (nouvelles fonctionnalités, nouvelle API etc.) mais personne n’a pris soin de cette extension, à part la correction d’erreurs et l’augmentation du maxVersion toujours et encore.
While this was quite useful, Songbird was evolving (new features, new API etc.), and nobody was taking care of this add-on, except fixing errors and bumping maxVersion over and over.
Comme c’est une super extension, j’ai décidé de l’améliorer en apportant diverses modifications :
- Depuis Songbird 1.4.3, les pages media personnalisées peuvent avoir leur propres bouton (comme avec BirdQuizz par exemple). Désormais, lorsque vous créerez une page media, vous aurez le code pour afficher ce bouton. (Non disponible pour Songbird 1.8 à cause d’un bug)
- Depuis le thème « Purple Rain », les boutons de la barre d’outils nécessite le fond graphique du bouton de base. Lorsque vous créerez un bouton pour la barre d’outils, vous aurez maintenant un modèle correspondant au bon thème ainsi que des tailles correctes dans le fichier CSS.
- Les pages media créées disposent maintenant d’un titre de page pour éviter d’afficher le lien Chrome dans l’onglet (ce n’était pas lisible sinon !)
- Chaque extension créée ajoute maintenant une icône par défaut (iconURL), j’ai fait ce choix car beaucoup de personnes oublient d’en mettre une ou simplement évitent. C’est une étape importante pour que votre extension soit reconnue.
- Suppression des liens XULPlanet car site fermé depuis un petit moment et correction de plusieurs liens du Centre développeur de Mozilla. (youpi le nouveau site est disponible !)
- Suppression de la possibilité d’inclure une boîte de dialogue « A propos » dans l’assistant, c’était inutile car le gestionnaire d’extensions de Mozilla génère lui-même cette boîte de dialogue. Je crois que cette fonction était dédiée à Firefox 2.0. Conseil pour les développeurs : au lieu de faire une page « A propos » en XUL, réaliser la en HTML ;)
- Lorsque que vous créez un Panneau d’affichage dans l’assistant, vous aurez maintenant la possibilité de choisir quel panneau vous souhaitez utiliser ! Panneau en bas des services (pochette album), panneau de contenu du bas (mashTape) et panneau de droite (paroles). Vous pouvez même en choisir plusieurs en même temps.
- Suppression des chaînes de caractères inutiles provenant des panneaux d’affichage si l’utilisateur n’inclue pas cette fonction
- Possibilité de créer un marque-page Radio ou Services dans le panneau de services via l’assistant : C’est une fonctionnalité majeure, alors qu’il était possible d’utiliser le panneau de services dans les versions précédentes de Songbird, cette fonction vous permettra de créer une extension avec un marque-page Radio ou Services avec du code compatible avec Songbird 1.8 et plus. C’est dédié au nouveau panneau de services.
- De plus, lorsque vous créez une extension avec un marque-page dans le panneau de services, vous profiterez d’un lien vers la documentation de ce nouveau panneau de services.
- Graphismes améliorés de l’extension pour mieux correspondre au thème « Purple Rain » : les pages d’accueil des extensions et des thèmes profitent d’un meilleur design par exemple.
- et bien évidemment, le « maxVersion » a été défini pour la version 1.9.0 pour être compatible avec la sortie prochaine du nom de code « Pink Floyd »
Since it’s a great add-on, I decided to improve it, by doing some modifications :
- Since Songbird 1.4.3, customs media view page can have their own graphic button (like BirdQuizz for example). When creating a Media View, you now have the code to show this button.
- Since the Purple Rain feather, toolbar buttons changed and developers have to provide the basic button. When creating a toolbar button, you now have a good graphic template with correct sizes in the CSS file.
- Media View created now comes with a title (in page) to prevent the media tab showing the chrome URI (not pretty !)
- Each add-on created now comes with a default icon for the add-on (iconURL), I did this since many people forgot or avoid to use an icon, this is a important step for your add-on to be recognized.
- Remove of XULPlanet links since it’s closed and correct a lot of Mozilla Developer Center links. (hurray new website is live !)
- Delete the ability to add about box in the wizard, this was useless since the Mozilla add-ons manager generate itself the about box. I think this feature was dedicated to Firefox 2.0 extensions, but not sure. Also for developers, instead of doing about inside a XUL file, you should make an html page.
- When creating a Display Pane in the wizard you will be now able to choose which pane you will use ! Service Pane bottom, Content Pane bottom and Right Sidebar. You can even choose multiple pane to use.
- Remove of useless Display Pane translation strings if the user didn’t choose to make a Display Pane
- Ability to create both a Radio and Services node for the Service Pane in Wizard : This is a major feature, while you can make use of the service pane for ages in previous Songbird versions, this feature will let you help create an addon with a Radio or Services node with code compatible with Songbird 1.8 and more. It’s dedicated to the new Service Pane.
- Plus, once you create an add-on with a Service Pane node, you will have a link to the documentation of Service Pane.
- Refine some graphics of the add-on to match Purple Rain feather : both extensions and feathers hello page have a better design for example.
- and of course, maxVersion was set to 1.9.0 to be compatible with « Pink Floyd » release
Ceci n’est pas ce que j’appelle un patch « énorme » mais il améliore certainement les outils pour les développeurs. Je pense que c’est une première étape.
QUOI ENCORE PLUS ?
Oui, je pense même ajouter des choses sympa.
- Possibilité de créer un bouton menu dans la barre d’outils (comme AdBlock Plus)
- Possibilité de choisir la position de ce bouton
- Traduire l’extension (Je devrais faire des tests avec l’équipe de BabelZilla)
- Plus de personnalisations du panneau de services
- Possibilité de créer une extension avec un moteur de recherche (comme SkreemR)
- et plus !!!
Le patch n’est pas encore intégré et bien sûr l’extension officielle n’est pas à jour non plus, mais si vous souhaitez la nouvelle version, vous pouvez installer ce fichier XPI dans votre Songbird. (Songbird 1.8 ou plus recommandé)
This is not what we can call an « huge » patch, but it definitely improve Tools for the developers. I think it’s the first step.
WAIT MORE TO COME ?
Yep, I’m considering more cool things to add.
- Ability to create menu button in the toolbar (like AdBlock Plus)
- Ability to choose the position for this button
- Localize the add-on (I should do some test with BabelZilla team)
- More customization for the Service Pane
- Ability to create Search add-on (like SkreemR)
- and more !!!
The patch is not yet committed, and so the official add-on is not up to date yet, but if you want to give a go, you can test this new version by installing this XPI file on your Songbird. (Songbird 1.8 or more recommended)
I was always interested in what your changes will be. Here’s the answer. And it will definitely be great!
Thanks for this one.
Thanks :)
I’ve installed Songbird Developer Tools, about 30 times, every time it installs it says to restart songbird, so I do as instructed, but none of the tools are there when it restarts and it doesn’t show up in my add-ons list