[Ext] InfoLister [old 2004-2010 thread]

Announce and Discuss the Latest Theme and Extension Releases.
Locked
Klint
Posts: 260
Joined: September 13th, 2004, 1:24 pm

XPI link of 0.9c points at 0.8.2 !

Post by Klint »

Hello

I'm using FF 1.5RC3, trying to perform mass installation of extensions using InfoLister 0.9c and MassInstaller 0.3.
Yet there is a small issue : in the "XPI List" format file generated by InfoLister 0.9c, the url for the XPI file is the previous version's one, which is not compliant with FF1.5.


#InfoLister 0.9c
http://mozilla.doslash.org/infolister/i ... -0.8.2.xpi

Thanks

Olivier
User avatar
Dagobert-78
Posts: 4
Joined: November 25th, 2005, 4:08 am
Location: Versailles (France)
Contact:

Post by Dagobert-78 »

Hi,

Could you to add the "infolister.js" file for translate the description ?
with in :

Code: Select all

pref("extensions.{3f0da09b-c1ab-40c5-8d7f-53f475ac3fe8}.description", "chrome://infolister/locale/infolister.properties");



and, in "install.rdf" file, why they are not the following strings :

Code: Select all

      <em:file>
         <Description about="urn:mozilla:extension:file:infolister.jar">
            <em:package>content/InfoLister/</em:package>
            <em:locale>locale/en-US/</em:locale>
            <em:locale>locale/fr-FR/</em:locale>    <--- that, it's for me
         </Description>
      </em:file>


Finally, who translate your extension in french ?



Thancks, DAgobert_78
User avatar
Luana
Posts: 54
Joined: December 10th, 2004, 7:13 am
Location: Everywhere...
Contact:

Post by Luana »

Dagobert-78 wrote:Finally, who translate your extension in french ?

Hi !
There is already a previous French translator ;)
You may also follow the "evolution" of the InfoLister translation(s) here !
User avatar
Bazon
Posts: 138
Joined: June 21st, 2005, 5:35 am
Location: Berlin\Germany\Europe

Post by Bazon »

Hi everyone!

Mithrandirand I from the German Firefox Forum try to use Infolister as a creator for a javascript - driven fast install list.

It works good so far (see the results: Mithrandirs Firefox Info, My Firefox Info ["Gewählte Erweiterungen installieren" = "install selected extensions", "Alle markieren" = "mark all"]- see the thread for javascript and template details [you propably don't understand german, but you needn't - javascript + HTML is sufficient :wink:]),
but I got one question left:

What about Direct-Links to Themes, i.e. .jar Files?


I tried to do this in a little test profile, I got this Fx - Info*, but there are no direct Theme-Links! (See the page source or try to install, it only links to itself instead of the Theme-File. And this although both Themes have a working update notification: Noia is hosted at update.mozilla.org and SaFire Milk has a working update file.)

But InfoLister claims to search for direct links as you can see in this screenshot:
Image

So what wents wrong?

Thanks!
Bazon

* I know that the javascript isn't matching for theme-install yet, but I want to know whether it is possible to get such an information before I fix this...
User avatar
Bazon
Posts: 138
Joined: June 21st, 2005, 5:35 am
Location: Berlin\Germany\Europe

Post by Bazon »

PS:

You see the missing-link-to-themes issue better with this very short template:

Code: Select all

text/plain;XPI List;
[[# %lastupd%
]][[# %useragent%
]]
{{extension:#%name% %version% %disabled-text%
%xpiLink%
}}

{{theme:#%name% %version% %selected-text%
%xpiLink%
}}
- resulting in something like this...
asqueella
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post by asqueella »

ok, try this one
User avatar
Bazon
Posts: 138
Joined: June 21st, 2005, 5:35 am
Location: Berlin\Germany\Europe

Post by Bazon »

asqueella wrote:ok, try this one
Fantastic, thank you!!! :P
Result (to be improved...)
asqueella
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post by asqueella »

Cool, please let me know when you finish this, I'd like to link to the template used and example output.
User avatar
Bazon
Posts: 138
Joined: June 21st, 2005, 5:35 am
Location: Berlin\Germany\Europe

Post by Bazon »

asqueella wrote:Cool, please let me know when you finish this,....
OK, here we go...:wink:

The theme list is now a list of checkboxes, two.
Unfortunatly, as far as I can see it isn't possible to install many themes with only one prompt, you have to prompt for each individual theme. But i think that's not too bad, who will install more than 5 themes at one time...:wink:
[Read here for differences between triggering extension installation and theme installation and note that you can enter a list in the extension install trigger.... ...but maybe, I got it wrong...]

As far as I could I translated the template into english:

So here is the minimum template,
[edit]the external javascript file isn't needed anymore! Javascript is now in the template[/edit]
and here the output for my Firefox.


And as I don't know, whether I'll host it forever, I'll post the content here:

