[Phpmyadmin-devel] about PMA_THEME_VERSION

Sebastian Mendel lists at sebastianmendel.de
Wed Aug 2 17:20:39 CEST 2006


Marc Delisle schrieb:
> Sebastian Mendel a écrit :
>> Marc Delisle schrieb:
>>> Sebastian Mendel a écrit :
>>>> Marc Delisle schrieb:
>>>>> Michal Čihař a écrit :
>>>>>> Hi all
>>>>>>
>>>>>> I think this should go to -devel so I post it here :-).
>>>>>>
>>>>>> On Wed, 02 Aug 2006 08:23:31 -0400
>>>>>> Marc Delisle <Marc.Delisle at cegepsherbrooke.qc.ca> wrote:
>>>>>>
>>>>>>> I discussed with Sebastian and I would like your opinion, since 
>>>>>>> Sebastian and I disagree.
>>>>>>>
>>>>>>> In the doc we say
>>>>>>> "Themes within same generation should be backwards compatible
>>>>>>> - theme with version 2 should work in phpMyAdmin requiring version 1.
>>>>>>>
>>>>>>> Themes with different generation are incompatible."
>>>>>>>
>>>>>>> In Config.class.php, Sebastian marked deprecated PMA_THEME_VERSION and 
>>>>>>> PMA_THEME_GENERATION.
>>>>>>>
>>>>>>> In Theme.class.php, there is a checkVersion() function that
>>>>>>> 1. uses version_compare(), which would not give the level of 
>>>>>>> verification we need, and
>>>>>>> 2. is never used :)
>>>>>>>
>>>>>>> Sebastian says that a user should see all the installed themes and be 
>>>>>>> able to choose them, even if they are not compatible; he says that a 
>>>>>>> user should be able to notice by himself that a theme is outdated.
>>>>>> I think showing all themes is sensible way to go. Otherwise if user
>>>>>> installs old theme, it is hard to find out what's going on. And I saw
>>>>>> such problem several times.
>>>>>>
>>>>>> However user might not be able to notice this himself, so I'd put
>>>>>> warning on bottom of main.php if theme is outdated (saying that some
>>>>>> parts might be displayed wrongly due to too old theme).
>>>>> Yes, or add something like "outdated" in the dropdown next to an 
>>>>> outdated theme?
>>>>>
>>>>>> The only problem is how to check whether theme is compatiblem.
>>>>>> I thought generation/version will be best solution when I wrote that
>>>>>> code, because I expected theme changes don't have to be with each
>>>>>> version...
>>>>> It's possible to split the new $theme_full_version in 2 parts and do a 
>>>>> check similar to what was in 2.7.0.
>>>> i would prefer using version_compare() and a single version number (2.3)
>>>> and not splitted up in two variables
>>>>
>>>> but of course we could make the theme version independent of phpMyAdmin
>>>> version
>>> I'm not saying that we have to use 2 variables in info.inc.php, just 
>>> internally.
>>>
>>> With version_compare(), how do you implement this:
>>>
>>> if ($theme_generation != PMA_THEME_GENERATION)
>>>      continue; // different generation
>>>
>>> if ($theme_version < PMA_THEME_VERSION)
>>>     continue; // too old version
>> this is not required
>>
>> if (! version_compare($pma_theme_version, $theme_version)) {
>>     $display_outdated_theme_warning = true;
>> }
>>
>>
> I think we have a misunderstanding about the meaning of the generation 
> and version numbers.
> 
> Take the aqua theme. We have the aqua-2.1.zip file in which the 
> generation is 2 and the version is 1. So generation is the major number 
> and version is the minor one.
> 
> The goal (at least in PMA 2.7.0) is that the generation (major number) 
> must be identical for the theme to work at all.
> 
> Theme 2.1 and PMA requires 3.5 -> theme rejected
> Theme 4.0 and PMA requires 3.5 -> theme rejected
> 
> For the minor number (version), it was rejected only if lower.
> 
> Theme 2.8 and PMA requires 2.8 -> theme accepted
> Theme 2.8 and PMA requires 2.6 -> theme accepted
> Theme 2.4 and PMA requires 2.6 -> theme rejected

yes, but if we don't restrict themes and just display a warning it is
not necessary to now 'how' old a theme is, if version is not the same we
just display the warning


> The goal of accepting a minor theme version greater than what PMA 
> expects was to use a recent custom theme (say 2.6) with an older PMA 
> version (but the major number must always be identical). Probably the 
> newer theme has more CSS into it and the older PMA version does not use 
> it so everything is ok.
> 
> So we no longer permit that?
> When exactly should we increase the minor version number now?
> 
> Also, please try
>   if (!version_compare('2.6','2.6')) echo "not";
> 
> I get "not".

was only a fast example,

if (version_compare('2.6','2.6') !== 0) echo "not";


i used phpMyAdmin version numbers to easily track changes in
phpmyadmin.css.php and apply only changes made after the theme was
released tracked by the theme version - it was just the easiest way

if i update a theme i give it the verion to which i updated it

in phpmyadmin.css.php i can easily apply only things that changed after
the last update of the theme and using phpMyAdmin version numbers makes
it more transparent


-- 
Sebastian Mendel

www.sebastianmendel.de




More information about the Developers mailing list