==== SOME FORUM FEATURES MAY DISAPPEAR TO PREP FOR THE INTEGRATION ====
*Search around and posts links/ideas here
/Change Log/ 1. Links added for the software and post, more instructions and info added (July 13) 2. Added settings.py to the thread (July 14
==ACTIVEBOARD TO SMF/phpBB CONVERSION INSTRUCTIONS==
[To convert to a different forum software, modify members_topics_posts.py accordingly]
Before you begin, make some settings that will improve conversion (if you don't, conversion may randomly fail and/or crash!):
In your Profile -> Settings page, change the options to these values:
Show Signatures: No (signatures won't load on member pages, and on regular pages they serve only to break conversion -- i.e. signatures are NOT converted)
Comments Per Page: 50 to 100 (the more stuff on a page, the less overhead)
Topics Per Page: 50 to 100 (ditto)
Date and Time Format: 12:34:56 07/08 2009 format (the wrong one will cause all date conversions to fail, probably breaking the resulting SQL file) This is probably fourth from the bottom.
Text Translation to Use: English
You're set.
==REQUIRED STUFF==
A Web Server with [preferably] MySQL.
Forum Software installed on this web server, configured and ready to go. SMF is recommended for a variety of minor reasons, but anything else will do (when/if people write the backends for them, or you could do that yourself; see notes in the .py scripts)
Database Access - need to be able to INSERT and TRUNCATE (usually available with most hosts)
Python (at least version 2.4) - http://www.python.org for download
[Also: a working knowledge of programming, esp. Python would be helpful, but not required.]
**N.B. Read all comments in settings.py to understand what each setting does! Setting bad settings may result in a poor quality conversion (missing stuff), a broken board, or no conversion at all.
=FORUM STRUCTURE=
Just create new forums and categories in whatever forum software you will be using. Please note the ID corresponding to each board.
=POSTS AND TOPICS=
2) Change some settings in settings.py (edit the file)
table_prefix
When you set up your forum software, what prefix did you use (default will depend on the exact software used; it's usually the product name plus an underscore; phpBB_ or smf_)
AB_BOARD_IS_SIMPLE
Set to True if the board is simple (has only one layer of topics, no categories or subforums); False otherwise
AB_BOARDS
The first setting of AB_BOARDS is for simple boards, the second is for complex boards.
Since ActiveBoard identifies boards by a long numeric ID while all other forum software uses small numbers, this variable maps ProBoards board names onto your forum's new IDs. When you created each new forum/board in your forum software, an ID was created for it. Map ActiveBoard IDs to SMF/phpBB IDs here.
COOKIEDATA
Get this by entering this into the address bar while viewing any page in your IF forum:
javascript:document.cookie
and copying the entire text that appears.
The COOKIEDATA line should look like
COOKIEDATA=''
with the single quotes around your data.
FORUMID
The Forum ID of your board (whatever number is after forum.spark?forumID=)
URL
URL to forum.spark. The default should be correct.
[Member settings]
RANDOMNUMBER
a randomly chosen number used to generate member passwords, so they stay the same from run to run.
postgroup
Definitions for postgroups, IDs as in SMF.
ADMINS
a set/list of the Admin user IDs (as they are in ActiveBoard). This allows the script to correctly set up the admin users.
3) Run the members_topics_posts.py Python script (Windows: double click it; *nix use "python members_topics_posts.py" as a command)
4) Execute the SQL batch file topics_posts.sql in the forum database
5) Execute the SQL batch file members.sql in the forum database
6) To notify members of the new passwords (randomly generated), run the pm_passwords.py file (configuring settings.py first to suit your needs).
[in settings.py]
waittime
Time to wait (in seconds) between successive PMs. Admins can set this to zero.
pm_passwords.py will produce errors and quit if it detects that the timeout is too short.
n.b. it appears that ActiveBoard has no wait time. If this is the case, set this to 0.
msgtitle
The title of the personal message to send
msgbody
The text in the personal message. %%0A is a line break (new line), %s is the password (use this only once!)
If you must use a % sign for any reason, place two of them (%%), only one will show up in the PM. Failure to do so will result in a failed script run!
7) Find and repair any errors, Recount all forum totals and statistics (both in Admin/ Forum Maintainance) for SMF. This causes SMF to correctly integrate the new posts and topics.
=FINAL TOUCHES=
Make sure to set your forum permissions correctly.
Manually add any moderators, themes or other settings.
=BUGS/INCOMPLETE CONVERSION NOTES
-No Attachments
-No Polls
-No special membergroups (admins specified in the ADMIN variable get member group 1, all others 0)
# Prefix of your forum tables (default smf_ for SMF, phpbb_ for phpBB)
table_prefix='smf_'
# Is the board a simple board (no subforums)?
# If so, set this to "True".
# "False" means multiple boards (subforums, categories, etc.)
AB_BOARD_IS_SIMPLE = False
if AB_BOARD_IS_SIMPLE:
# If the board is simple, map the single board onto an SMF board
# 1 is the ID of the destination board on SMF/phpBB.
AB_BOARDS={0:1}
else:
# If the board has multiple subforums, map the boards onto SMF boards.
# This variable is a "map" of ActiveBoard board subForumIDs to SMF/phpBB board IDs.
# Format: {1234:1,5678:3} where 1234,5678 are the ActiveBoard IDs and 1,3
# represent the IDs of the corresponding boards on your new forum.
AB_BOARDS={1234:1,5678:3}
# PLACE COOKIE DATA HERE.
# Visit the forum, login and type "javascript:document.cookie" (w/o quotes) into the address bar. Copy all the text to COOKIEDATA and put single quotes (') around it.
COOKIEDATA='COOKIE DATA GOES HERE BETWEEN THE QUOTES'
# ForumID value
FORUMID=12345
# URL (probably doesn't need to be changed)
URL='http://www.activeboard.com/forum.spark'
# ---MEMBER SETTINGS---
# A random number, used to seed the passnumber generator. You'll want to keep this a secret! CHANGE THIS.
# Keep this the same across runs, because this ensures that the same passwords
# are assigned to the same people.
RANDOMNUMBER=12345678
# Here, define the postgroup based groups.
def postgroup(posts):
if posts>=500: return 8 # Hero Member
if posts>=250: return 7 # Sr. Member
if posts>=100: return 6 # Full Member
if posts>=50: return 5 # Jr. Member
return 4 # Newbie
# Administrators (member ids only please!): e.g. ADMINS=[18983,38821]
ADMINS=[]
# ---PERSONAL MESSAGE SETTINGS---
# Wait time between successive PMs. Admins can set this to zero; everyone else must use
# a non-zero value (default 2 seconds)
waittime=0
# Title for the new automated password messages
msgtitle="Password for New Forums"
# What to say. Place "%s" (without quotes) at the location you want the password to be.
# Use "%%0A" (without quotes) in place of a line break.
msgbody="Your password for the new forums at http://yournewforums.com is %s. The first time you login, you may be prompted to login again because of upgraded security. This will only occur once. After logging in, please change your password!%%0A%%0AThis is an automated message."
if __name__=='__main__':
raw_input("This is not meant to be run. Please edit this file and follow the instructions. Press to close.")
-- Edited by Admin at 21:51, 2008-07-13
-- Edited by Admin at 13:16, 2008-07-14
-- Edited by Admin at 15:00, 2008-07-14
__________________
John 14:6
Jesus answered, "I am the way and the truth and the life. No one comes to the Father except through me."