The template:
text/html;Simple HTML;<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My Firefox Configuration</title>
<!-- please addapt (and uncomment) paths to favicon and css -->
<!-- <link rel="SHORTCUT ICON" href="favicon.ico"/> -->
<!-- <link rel="stylesheet" type="text/css" href="stylesheet.css" /> -->
<style type="text/css">
li
{
list-style: none none inside;
}
ul, li
{
margin: 0 5px;
padding: 0;
}
</style>
</head>
<body>


<script type="text/javascript">
//<![CDATA[
window.addEventListener("DOMContentLoaded", function(event)
{
var inputs = document.getElementsByTagName("input"), i;
for(i in inputs)
{
if(inputs[i].type == "checkbox")
{
inputs[i].disabled = (inputs[i].value == "");
}
}
}, true);

function installXPI(hNode) {
var obj = { }, noItems = true;
if ("action" in hNode) {
var elements = hNode.elements;
for (var i=0; i < elements.length; i++) {
if ((elements[i].type == "checkbox") && (elements[i].checked)) {
obj[elements[i].name] = elements[i].value;
noItems = false;
}
}
} else if ("href" in hNode) {
obj[hNode.title] = hNode.href;
noItems = false;
}
try {
if (noItems) {
alert("Nothing selected.");
} else if (InstallTrigger.updateEnabled()) {
InstallTrigger.install(obj);
} else {
alert("You have software installation disabled in your browser.\nPlease enable software installation in your browser's advanced preferences.");
}
} catch(ex) {
alert("Your browser does not support installation of this type of software.");
}
return false;
}

function installTheme(hNode) {
var obj = { }, noItems = true;
if ("action" in hNode) {
var elements = hNode.elements;
for (var i=0; i < elements.length; i++) {
if ((elements[i].type == "checkbox") && (elements[i].checked)) {
obj[elements[i].name] = elements[i].value;
InstallTrigger.installChrome(InstallTrigger.SKIN, elements[i].value, elements[i].name);
noItems = false;
}
}
}
return false;
}

function CheckboxenAktivieren(f)
{
for(i=0; i<f.length; i++)
{
if(f[i].value != "" && !f[i].disabled)
f[i].checked = !f[i].checked;
}
}
// End -->
//]]>
</script>



<h1>My Firefox</h1>


[[<div class="lastupd">
Last Update: %lastupd%
</div>]]

[[<div class="useragent">
User Agent: %useragent%
</div>]]

<p>Note:<br/>
You could only install extensions and themes with clickable checkboxes. All others don't have an directlink to the .xpi/ .jar file.<br/>
Install single Extensions or Themes by clicking on the Versionnumber.<br/>
Install mulitple Extensions and Themes by selecting them and hitting the 'Install' Button.<br/></p>

[[<div class="extensions">
<h3>Extensions (enabled: %enabled_extensions_count%, disabled: %disabled_extensions_count%):</h3>

<form action="javascript:void(0);" method="post" onsubmit="return installXPI(this);">
<p><input value="Install selected Extensions" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form.elements);" value="Invert Selection" /></p>
<ul>
{{extension:
<li>
<input name="%name%" value="%xpiLink%" title="%xpiLink%" type="checkbox" />
<a href="%homepageURL%">%name%</a> <a href="javascript:void((function(){if('%xpiLink%' != '') {var xpi = new Object(); xpi['%name%'] = '%xpiLink%'; InstallTrigger.install(xpi)} if('%xpiLink%' == '') alert('This Extension can‘t be installed directly because of missing udate function.')})())">%version%</a>: %description% %disabled-text%
</li>}}
</ul>
<p><input value="Install selected Extensions" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form);" value="Invert Selection" /></p>
</form>
</div>]]

[[<div class="Themes">
<h3>Themes (%themes_count%):</h3>

<form action="javascript:void(0);" method="post" onsubmit="return installTheme(this);">
<p><input value="Install selected Themes" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form);" value="Invert Selection" /></p>
<ul>{{theme:
<li>
<input name="%name%" value="%xpiLink%" title="%xpiLink%" type="checkbox" />
<a href="%homepageURL%">%name%</a> <a href="javascript:void((function() {if('%xpiLink%' != '') InstallTrigger.installChrome(InstallTrigger.SKIN,'%xpiLink%','%name%'); if('%xpiLink%' == '') alert('This Theme can‘t be installed directly because of missing udate function.')})());">%version%</a>: %selected-text%
</li>}}
</ul>
<p><input value="Install selected Themes" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form);" value="Invert Selection" /></p>
</form>
</div>]]


[[<div class="plugins">
<h3>Plugins (%plugins_count%):</h3>
<ul>
{{plugin: <li>%name%</li>
}}</ul>
</div>]]

<hr />
<p class="footer">This list was made with <a href="http://mozilla.doslash.org/infolister">&raquo;InfoLister&laquo;</a>.</p>
</body>
</html>


Credits to Mithrandir who did most of this stuff but hasn't got a mozillazine account...

greetings,
Bazon
Last edited by Bazon on December 14th, 2005, 9:47 am, edited 9 times in total.
User avatar
Bazon
Posts: 138
Joined: June 21st, 2005, 5:35 am
Location: Berlin\Germany\Europe

