forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicola Ken Barozzi <>
Subject Re: multiple skin descriptors, skin versions
Date Wed, 04 Feb 2004 08:50:20 GMT
Dave Brondsema wrote:
> Quoting Marshall Roch <>:
>>Dave Brondsema wrote:
>>>>IIRC I had added a filename convention too, so a skin would be for
>>>> skinname-f0.5-0.3.jar (version 0.3 compatible with forrest 0.5)
>>>I like this.  Simpler is better.

Yes... err... but in my mail I also proposed that maybe the '0.3' part 
is not needed. The rationals was that a skin has to be gotten with the 
highest number anyway, so we can go without it altogether and simply use 
the publish date of the file.

  hence: skinname-f0.5.jar (read on)

>>I thought this was the problem.  Skin version 0.3 might still work for 
>>Forrest 0.6 and 0.7, but with your proposed naming scheme, each skin 
>>would have to be re-released for each Forrest release, and bug fixes to 
>>the skin release for 0.6 would not be applied to the release for Forrest 
> If skin version 0.3 is compatible Forrest 0.5 and still works when 0.6 and 0.7
> are released, we could keep skinname-f0.5-0.3.jar  The fetcher could get the
> skin with the highest forrest version number possible (less than or equal to the
> version of forrest installed, of course).

But we don't know still if they are compatible. Hence my subsequent 
proposal that instead of f0.5 we use the *skin contract* version, that 
is separate from the Forrest version. We should change it when the skins 
have to change.

   hence: skinname-0.2.jar where 0.2 is the *skin contract* version

In essence, what should happen is:

  - if a skin is not present
    - get the skins descriptor
    - get the download dir of the skin
    - get the current forrest skin version compat
      (in the current Forrest)
    - look for a file named
    - if found
      - download and unpack skin
      - add a file with the date of the zip and the version
        in the skin
    - if not found
      - search for (best effort skin)
      - if found
        (do as already specified above)

To update the skins, it does as above but downloads the skin only if the 
remote file date is newer than the date that it wrote inside the skin.

In this way we don't need to generate and maintain descriptors in the 
download dirs and in the zips, and have a simple naming scheme.

This is what I meant about Mozilla: the skins are downloadable per major 
Mozilla version, not per skin version. In our case it would be per skin 


I hope I was clearer this time :-)

Nicola Ken Barozzi         
             - verba volant, scripta manent -
    (discussions get forgotten, just code remains)

View raw message