ma première extension, Boox

Vous vous penchez sur le développement d'applications ou d'extensions pour Mozilla ? C'est alors vers ce forum que se dirigeront naturellement vos requêtes...
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

GizMecano a écrit : lors de la mise à jour des extensions, Boox renvoie une erreur. Ne manquerait-il pas quelque chose
Il manque juste le fichier de mise à jour :wink:
D'ici peu je publie la premiere release, et je met ce fichier en place. Au vu des tres légères modifications, ceux qui ont installé la version beta pourront mettre à jour via la mise à jour automatique.
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

Salut,
je vois que tu as surchargé la fonction getCommands pour pouvoir ajouter tes menuitems. Que se passera-t-il si d'autres extensions veulent faire la même chose ? Je n'ai pas testé, mais je pense qu'il n'y en aura qu'une seule qui va « gagner », la dernière à être chargée.
Pour résoudre ce problème, d'autres extensions, comme Locate in Bookmark Folders, ou Update Bookmark ont une approche différente qui consiste à sauvegarder BookmarksCommand.createContextMenu sous un autre nom, puis à la surcharger par une fonction qui :
* dans un premier temps, appelle la fonction sauvegardée (l'originale)
* ensuite, rajoute les menuitems

Cela permet ainsi à plusieurs extensions de surcharger cette fonction ; elles seront appelées en chaîne.

Je me rapelle aussi d'avoir vu une extension dont je ne me rappelle plus le nom qui « patchait » la fonction getCommands en faisant un truc du style getCommands = eval(getCommands.toString().replace(/destrucs/, 'dautrestrucs')), :shock: mais ça me paraît un vilain hack tout pas beau.

Qu'en penses-tu ?
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

arno. a écrit : Qu'en penses-tu ?
J'en pense que tu a raison, merci bien de me pointer celà du doigt :wink: , j'aurai dû y pensé tout seul...
J'ai les mêmes conclusions que toi a priori, ce doit être la dernière qui gagne.

Pour l'instant (un peu balot, mais néanmoins nécessaire), je l'ai essayer en conjonction avec toutes les extensions en rapport avec le panneau latéral des marques-pages, et tout ce passait correctement. Mais évidement ce n'est pas suffisant.

Je modifie tout çà dès que j'ai le temps (et c'est pas une, mais plusieurs fonctions qui sont surchargées)
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Voilà, les remarques pertinentes d'arno ont été corrigées, l'extension est dorénavant polie :wink: .
Si certains veulent tester cette version 0.1.3.0, c'est en principe la dernière beta avant de la déclarer stable.

Je m'attache ensuite à rajouter des fonctionnalités, en particulier en ce moment j'essaie de styler les marques pages dynamiques qui ont de nouvelles entrées (c'est pas gagné).

toujours là: http://joliclic.free.fr/mozilla/boox/
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

première version stable 0.2.0.0 de boox.
Pour ceux qui aurait installer la précédente, c'est la même avec juste des localisations supplémentaires.

toujours là : http://joliclic.free.fr/mozilla/boox/
La mise à jour automatique est en place, merci de me signaler si il y a des problèmes à ce niveau.

Une nouvelle version est en route, je suis sur l'ajout de nouvelles fonctionnalités. En ce moment j'essaie de styler les marque pages dynamiques qui ont de nouvelles entrées non lues. Pour l'instant j'arrive à appliquer les styles, mais d'autres fonctionnalités des marque-pages sont cassées :( ...
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

martin a écrit :Pour l'instant j'arrive à appliquer les styles, mais d'autres fonctionnalités des marque-pages sont cassées :( ...
Tu as fait comment ?
Je m'étais déjà posé la question de styler le panneau latéral, mais je n'étais pas arrivé aussi loin que toi. Vu que pour styler les arbres, on doit utiliser uniquement l'attribut properties. Et que comme cet arbre est crée par gabarit, même en le surchargeant par xbl, on ne peut jouer que sur les propriétés du rdf des bookmarks. En plus, insertRule ne marche pas. Donc pas très possible de styler dynamiquement. :?


L'extension Sage s'en sort en rajoutant des trucs dans le le champ description des bookmarks.

Tu as d'autres solutions ?
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

arno. a écrit : Tu as fait comment ?
En surchargeant tree.view.getCellProperties() .

En fait le nom est un peu "trompeur", visiblement cette méthode est appelée quand l'arbre est construit en interne, le 3e argument peut être manipulé par la fonction et tu peux lui ajouter des "property" stylables par css.

J'ai essayé de surcharger uniquement cette méthode, mais visiblement les changements ne sont pas pris en compte, bien que un alert(tree.view.getCellProperties) me montre mon code. Il me faudra néanmoins réessayer.

J'ai essayé aussi de "sauvegarder" l'objet tree.view, puis de lui affecter mon propre "Custom view". Cà marche, dans le sens où ma version de getCellProperties est pris en compte. Les autres méthodes et propriétés ne font que appeler celles sauvegardées.
Le problème c'est que des fonctionnalités de base, telle que l'ajout d'un nouveau marque-page, sont cassées. Plus précisément, la création est effective mais n'est pas visible dans l'arbre. Si on ferme les marques-pages, puis les réouvrent, l'insert est bien présent.

Il me semble que le problème (mais ce n'est peut être qu'un bout du problème) est que le nombre de lignes affichées par un custom view (rowCount) est statique (propriété read only). Or dans la vue des marque-pages de firefox, on voit bien qu'il est dynamique.

Il me faut encore chercher...

Sinon, j'ai bien sur vu le code de sage, mais il n'est pas question pour moi de toucher aux champs existants vu que je souhaite que mon extension "se fonde" dans l'interface existante.

arno. , si çà te permet d'avancer, et que tu arrives à aller plus loin de ton côté, çà serait sympa de me le faire partager.
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

nouvelle version beta 0.3.0.0 à tester.

Cette version style les marque-pages dynamiques qui ont de nouvelles entrées (chuis content :) ), ils sont mis en gras. Les marques pages dynamiques (à jour ou pas) sont également légérement singularisés (un pointillé orange sous le nom).
La mise en gras est supprimée quand toutes les entrées sont lues. On peut également passer par un clic droit pour marquer un fil comme lu.
J'ai mis des captures d'écrans sur le site.

