User:TerryE/phpBB3.0.5 Migration/Follow-up Issues and Actions

From Apache OpenOffice Wiki
< User:TerryE
Revision as of 22:29, 17 May 2009 by TerryE (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

OOo Community Forums Migration phpBBV3.0.4 Follow-up Issues and Actions

I have included the list of issue in alphabetic order below.

Attachment Quotas (Closed)

I set the attachment quotas on the EN and FR boards as 300Mb and 500Mb respectively, with the other boards are set at 100Mb for now. Unfortunately I used the values 300Mb where this should have been a number which resulted in attachments being disabled. The first time I fixed it, I had finger trouble on the update (accidentally typing a ";" before the where clause in a update has a disastrous result :lol:).

"Oups, seems there is a problem in the counts bottom of page: all are set to 314,872,800 topics/posts/users!"

Another hour extracting and restoring phpbb_XX_config tables from the last backup and rolling forward the changes that I made.

Banned user flag on viewtopics and viewforum

Caching Setup and Policy

I have enabled the APC (Another Php Cache) cache for the site.

apc.enabled=1
apc.shm_segments=1
apc.cache_by_default=1
apc.optimization=0
apc.shm_size=64
apc.ttl=240
apc.user_ttl=240
apc.gc_ttl=120
apc.stat=1
apc.num_files_hint=1024
apc.user_entries_hint=200
apc.mmap_file_mask=/dev/zero
apc.enable_cli=1

APC seems to work fine apart from the setting apc.stat=1 doesn't seem to work in CSK 1.3.1. It worked fine in 1.3. Something to track down when I have time. In the meantime, the simplest workaround is to restart Apache is any of the cache Software is updated.

Any time phpBB executes a SQL query, style template, or dataset retrieval, it creates an md5 of the sql query / tempate and stores this under the name sql_<md5Value> in the cache (or euqivalent for the other types). Before executing the query, it does an existence check for the file andexecutes an @include it to evaluate it. PHP loades the cached bytecode version instead. Here is a typical example
      <?php
       /* SELECT COUNT(DISTINCT s.session_ip) as num_guests FROM phpbb_en_sessions s \
          WHEREs.session_user_id = 1 AND s.session_time >= 1242322740 AND s.session_forum_id = 61   */
       $expired = (time() > 1242323134) ? true : false;
       if ($expired) { return; }
       $this->sql_rowset[$query_id] = unserialize('a:1:{i:0;a:1:{s:10:"num_guests";s:1:"0";}}');
       ?>
This code sets the boolean $expired and if false then also returns the results set. If true or the file doesn't exist then the execution does the SQL query then creates this file (but only for what the application deems as reusable queries). With this phpBB cache the results are latched for a specific time (in this example the expiry time was some 6 mins after the start of the session) even if the underlying DB data has changed. Thanks to the APC, the code for this is also cached to executing this is quick. This approach is different to the MySQL cache, where the execution plan for each SQL queries is cached in an LRU buffer. This saves parse costs, but the query is still re-evaluated each call.

Language Localisation

The out-of-the-box language packs contain some mistranslations that the NL Administrators and Moderators want changing.

Mail subscriptions aren't being Issued

Site Home Page (Closed)

I hadn't migrated this one so for a day, the home page as It works!. Oops. A few people raised this so I hacked quick-and-dirty home page based on the main OOo homepage and style. Since I didn't change the CSS, we've got a couple of wobbly columns. See user.services.OpenOffice.org for this example.

Drew is going to reimplement a proper home page.

I also had to add redirectors from /en to /en/forum, etc. Again symlink to a shared redirector the /var/www/phpBB-common folder.

Personal tools