Post by Bazon »

And another thing I discovered about the collected xpi Links:

They don't always get the right version!

An example is Tab Sidebar:

It's updateURL (with filled parameters) http://users.blueprintit.co.uk/~dave/web/firefox/update.rdf?guid=TabSidebar@blueprintit.co.uk&version=1.0b4&app={ec8030f7-c20a-464f-9b0e-13a3a9e97384}&appver=1.5 [kept small to save the layout - yes, it is a link, but you can't click it] leads to the following output:

Code: Select all

1.0a1
        {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
        1.4
        1.6a1
        http://users.blueprintit.co.uk/~dave/content/firefox/tabsidebar/TabSidebar-1.0a1.xpi
     
    1.0b1
        {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
        1.4
        1.6a1
        http://users.blueprintit.co.uk/~dave/content/firefox/tabsidebar/TabSidebar-1.0b1.xpi
     
    1.0b
        {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
        1.4
        1.6a1
        http://users.blueprintit.co.uk/~dave/content/firefox/tabsidebar/TabSidebar-1.0b2.xpi
     
 
    1.0b4
        {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
        1.4
        1.6a1
        http://users.blueprintit.co.uk/~dave/content/firefox/tabsidebar/TabSidebar-1.0b4.xpi

so it shows severall versions at once (whyever....)

But InfoLister collects only the first link which is http://users.blueprintit.co.uk/~dave/co ... -1.0a1.xpi and the oldest version of this extension.

It would be fine to see that %xpiLink% collects the newest link in these cases in future versions :)

greetings,
Bazon


PS:

Ironicly, this also effects InfoLister itself. The found xpi Link (%xpiLink%) links to Verion 0.82, although 0.9c is the latest official one...:
http://mozilla.doslash.org/infolister/i ... -0.8.2.xpi

And looking at the infolister update file http://mozilla.doslash.org/infolister/update.rdf shows that this is a clear bug:
I get the xpiLink for 0.82 although I have Firefox Version 1.5 which is not compatible to infolisters update.rdf!
Last edited by Bazon on December 9th, 2005, 6:06 am, edited 2 times in total.
User avatar
Bazon
Posts: 138
Joined: June 21st, 2005, 5:35 am
Location: Berlin\Germany\Europe

Post by Bazon »

I edited my post 2 above (and addapted the linked files),
Mithrandir and I made small improvements:
  1. The checkboxes have now the Link to the Extension as a tooltip. Main opportunity: Now you can see faster, whether the extension has a right install link.
  2. Clicking on the Versionnumber leads to direct installation of single extensions or themes

cheers,
Bazon
asqueella
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post by asqueella »

The checkboxes have now the Link to the Extension as a tooltip. Main opportunity: Now you can see faster, whether the extension has a right install link.


You could just go through all checkboxes on the page at load time and disable the ones that don't have a link.
User avatar
Bazon
Posts: 138
Joined: June 21st, 2005, 5:35 am
Location: Berlin\Germany\Europe

Post by Bazon »

asqueella wrote:
The checkboxes have now the Link to the Extension as a tooltip. Main opportunity: Now you can see faster, whether the extension has a right install link.


You could just go through all checkboxes on the page at load time and disable the ones that don't have a link.
As you wish, master... :wink:

New template [replaced in post above...]
new result

So the external javascript file isn't needed anymore, too!
It's just a plain template, that'll make it a lot easier to handle. :)

I hope you noticed the %xpiLink% - wrong version- bug I posted before...:wink:

sheers,
Bazon


Edit:
Now w3c validated (included small mistakes like <br> instead or <br/> before...)

Edit2:
Argh, I really don't know when this is ready. Every time I think it's perfect, someone drops in with another idea.
So now the Links on the versionnumbers are linked to an alert if the install link is missing.
But right now I'm too lazy to translate every template version into english, check my Sig. for the actual state of work, it includes a link to it's template at the end of the page...

Edit3:
Right now I think it's pretty final...:wink: (Thanks to Dr. Evil!)
updated the english template and the post containing template aswell.
User avatar
Ken Cooper
Posts: 306
Joined: July 26th, 2004, 4:15 pm
Location: Holland, MI USA

Post by Ken Cooper »

If anyone knows what I need to change since I updated to 0.9c infolister to display my page (see sig) please let me know. Extension update was all I changed and now no data is shown, but if you look at the source code on the page, it is there.
My Firefox Info
NOTE: Firefox is spelled “F-i-r-e-f-o-x”; only the first letter capitalized. The preferred abbreviation is “Fx” or “fx”.
asqueella
Posts: 4019
Joined: November 16th, 2003, 3:05 am
Location: Russia, Moscow

Post by asqueella »

Without looking at the XSLT carefully, I'd say replace all occurences of "/info" with "/infolister/info". I think Robert has an updated version of this.

[edit] Bazon: I saw your posts, but haven't yet looked into it, the first issue you reported was deliberately coded like that, unsure about the second one. Looks like I will have to fix this.
Locked