Project

General

Profile

Forum conversion » History » Revision 14

Revision 13 (Amber Herold, 07/08/2010 04:53 PM) → Revision 14/41 (Amber Herold, 07/09/2010 11:45 AM)

h1. Forum conversion 

 Notes on porting the Leginon BB to Redmine 

 # Add Forums  
 ## create new colum for bb forum id by hand 
 ## insert the bb forums  
 # Add column to redmine message db for bb post id 
 # Import all posts to current forums (map forum id's), saving bb post id to new column id's) 
 # enter messages parent ids 
 # edit posts to put into new forum 
 # delete unwanted forums 


 h2. Redmine DB Tables 

 +Messages+ 

 id    	   board_id    	   parent_id    	   subject    	   content    	   author_id    	   replies_count    	   last_reply_id    	   created_on    	   updated_on    	   locked    	   sticky 

 +Boards+ 

 id    	   project_id    	   name    	   description    	   position    	   topics_count    	   messages_count    	   last_message_id 


 +Users+ 

 id    	   login    	   hashed_password    	   firstname    	   lastname    	   mail    	   mail_notification    	   admin    	   status    	   last_login_on    	   language    	   auth_source_id    	   created_on    	   updated_on    	   type    	   identity_url 


 h2. BB DB Tables 

 +Notre_forums+ 

 forum_id    	   parent_id    	   left_id    	   right_id    	   forum_parents    	   forum_name    	   forum_desc    	   forum_desc_bitfield    	   forum_desc_options    	   forum_desc_uid    	   forum_link    	   forum_password    	   forum_style    	   forum_image    	   forum_rules    	   forum_rules_link    	   forum_rules_bitfield    	   forum_rules_options    	   forum_rules_uid    	   forum_topics_per_page    	   forum_type    	   forum_status    	   forum_posts    	   forum_topics    	   forum_topics_real    	   forum_last_post_id    	   forum_last_poster_id    	   forum_last_post_subject    	   forum_last_post_time    	   forum_last_poster_name    	   forum_last_poster_colour    	   forum_flags    	   display_subforum_list    	   display_on_index    	   enable_indexing    	   enable_icons    	   enable_prune    	   prune_next    	   prune_days    	   prune_viewed    	   prune_freq 

 +Notre_posts+ 

 post_id    	   topic_id    	   forum_id    	   poster_id    	   icon_id    	   poster_ip    	   post_time    	   post_approved    	   post_reported    	   enable_bbcode    	   enable_smilies    	   enable_magic_url    	   enable_sig    	   post_username    	   post_subject    	   post_text    	   post_checksum    	   post_attachment    	   bbcode_bitfield    	   bbcode_uid    	   post_postcount    	   post_edit_time    	   post_edit_reason    	   post_edit_user    	   post_edit_count    	   post_edit_locked 



 +Notre_topics+ 

 topic_id    	   forum_id    	   icon_id    	   topic_attachment    	   topic_approved    	   topic_reported    	   topic_title    	   topic_poster    	   topic_time    	   topic_time_limit    	   topic_views    	   topic_replies    	   topic_replies_real    	   topic_status    	   topic_type    	   topic_first_post_id    	   topic_first_poster_name    	   topic_first_poster_colour    	   topic_last_post_id    	   topic_last_poster_id    	   topic_last_poster_name    	   topic_last_poster_colour    	   topic_last_post_subject    	   topic_last_post_time    	   topic_last_view_time    	   topic_moved_id    	   topic_bumped    	   topic_bumper    	   poll_title    	   poll_start    	   poll_length    	   poll_max_options    	   poll_last_vote    	   poll_vote_change 

 +Notre_users+ 

 user_id    	   user_type    	   group_id    	   user_permissions    	   user_perm_from    	   user_ip    	   user_regdate    	   username    	   username_clean    	   user_password    	   user_passchg    	   user_pass_convert    	   user_email    	   user_email_hash    	   user_birthday    	   user_lastvisit    	   user_lastmark    	   user_lastpost_time    	   user_lastpage    	   user_last_confirm_key    	   user_last_search    	   user_warnings    	   user_last_warning    	   user_login_attempts    	   user_inactive_reason    	   user_inactive_time    	   user_posts    	   user_lang    	   user_timezone    	   user_dst    	   user_dateformat    	   user_style    	   user_rank    	   user_colour    	   user_new_privmsg    	   user_unread_privmsg    	   user_last_privmsg    	   user_message_rules    	   user_full_folder    	   user_emailtime    	   user_topic_show_days    	   user_topic_sortby_type    	   user_topic_sortby_dir    	   user_post_show_days    	   user_post_sortby_type    	   user_post_sortby_dir    	   user_notify    	   user_notify_pm    	   user_notify_type    	   user_allow_pm    	   user_allow_viewonline    	   user_allow_viewemail    	   user_allow_massemail    	   user_options    	   user_avatar    	   user_avatar_type    	   user_avatar_width    	   user_avatar_height    	   user_sig    	   user_sig_bbcode_uid    	   user_sig_bbcode_bitfield    	   user_from    	   user_icq    	   user_aim    	   user_yim    	   user_msnm    	   user_jabber    	   user_website    	   user_occ    	   user_interests    	   user_actkey    	   user_newpasswd    	   user_form_salt 


 h2. Conversion tables 


 h3. Redmine Users 

 Search for the user to have an existing entry, if not their posts will be assigned to anonymous. 

 |_.Redmine Entry|_.BB Entry| 
 |id|| 
 |login|notre_users->username| 
 |hashed_password|| 
 |firstname|| 
 |lastname|| 
 |mail|Notre_users->user_email| 
 |mail_notification|| 
 |admin|| 
 |status|| 
 |last_login_on|| 
 |language|Notre_users->user_lang| 
 |auth_source_id|| 
 |created_on|| 
 |updated_on|| 
 |type|| 
 |identity_url|| 


 h3. Redmine Boards 

 We will create these from scratch - Development, Using Leginon, Using Appion, Tomography, Installation, Administration Tools 

 |_.Redmine Entry|_.BB Entry| 
 |id||    	  
 |project_id|(the leginon id)|    	  
 |name|Notre_forums->forum_name| |name||    	  
 |description|Notre_forums->forum_desc| |description||    	  
 |position||    	  
 |topics_count||    	  
 |messages_count||    	  
 |last_message_id|| 
 |bb_forum_id|Notre_forums->forum_id| 



 h3. Redmine Messages 

 |_.Redmine Entry|_.BB Entry| 
 |id||    	  
 |board_id|map forum ids| 
 |parent_id|Add these as second step after all posts moved over, Notre_posts->topic_id->Notre_topics->topic_first_post_id->Redmine Messages->bb_post_id->id| |parent_id|Notre_posts->topic_id->Notre_topics->topic_first_post_id|    	  
 |subject|Notre_posts->post_subject|    	  
 |content|Notre_posts->post_text (need to get BLOB)|    	  
 |author_id|Notre_posts->poster_id->Notre_users->user_email->Users->mail->Users->id, if does not exist assign to anonymous| |author_id|Notre_posts->poster_id->Notre_users->user_email->Users->mail->Users->id|    	  
 |replies_count|Set all to 0 then check Notre_topics->topic_first_post_id and update that message with Notre_topics->topic_replies|    	  
 |last_reply_id|Set all to NULL then check Notre_topics->topic_first_post_id->Redmine Messages->bb_post_id->id Notre_topics->topic_first_post_id and update that message with Notre_topics->topic_last_post_id->Redmine Messages->bb_post_id->id| Notre_topics->topic_last_post_id|    	  
 |created_on|Notre_posts->post_time (may need a conversion)|    	  
 |updated_on|Notre_posts->post_edit_time (may need a conversion)|    	  
 |locked|Notre_posts->post_edit_locked|    	  
 |sticky|no| 
 |bb_post_id|Notre_posts->post_id|