1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
This document explains how to install the forum-list bridge. This is very
much a work in progress.
1. Check out the bridge code from SourceForge:
svn co https://vassalengine.svn.sourceforge.net/svnroot/vassalengine/site-src/trunk/bridge
(Note: The code is in the VASSAL repository at present because it was
developed for VASSAL's forum. I will probably move it to its own repo
at some point.)
2. Two modifications need to be made to phpBB's posting.php to set up
the bridge in the forum-to-list direction. You can get the changes by
applying posting.patch to posting.php.
Note that after applying the patch, you'll need to modify the path in
each new require_once to match where you've put the bridge files.
3. For the list-to-forum direction, you need to set up an alias to receive
mail from your list. I'm using postfix, so I added this to my /etc/aliases:
forum-bridge: "|/usr/local/lib/bridge/postfix_handoff.pl"
Here, forum-bridge should be whatever you want the bridge address to be named,
and the path you should adjust to wherever you put postfix_handoff.pl. (Mine
is where it is due to SELinux issues.) Adjust the URL in postfix_handoff.pl
as needed.
Then, subscribe your bridge address to your mailing list.
4. Bridge database: The bridge keeps a database which maps
* Create a MySQL database, and populate it using src/schema.sql.
* Create a user for the DB, put the database name, username, and password
into BridgeConf.php. (BridgeConfg.php.example is given as an example.)
* The posts table correlates phpBB post ids with email message ids. This
table is filled as posts are made. There's nothing to configure here.
* The forums table maps each list address to the id of the forum which
receives its messages by default. E.g., mine contains one row,
'messages@vassalengine.org', 2
This means that messages coming in from the mesages@vassalengine.org list
which would start new threads on the forum will start those new threads in
the forum with id 2. (Incoming messages which are part of existing threads
are posted to those threads.) If I had more than one list in use, I could
direct its new posts to forum 2, or some other forum, if I so chose.
* The lists table maps each forum id to the address of the list which
receives its messages. I have forums with ids 2-9, so I have these
eight rows:
'messages@vassalengine.org', 2
...
'messages@vassalengine.org', 9
E.g., this means that messages posted to the forum with id 3 are sent
out to the messages@vassalengine.org list. (You could, in principle,
direct posts in different forums to different lists; I just happen not
to in my current setup.)
5. Other adjustments:
* Set $php_root_path in PhpBB3Conf.php.
* $sender in forum_post_send.php should match the bridge address.
* The regex which strips the list footer in PhpBB3.php will need to be
adjusted to match your list footer.
6. TODO:
* Installation could be improved somewhat, e.g., by pulling all
configuration data into one file.
* $sender and list footer should be configured per-list and pulled from
the lists table.
* There are PHPUnit tests in test/. More tests should be written. All
existing tests should pass, but don't at present.
WARNING: DO NOT run the tests on a live forum, as they will blow away
your phpbb_users table.
Joel Uckelman
uckelman@nomic.net
29 July 2010
|