IconReFactoring

Upon trying to do some cool stuff theming, I notice that "icons" are themable, but smileys are not.

Since smileys are stored inside the themes this is confusing.

In the code, smileys are accessed via config.py, which in theory suggests that they are the sorts of things a sysadmin may want to override. However, since they're global, right now the smileys in all the themes should have to match in size (even if they look different).

Even more trouble for the people who only want to override a few smileys or a few icons; can a few of them be overridden without having to declare the others? or would such absence result in many usable icons being wiped out? Eek.

One shouldn't need to be quite as hefty a master of python just to create a "bigger icons" theme.

   1 01:07 < starshine> hrmmmm bug.
   2 01:07 < starshine> smileys are declared in sitewide config but kept stored as extra copies per theme.
   3 01:08 < starshine> it should either belong to the theme and be overridable there, or it should be stored in one place a'la underlay
   4 01:16 < xorAxAx> yep
   5 01:19 < starshine> or both...
   6 01:19 < starshine> sitewide "default" smileys but overridable by theme
   7 01:19 < starshine> where the themes that come with it wouldn't probably bother
   8 01:20 < starshine> that is, "default" smileys would be in ThemeBase
   9 01:22 < starshine> possibly, the themese could contain a subdir for smileys, which for the most of them is a symlink to a shared batch, but which a themer could replace with a real dir.
  10 01:23 < starshine> but putting them in ThemeBase would change how they're called from other things wouldn't it... how many things use smileys ?
  11 01:27 < starshine> weird, how does Page.pyc mention smileys when Page.py doesn't ?
  12 01:29 < xorAxAx> starshine: maybe its old?
  13 01:30 < starshine> I was wondering that
  14 01:30 < starshine> except that I always move the moin code dir before a recompile
  15 01:30 < starshine> s/compile/install/
  16 01:31 < xorAxAx> just delete it
  17 01:31 < xorAxAx> it will be recreated
  18 01:31 < xorAxAx> if permissions allow that
  19 01:34 < starshine> all the pyc are basically the same timestamp.
  20 01:34 < ThomasWaldmann> moin
  21 01:34 < starshine> moin TW
  22 01:35 < ThomasWaldmann> starshine: symlinks are no option for win32
  23 01:35 < starshine> would it be hard to have wikiparser access smileys if they were in the theme?
  24 01:36 < starshine> (share/moin/htdocs)/smileys/ maybe ?
  25 01:39 < ThomasWaldmann> smileys ARE in the theme
  26 01:40 < starshine> unless they've moved between 707 and 726 they aren't
  27 01:40 < starshine> they're in config.py
  28 01:40  * ThomasWaldmann meant the icon files
  29 01:41 < starshine> got the icon files settled
  30 01:42 < ThomasWaldmann> hmm, before we change anything there, maybe we should make a wiki page about it, containing:
  31 01:42 < starshine> I can declare the smileys but I'd have to figure out how to "undeclare" them back to default when people change back to a base theme :/
  32 01:42 < ThomasWaldmann> a) what problem do we try to solve
  33 01:42 < ThomasWaldmann> b) a plan for solving
  34 01:42 < starshine>  I was checking bugs to see if something like it was already there..
  35 01:43 < ThomasWaldmann> the plan should include some thoughts about caching
  36 01:43 < starshine> yeah /wiki/smileys/ as shared dir would be good for that
  37 01:44 < ThomasWaldmann> and maybe a distinction between content and frame stuff
  38 01:45 < starshine> frame?
  39 01:45 < ThomasWaldmann> navibar e.g.
  40 01:45 < starshine> oh, header footer type stuff.
  41 01:46 < starshine> the glitz as I put it.
  42 01:46 < ThomasWaldmann> if we have a good plan in the wiki, we can start to change :)
  43 01:46 < xorAxAx> ntfs supports symlinks, but just for directories .)
  44 01:46 < starshine> it's more a design issue than a bug
  45 01:46 < starshine> xorAxAx: that'd be sufficient but, I think we wanna support plain mswin too
  46 01:47 < xorAxAx> starshine: why is that sufficient?
  47 01:48 < starshine> xorAxAx: if smileys all live in one directory under "their theme" but it is a symlink to the place where they are shared, it at least saves storage
  48 01:48 < xorAxAx> why do they have to live there?
  49 01:49 < xorAxAx> you will have problems with most apaches
  50 01:49 < xorAxAx> they dont follow symlinks
  51 01:49 < starshine> hrmm
  52 01:49 < starshine> declare as ../smileys/frown.png ?
  53 01:50 < starshine> sucks for cahcing, urls look like /wiki/modern/../smileys/frown.png and /wiki/classic/../smileys/frown.png ..
  54 01:53  * starshine can't even decide what to call the page to chase this idea round..
  55 01:54 < ThomasWaldmann> we dont use symlinks
  56 01:54 < starshine> forget symlinks then
  57 01:54 < ThomasWaldmann> IconRefactoring
  58 01:54 < lydon> Options FollowSymLinks
  59 01:55 < ThomasWaldmann> and we dont need to save icon storage space
  60 01:55 < starshine> lydon: as opposed FollowSymlinksIfOwnerMatch ?
  61 01:55 < starshine> SmileysShouldBeThemable
  62 01:55 < lydon> IfOnwerMatch is more secure
  63 01:56 < ThomasWaldmann> that plan should definitely indicate what's the problem we try to solve.
  64 01:56 < starshine> presently they're stored inside the theme which implies that they are, but in practice they're not unless you zap the smileys in all themes at the same time.
  65 01:56 < lydon> but if the apache don't follows symlinks there is an easy solution if copying needs to much space (hardly true for icons)
  66 01:56 < lydon> hardlinks
  67 01:56 < ThomasWaldmann> the current system is a quite simple one, if we make it more complicated and make all theme authors redesign their stuff (in case it is no compatible), we need good reasons
  68 01:56 < starshine> well there are the people who are eager to shave off languages for space considerations.
  69 01:57  * lydon does so
  70 01:57 < starshine> I only want to be able to override smileys, not make everything have to hop about them
  71 01:57 < ThomasWaldmann> no, most are doing that to reduce page count, not storage
  72 01:57 < starshine> right *now* if I change them I have to change them all :(
  73 01:57 < ThomasWaldmann> (excluding someone with a 5000 files quota)
  74 01:58 < ThomasWaldmann> (which is insane for a wiki anyway)
  75 01:58 < starshine> yeah what's the 4999th page maker supposed to get, a medal for breaking the wiki?
  76 01:59 < xorAxAx> starshine: we need more than one file per page
  77 01:59 < ThomasWaldmann> it will be rather the make of the 100th page
  78 01:59 < starshine> .o( it really dies a lot earlier :)
  79 01:59 < starshine> ok we're all on the same page about *that* 
  80 02:00 < ThomasWaldmann> make it a page or it will be lost here....
  81 02:00 < ThomasWaldmann> bbl

So I did. So it's not so much a bug, as a design issue:

-- HeatherStern

MoinMoin: IconReFactoring (last edited 2007-10-29 19:13:28 by localhost)