]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - serialized/README
MediaWiki 1.14.0
[autoinstallsdev/mediawiki.git] / serialized / README
1 This directory contains data files in the format of PHP's serialize() function. 
2 The source data are typically array literals in PHP source files. We have 
3 observed that unserialize(file_get_contents(...)) is faster than executing such 
4 a file from an oparray cache like APC, and very much faster than loading it by 
5 parsing the source file without such a cache. It should also be faster than 
6 loading the data across the network with memcached, as long as you are careful 
7 to put your MediaWiki root directory on a local hard drive rather than on NFS. 
8 This is a good idea for performance in any case.
9
10 To generate all data files:
11
12    cd /path/to/wiki/serialized
13    make
14
15 This requires GNU Make. At present, the only serialized data file which is 
16 strictly required is Utf8Case.ser. This contains UTF-8 case conversion tables, 
17 which have essentially never changed since MediaWiki was invented. 
18
19 The Messages*.ser files are localisation files, containing user interface text 
20 and various other data related to language-specific behaviour. Because they 
21 are merged with the fallback language (usually English) before caching, they 
22 are all quite large, about 140 KB each at the time of writing. If you generate 
23 all of them, they take up about 20 MB. Hence, I don't expect we will include 
24 all of them in the release tarballs. However, to obtain optimum performance, 
25 YOU SHOULD GENERATE ALL THE LOCALISATION FILES THAT YOU WILL BE USING ON YOUR 
26 WIKIS.
27
28 You can generate individual files by typing a command such as:
29    cd /path/to/wiki/serialized
30    make MessagesAr.ser
31
32 If you change a Messages*.php source file, you must recompile any serialized 
33 data files which are present. If you change MessagesEn.php, this will 
34 invalidate *all* Messages*.ser files. 
35
36 I think we should distribute a few Messages*.ser files in the release tarballs,
37 specifically the ones created by "make dist".