En plus d'éventuels bugs, j'aimerai des retours sur les performances. Effectivement sur ma machine (pas puissante et tant mieux pour tester) le scroll dans les marque-pages ainsi stylés est légèrement saccadé (mais trés acceptable) quand il y a des fils visibles, c'est dû au traitement.
Si pour certains ce saccadement est trop prononcé et insupportable, il me faudra mettre une option pour pouvoir désactiver cette fonction.

Sincèrement, depuis que j'ai cette fonction, je ne sais pas comment on peut s'en passer :D

Je pense que les styles choisis (pointillé orange pour les marque-pages dynamiques, et mise en gras pour ceux qui ont de nouvelles entrées) doivent être cohérents quelque soit le thème général de Firefox. Mais pour ceux qui souhaitent d'autres styles j'expliquerai comment les personnaliser via le userChrome.css .
Humpfff
Tyrannosaurus Rex
Messages : 2451
Inscription : 05 avr. 2004, 13:23

Message par Humpfff »

Très bien, ces nouveautés. :D Bravo !

Le cochage d'un billet comme non lu, c'est bon çà ! Oui mais :
-> Je préférerai peut-être avoir la case à cocher avant le libéllé du titre. AMHA, ça serait plus lisible/"usable".
-> Je voudrais marquer un billet déjà lu, comme non lu. Aujourd'hui ce n'est pas possible. Est-ce prévu ?

Sur mon portable, je ne remarque pas d'anomalies sur le scroll. :wink:

Mine de rien, chez moi Boox commence à concurrencer Sage.
Cependant Sage est plus tolérant vis-à-vis de flux mal formés ou mal servis, ou encore vis-à-vis des flux Blogger. :?
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Merci pour le retour Humpfff !

Donner leur la main et ils veulent le bras :D . (non, je rigole) :
Humpfff a écrit : -> Je préférerai peut-être avoir la case à cocher avant le libéllé du titre. AMHA, ça serait plus lisible/"usable".
Je me suis taté. T'as peut être raison, je le changerai peut être, il faut que je rumine... Sinon il est prévu pour plus tard de pouvoir utiliser une feuille de style personnelle, dans laquelle chacun mettra ce qu'il voudra.
Humpfff a écrit : -> Je voudrais marquer un billet déjà lu, comme non lu. Aujourd'hui ce n'est pas possible. Est-ce prévu ?
ce qui est sûr c'est que ce ne sera pas possible dans le lecteur de fil. Je met en fait le lien dans l'historique, le retirer n'est pas possible dans le cadre de la page. Par contre ce doit être envisageable via le clic droit dans le panneau latéral où les privilèges le permettent.
Humpfff a écrit : Sur mon portable, je ne remarque pas d'anomalies sur le scroll. :wink:
Cool. Il me faut d'autres retours sur ce point !
Humpfff a écrit :Cependant Sage est plus tolérant vis-à-vis de flux mal formés ou mal servis, ou encore vis-à-vis des flux Blogger.
* Sur les flux mal formés, je doute. Pour être plus précis, si le fil lui même est mal formé, je doute que sage puisse le traiter, tout comme moi. Je n'ai d'ailleurs pas croisé de tels fils, ce doit être rare.
Si c'est le html que contiennent les entrées qui est malformé (et là, il y a beaucoup de cas), il est "corrigé" par l'extension (et çà a été pénible à faire), et je dois avoir autant de réussite que sage. Il y a même un point que je traite et que ne fait pas sage (à ma connaissance), ce sont les fichiers multimédia ("enclosure") joints aux fils RSS 2 (pas encore atom).

