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:
- make smileys as well as icons themable per-theme, otherwise, why are they stored with one?
- make sure the wiki-parser can request which text fragments have to be turned into smileys
- if we don't make them themeable seperately, they may as well get their own directory, and be more cacheable.
- It should definitely be a real directory
- some OS have issues with links at all
- adding option for following symlinks is a pain
- It should definitely be a real directory
-- HeatherStern