[dev] Horde "personalities"

Kevin Myer kevin_myer at iu13.org
Thu May 26 10:01:35 PDT 2005


Quoting Jan Schneider <jan at horde.org>:

>> A unified theme directory structure, like so:
>>
>> horde/themes
>> horde/themes/graphics
>> horde/themes/graphics/imp
>> horde/themes/audio
>> horde/themes/audio/imp
>> horde/themes/mytheme
>> horde/themes/mytheme/graphics
>> horde/themes/mytheme/graphics/imp
>> horde/themes/mytheme/audio
>> horde/themes/mytheme/audio/imp
>>
>> would be much easier to manage then the current setup, which has bits
>> scattered
>
> No, the opposite is true. Remember that theme files are distributed
> with application tarballs. Requiring administrators to copy them to
> several directories inside horde would be much worse.
>

The current distribution method distributes new themes with the 
application. I'm proposing a centralized approach to that - do away with
horde/<module>/themes/mytheme and replace it with 
horde/themes/mytheme/<module>
and distributed all module themes with the theme tarball.

If I have five modules installed and I develop a new theme, currently, 
I have to
a) either get that theme included with all five modules in the official Horde
distribution of the module, or b) install bits of that theme in five different
modules directories.

I'm saying that it would be easier to install all theme related data 
inside the
theme framework (horde/themes).  Its easier to have it all available, and not
use it all, then it is to have to install the parts you want in a number of
separate locations.  Steps for install would then be:

cd horde/themes && tar zxvf mytheme.tar.gz && [edit info.php] (contents of
tarball as described in directory structure above)

Currently, to install a theme that is supported in multiple modules, I need to
(contents of theme tarball are specific to each module, resulting in multiple
tarballs):

cd horde/themes && tar zxvf horde-mytheme.tar.gz && [edit info.php] && cd
../imp/themes && tar zxvf imp-mythemes.tar.gz && cd ../../turba/themes && tar
zxvf turba-mythemes.tar.gz && so on and so forth.

If you are a theme author and you develop a theme for Horde currently, 
you need
to distribute N tarballs for N modules and they all need to be installed in
different locations.  If the Horde Developers rewrite some code and rearrange
theme directories to support a centralized location, you need only distribute
one tarball.

>
> Not quite. The directory structure will stay as-is, see above. But a
> central repository would be great, not only for themes, but also for
> Blocks.

How to do that, then?  Wiki?  Telling users or administrators to search the
mailing lists to find additional bits needed to provide eye candy enhancements
doesn't encourage adoption of the eye candy or the software :) On the other
hand, pointing requests to a FAQ link that in turn points you to a Wiki entry
or other browseable selection of eye candy entrees would certainly help
facilitate that.  What about using merk for that?  Hrm, for that matter, what
about using merk to let Horde users shop for the modules they want and the
add-ins they want and when they checkout, they get a customized tarball of
their selections? :)

>> Also, the concept of a theme is not well expressed in the Horde Options
>> screen. Its really more than just a color scheme - its color, and
>> icons, and audio and
>> I'd vote for a more all-encompassing term to define that - skin, theme,
>> personality, whatever-you-want-to-call-it..
>
> I don't consider this such an important feature that is has to stand
> out, and remember that audio support has just been added, so "theme"
> described what we had so far pretty well.

I was looking forward, not to what was there (probably more important things
need coded though ;)  From the point that audio was added, you want to
communicate to the user that the option that was previously used to control
color scheme has been expanded and now controls more than that.

Something like:

--- prefs.php.dist      2005-05-25 11:26:39.000000000 -0400
+++ prefs.php.dist      2005-05-26 12:15:58.000000000 -0400
@@ -293,7 +293,7 @@
     'locked' => false,
     'shared' => true,
     'type' => 'select',
-    'desc' => _("Select your color scheme.")
+    'desc' => _("Select your theme, which contols your color, icons, 
and audio
notifications.")
);

// categories

Kevin

-- 
Kevin M. Myer
Senior Systems Administrator
Lancaster-Lebanon Intermediate Unit 13  http://www.iu13.org




More information about the dev mailing list