* Sur les fils mal servis (par exemple en text/html), oui je confirme, mon extension ne peut pas les transformer dans le lecteur (mais les autres fonctionnalités, comme les infobulles, marchent), alors que sage s'en sort. Ils sont peu nombreux, mais il y en a (framasoft par exemple malheureusement, je leur ai signalé mais rien...).
Mon extension fait une transformation xslt, elle a donc besoin d'un fichier xml en entrée, et déclaré comme tel (ou un dérivé).

*ou encore vis-à-vis des flux Blogger.
Un exemple ? Personnellement je n'ai pas de problème, il me suffit de créer le marque-page dynamique avec l'icône idoine et native de Firefox.

Sinon, vous pouvez me citer des adresses qui ne fonctionnent pas, je peux peut être encore améliorer.

Encore merci pour le retour, Humpfff.
Merci à ceux qui teste cette version 0.3
Humpfff
Tyrannosaurus Rex
Messages : 2451
Inscription : 05 avr. 2004, 13:23

Message par Humpfff »

ou encore vis-à-vis des flux Blogger
Alors je vais préciser ce qui m'arrive.
Par exemple, avec le Mr Boat Blog et son fil atom

1- Lorsque je visualise l'ensemble du fil (clic droit > voir le fil)

1.1 Soit j'ai l'affichage du fil, mis en page selon le style défini dans les options de boox. Dans ce cas, tout va bien.
1.2 Soit je n'ai pas le style défini dans Boox, mais l'affichage brut du fichier atom.xml.
En fait, avec Blogger, il n'est pas si brut que ça, mais bon.


2- Depuis cette vue d'ensemble du fil, si je souhaite visualiser un billet en particulier (on suppose qu'on est dans le cas 1.1)
- Je clique sur le titre du billet [par exemple : Kayak adventurer takes on sharks.]
- Je m'attends à ouvrir la page web correspondant au billet.
- Mais au lieu de cela, j'ai une fenêtre d'identification à Blogger.com qui s'ouvre.
En fait le lien activé est https://www.blogger.com/atom/17458566/1 ... 8984594340 , ce qui est totalement différent de l'adresse de la page noté précédemment.


Note : Je rencontre le même pépin (la fenêtre d'identification) avec un autre lecteur de flux que j'utilise sous linux : raggle (ça n'a rien à voir avec Firefox)
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

aah, mille merci Humpfff, tu me fais les meilleurs rapports de bug.

nouvelle version beta 0.3.1.0, la transformation xslt a été affinée, le fil cité ne devrait plus avoir de problèmes.

N'hésitez pas à me signaler d'autre fils qui ont des problèmes...
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Et hop, et de 2 pour aujourd'hui.

nouvelle version beta 0.3.2.0

ajout d'un convertisseur pour les fils servis en application/rss+xml, il y en avait déjà un pour les fils atoms. Ils partagent la même préférence dans les options.
Dorénavant, le fil de LinuxFr est accessible dans le lecteur :) .
James
Lézard à collerette
Messages : 442
Inscription : 26 nov. 2004, 00:17

Message par James »

Bonjour,

Comment trouve t'on le flux sur cette page, je l'avais dans Sage et je voudrai le passer dans Boox mais je n'y arrive pas.

http://forum.pcastuces.com/

et

http://forum.phpbb.biz/RSS?f=13

Merci :)

ps: au passage, merci pour ce superbe travail

Windows 10 64b / FireFox 64b / Thunderbird 115 64b/ Fibre / Intel Core i7-2600 + Maximus IV Extreme/ 8Go mem/ GPU GTX 460 1024 Mo - 2 SSD Samsung Pro Sata6 1 TO

Humpfff
Tyrannosaurus Rex
Messages : 2451
Inscription : 05 avr. 2004, 13:23

Message par Humpfff »

Ils ne sont pas considéré comme MPDyn par Boox (j'ai d'autres exemples de ce genre). Je ne sais pas pourquoi mais Martin saura probablement te répondre quand il repassera par ici.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités